Speaking about "Relational World" is better to use Classes/Tables of package
INFORMATION.SCHEMA
In this post has a little example: https://community.intersystems.com/post/describe-table-cache-db?page=1#comment-128856
Regards.
- Log in to post comments
Speaking about "Relational World" is better to use Classes/Tables of package
In this post has a little example: https://community.intersystems.com/post/describe-table-cache-db?page=1#comment-128856
Regards.
Updated link to the badge https://www.youracclaim.com/badges/30f9d00f-82a3-45ab-a879-b83a7053f00d…
Maybe using the property parameter :
(CONTENT = "ESCAPE")
Hi Jens,
You need to setup the port in the adapter settings.
In the method SendFormDataArray all adapter settings is passed to http request object.
.png)
Hi Lucas,
That I have been know, ISC don't have native tool for data masking.
Look at this open source project, maybe help you.
GitHub - TheSoftwareHouse/fogger
I never been used this tool.
Regards.
Cristiano José da Silva.
Hi Raghu,
No, You doens't loose your persistant data. If you need to purge your data too, you need to create a trigger or implement callback method %OnDelete.
Using Triggers - Using InterSystems SQL - InterSystems IRIS Data Platform 2021.1
Defining Callback Methods - Defining and Using Classes - InterSystems IRIS Data Platform 2021.1
Regards.
Hi Muhammad,
See the documentation:
Regards
Cristiano Silva
Hi Harshdeep,
Yes. You can do this with data transformations. Note the HL7 framework is available on Iris for Health.
See the documentation:
Harshdeep ,
Yes, for each version you need a specific transformation, but from a single message you can transform and route to a different HL7 versions and systems using Routing Productions
See the documentation: Routing Production
Cristiano Silva.
Hi Philip,
The SQL projection of the property Skill of class myclass.DataBase is compounded by 3 $List.
To Insert via SQL use the following statement:
INSERT INTO myclass.DataBase VALUES ('My ID', $LISTBUILD($LISTBUILD($LISTBUILD('PSkill Value','OSkill Value'))))
Regards
Cristiano José da Silva
HI @phillip jack,
Like @Eduard Lebedyuk told, the better way is using stored procedures written in COS, but if you want to use only SQL you can try this:
SELECT ID, $LISTGET($LISTGET($LISTGET(Skill)),1) PSKILL, $LISTGET($LISTGET($LISTGET(Skill)),2) OSKILL FROM myclass.DataBase
.png)
If you change the serial object and add more properties increment the outer $LISTGET last parameter
Regards,
Cristiano José da Silva.
Hi Michel,
Yes, your SELECT statement returns the ID of he class. The ID of the %Dictionary.IndexDefinition class is compounded by parent||Name. The property parent is a reference to the class definition that contains the index.
See:
.png)
See the documentation for more information:
https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic…
Hi Prashanth,
You need to create another web application with Authentication Method equal unauthenticated.
Default web application:
.png)
Unauthenticated Web Application:
.png)
Samples of access:
.png)
Regards.
Cristiano José da Silva.
Hi Harshdeep,
The error invalid of is like a Java NullPointerException or NullReferenceException of .Net.
Check if intFaceDao or InterfaceDaoa are valid objects. Put these macros in you code e execute a test.
$$$LOGINFO("Check intFaceDado " _ ..Adapter.intFaceDao) $$$LOGINFO("Check DaoInterfaceDado" _ ..Adapter.intFace.DaoInterfaceDao)After execution, see in the Envent Log the result.
Regards
Hi Nilson,
Check the credentials (username and password) the error reported was "Access denied".
Hi Rochdi,
The HTTP error 500 indicates that something happened in the server that's cause a error.
I suggest you to do a test using postman or similar REST tool. If the works fine, maybe you can posted the JSON with some problem.
Another suggest, change your code :
While ('File.AtEnd) {
s Line=Line_File.Read(1000)_$char(10)
}
do Httprequest.EntityBody.Write(Line)
By:
do Httprequest.EntityBody.CopyFrom(File)
Regards.
Hi Evgeny,
You can handle deploy of Production Items and Configurations with the classes of package: Ens.Deployment
More about deployment of productions
Other way you can implement Production Source Control.
Regards.
Hi @Evgeny Shvarov,
Do you need to export the class definition of Productions Items? If yes, use the method ExportUDL of class %SYSTEM.OBJ
Regards.
Hi @Nezla
Complementing @David Hockenbroch answer, you need to change the If statement, because we can't compare TimeStamp directly, even in the internal format, because in the comparision they are treated like strings.
Use some one of these methods:
Hi @Mary George
Generally this message means that the Client disconnect from server because the request took to long time to reply.
See documentation description:
Could you, post the entire message trace?
Wonderful. I see the 20th message.
Hi @Mary George you can use the WebGateway EventLog to capture more informations about the request did to WebGateway.
See the documentation: https://docs.intersystems.com/iris20201/csp/docbook/DocBook.UI.Page.cls?KEY=GCGI_oper_config#GCGI_config_parms_system_event
Hi Andy,
The "problem" is that the Fetch is executed on the Namespace thats the zen page reside, and the data global doesn't exists or not mapped. A simple solution change the method to:
Method DataExtractionCurrent(Output tSC As%Status, pInfo As%ZEN.Auxiliary.QueryInfo) As%ResultSet [ ZenMethod ]
{
New$Namespaceset$Namespace = "DATAEXTRACTION"
#Dim result As%ScrollableResultSet = ##Class(%ScrollableResultSet).%New("%DynamicQuery:SQL")
Set tSC=result.Prepare("SELECT * from FairWarning_Table_Local.Logs")
Write !, tSC // value of 1Set tSC = result.Execute()
Write !, tSC // value of 1Set tSC = result.%Save() // The class use temp globals that are mappedWrite !, tSC // value of 1Return result
}Bellow a test if your code:
.png)
The suggested code:
.png)
Regards
Hi Kevin,
You can set programatically the value of property AppTimeout of the class %CSP.Session when the user login in the application.
Hi Maciej,
You can execute this query to achieve what you want:
SELECTName,
Super,
CASEWHEN Super [ 'InboundAdapter'THEN'InboundAdapter'ELSE'OutboundAdapter'END"Type"FROM"%Dictionary".ClassDefinition
WHERE
Super LIKE'%InboundAdapter%'OR Super LIKE'%OutboundAdapter%'In the IRIS 2021.1
| Name | Super | Type |
|---|---|---|
| Ens.Enterprise.MsgBank.BankTCPAdapter | EnsLib.TCP.InboundAdapter,EnsLib.TCP.CountedCommon | InboundAdapter |
| Ens.Enterprise.MsgBank.ClientTCPAdapter | EnsLib.TCP.OutboundAdapter,EnsLib.TCP.CountedCommon | OutboundAdapter |
| EnsLib.EDI.X12.Adapter.TCPInboundAdapter | EnsLib.TCP.InboundAdapter | InboundAdapter |
| EnsLib.EDI.X12.Adapter.TCPOutboundAdapter | EnsLib.TCP.OutboundAdapter | OutboundAdapter |
| EnsLib.EMail.InboundAdapter | Ens.InboundAdapter | InboundAdapter |
| EnsLib.EMail.OutboundAdapter | Ens.OutboundAdapter | OutboundAdapter |
| EnsLib.FTP.InboundAdapter | EnsLib.File.InboundAdapter,EnsLib.FTP.Common | InboundAdapter |
| EnsLib.FTP.OutboundAdapter | Ens.OutboundAdapter,EnsLib.FTP.Common,EnsLib.File.Common | OutboundAdapter |
| EnsLib.File.InboundAdapter | Ens.InboundAdapter,EnsLib.File.Common | InboundAdapter |
| EnsLib.File.OutboundAdapter | Ens.OutboundAdapter,EnsLib.File.Common | OutboundAdapter |
| EnsLib.Gateway.ServiceAdapter | Ens.InboundAdapter | InboundAdapter |
| EnsLib.HTTP.InboundAdapter | EnsLib.TCP.InboundAdapter | InboundAdapter |
| EnsLib.HTTP.OutboundAdapter | Ens.OutboundAdapter | OutboundAdapter |
| EnsLib.IWay.DSN.OutboundAdapter | EnsLib.TCP.CountedOutboundAdapter | OutboundAdapter |
| EnsLib.IWay.IBO.OutboundAdapter | EnsLib.TCP.CountedOutboundAdapter | OutboundAdapter |
| EnsLib.IWay.InboundAdapter | EnsLib.TCP.CountedXMLInboundAdapter | InboundAdapter |
| EnsLib.IWay.OutboundAdapter | EnsLib.TCP.CountedOutboundAdapter | OutboundAdapter |
| EnsLib.JMS.InboundAdapter | Ens.InboundAdapter,EnsLib.JMS.Common | InboundAdapter |
| EnsLib.JMS.OutboundAdapter | Ens.OutboundAdapter,EnsLib.JMS.Common | OutboundAdapter |
| EnsLib.JavaGateway.InboundAdapter | Ens.InboundAdapter,EnsLib.JavaGateway.Common | InboundAdapter |
| EnsLib.JavaGateway.OutboundAdapter | Ens.OutboundAdapter,EnsLib.JavaGateway.Common | OutboundAdapter |
| EnsLib.LDAP.Adapter.Outbound | Ens.OutboundAdapter,EnsLib.LDAP.Adapter.Common | OutboundAdapter |
| EnsLib.LDAP.OutboundAdapter | Ens.OutboundAdapter | OutboundAdapter |
| EnsLib.MFT.Adapter.Inbound | Ens.InboundAdapter,EnsLib.MFT.Adapter.Common | InboundAdapter |
| EnsLib.MFT.Adapter.Outbound | Ens.OutboundAdapter,EnsLib.MFT.Adapter.Common | OutboundAdapter |
| EnsLib.MQSeries.InboundAdapter | Ens.InboundAdapter,EnsLib.MQSeries.CommonAdapter | InboundAdapter |
| EnsLib.MQSeries.OutboundAdapter | Ens.OutboundAdapter,EnsLib.MQSeries.CommonAdapter | OutboundAdapter |
| EnsLib.MQTT.Adapter.Inbound | Ens.InboundAdapter,EnsLib.MQTT.Adapter.Common | InboundAdapter |
| EnsLib.MQTT.Adapter.Outbound | Ens.OutboundAdapter,EnsLib.MQTT.Adapter.Common | OutboundAdapter |
| EnsLib.PEX.InboundAdapter | Ens.InboundAdapter,EnsLib.PEX.Common | InboundAdapter |
| EnsLib.PEX.OutboundAdapter | Ens.OutboundAdapter,EnsLib.PEX.Common | OutboundAdapter |
| EnsLib.Pipe.InboundAdapter | Ens.InboundAdapter,Ens.Util.Pipe | InboundAdapter |
| EnsLib.Pipe.OutboundAdapter | Ens.OutboundAdapter,Ens.Util.Pipe | OutboundAdapter |
| EnsLib.SAP.OutboundAdapter | EnsLib.IWay.OutboundAdapter | OutboundAdapter |
| EnsLib.SOAP.CST.OutboundAdapter | EnsLib.TCP.OutboundAdapter,EnsLib.SOAP.CST.Common | OutboundAdapter |
| EnsLib.SOAP.InboundAdapter | EnsLib.TCP.InboundAdapter | InboundAdapter |
| EnsLib.SOAP.OutboundAdapter | Ens.OutboundAdapter | OutboundAdapter |
| EnsLib.SQL.InboundAdapter | Ens.InboundAdapter,EnsLib.SQL.Common | InboundAdapter |
| EnsLib.SQL.OutboundAdapter | Ens.OutboundAdapter,EnsLib.SQL.Common | OutboundAdapter |
| EnsLib.Siebel.HTTPOutboundAdapter | EnsLib.HTTP.OutboundAdapter | OutboundAdapter |
| EnsLib.TCP.CountedInboundAdapter | EnsLib.TCP.InboundAdapter,EnsLib.TCP.CountedCommon | InboundAdapter |
| EnsLib.TCP.CountedOutboundAdapter | EnsLib.TCP.OutboundAdapter,EnsLib.TCP.CountedCommon | OutboundAdapter |
| EnsLib.TCP.CountedXMLInboundAdapter | EnsLib.TCP.InboundAdapter,EnsLib.TCP.CountedCommon,Ens.Util.XML.Reader | InboundAdapter |
| EnsLib.TCP.CountedXMLOutboundAdapter | EnsLib.TCP.CountedOutboundAdapter,Ens.Util.XML.Reader | OutboundAdapter |
| EnsLib.TCP.DuplexAdapter | Ens.InboundAdapter,Ens.OutboundAdapter | InboundAdapter |
| EnsLib.TCP.FramedInboundAdapter | EnsLib.TCP.InboundAdapter,EnsLib.TCP.FramedCommon,EnsLib.TCP.TextLineCommon | InboundAdapter |
| EnsLib.TCP.FramedOutboundAdapter | EnsLib.TCP.OutboundAdapter,EnsLib.TCP.TextLineCommon,EnsLib.TCP.FramedCommon | OutboundAdapter |
| EnsLib.TCP.InboundAdapter | Ens.InboundAdapter,EnsLib.TCP.Common | InboundAdapter |
| EnsLib.TCP.OutboundAdapter | Ens.OutboundAdapter,EnsLib.TCP.Common | OutboundAdapter |
| EnsLib.TCP.TextLineInboundAdapter | EnsLib.TCP.InboundAdapter,EnsLib.TCP.TextLineCommon | InboundAdapter |
| EnsLib.TCP.TextLineOutboundAdapter | EnsLib.TCP.OutboundAdapter,EnsLib.TCP.TextLineCommon | OutboundAdapter |
| EnsLib.TN3270.OutboundAdapter | EnsLib.IWay.IBO.OutboundAdapter | OutboundAdapter |
| EnsLib.Telnet.OutboundAdapter | Ens.OutboundAdapter | OutboundAdapter |
| EnsLib.UDP.InboundAdapter | Ens.InboundAdapter,EnsLib.UDP.Common | InboundAdapter |
| EnsLib.UDP.OutboundAdapter | Ens.OutboundAdapter,EnsLib.UDP.Common | OutboundAdapter |
Hi Sheetal,
Kill the variable that represents the processed segment at the end of loop.
If you be working with Array or List after Get or Set of the some item, call the method %UnSwizzleAt to remove the item object from memory. If the array or list be a property in a Persistent class, Save the instance of persistent class before call the %UnSwizzletAt to the item.
Hi Patrik,
For a better readability of code, switch the Quit command by Return in the portions of your code. where you relay want to return.
For example in this codesnippet in the While:
W !, "BEGENING OF LOOP FOR: "_rs.articleCode
IF (rs.article = article)
{
SET unitCode = rs.unitCode
QUIT
}This Quit, only exit form While not from Method. Other problem is that the last line with Quit without argument can cause a <FUNCTION> error because doesn't return any value.
If I'm not miss understood, you can add a third parameter to use internally of method to check if the method needs to run or not. For example if the condition to stop is the unitCode is not blank change the signature of method and add the following line in the beginning of method:
A possible version to method is:
ClassMethod workpieceUnit(mainArticle As%String, article As%String, unitCode As%string = "") As%String
{
Return:(unitCode '= "") unitCode
&SQL(SELECT unit->unitCode INTO :unitCode FROM production_article.composition WHERE mainArticle = :mainArticle AND article = :article)
IF SQLCODE = 0
{
W !, "Has Value"Return unitCode
}
ELSE
{
SET sql = "SELECT article, unit->unitCode, production_article.composition_sqlArticleCode(article, type) AS articleCode FROM production_article.composition WHERE mainArticle = "_mainArticle_" AND type = 1",
rs = ##class(%SQL.Statement).%ExecDirect(,sql)
WHILE rs.%Next()
{
W !, "BEGENING OF LOOP FOR: "_rs.articleCode
IF (rs.article = article)
{
SET unitCode = rs.unitCode
Return unitCode
}
// CHECK IF WORKPIECE HAS COMPOSITION
&SQL(SELECTCOUNT(*) INTO :composition FROM production_article.composition WHERE mainArticle = :rs.article)
IF (composition > 0)
{
W !, "START RECURSIVE"DO..workpieceUnit(rs.article, article)
}
}
W !, "END OF LOOP"Return unitCode
}
Return""
}Hi Patrik,
I did a mistake, when you call the method recursively you need to pass the unitCode like this:
DO..workpieceUnit(rs.article, article, unitCode)