go to post Luis Angel Pére... · Jul 11, 2023 You have to create a new class that extends Ens.StringResponse, then you will be able to add so many properties as you need in your new class. Please, check this URL: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...
go to post Luis Angel Pére... · Jul 10, 2023 Well, from my experience you will need the same databases on your local instance, so you will need to load a backup from the original into the local instance and after that apply the journal file generated after the creation of this backup from the original.
go to post Luis Angel Pére... · Jul 8, 2023 I wrote an article about the creation of a REST service that maybe can help you. https://community.intersystems.com/post/creating-rest-service-iris You can check the ClassMethod TestPost where a data is received from a post call and is sent finally to a business operation where is transformed into a DynamicObject and parsed to another class. This is the business operation: Class WSTEST.BO.PersonSaveBO Extends EnsLib.REST.Operation { Parameter INVOCATION = "Queue"; Method savePerson(pRequest As WSTEST.Object.PersonSaveRequest, Output pResponse As WSTEST.Object.PersonSaveResponse) As %Status { try { set person = ##class("WSTEST.Object.Person").%New() #dim request as %DynamicObject = {}.%FromJSON(pRequest.JSON) set person.PersonId = request.PersonId set person.Name = request.Name set person.LastName = request.LastName set person.Sex = request.Sex set person.Dob = request.Dob set tSC = person.%Save() set pResponse = ##class("WSTEST.Object.PersonSaveResponse").%New() set pResponse.PersonId = person.PersonId set pResponse.Name = person.Name set pResponse.LastName = person.LastName set pResponse.Sex = person.Sex set pResponse.Dob = person.Dob }catch{ Set tSC="Error saving the person" } Quit tSC } XData MessageMap { <MapItems> <MapItem MessageType="WSTEST.Object.PersonSaveRequest"> <Method>savePerson</Method> </MapItem> </MapItems> } }
go to post Luis Angel Pére... · Jul 8, 2023 UserTable and DataTable are related? I'm guessing that if Condition1 is the relation between the tables you would try this query: SELECT COUNT(CASE WHEN data.a = "Condition1" then 1 ELSE NULL END) as "ValueA", COUNT(CASE WHEN data.b = "Condition2" then 1 ELSE NULL END) as "ValueB", COUNT(CASE WHEN data.c = "Condition3" then 1 ELSE NULL END) as "ValueC", user.id FROM UserTable user left join DataTable data on user.id = data.user
go to post Luis Angel Pére... · Jul 7, 2023 In my opinion the best approach is to create a BO for each database connection and invoke them from a BPL, getting the results and doing whatever you want.
go to post Luis Angel Pére... · Jul 6, 2023 Take a look at this article, it's exactly what you need: https://community.intersystems.com/post/creating-rest-api-jwt-authentica...
go to post Luis Angel Pére... · Jul 6, 2023 InitialExpression is what you are looking for:https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...
go to post Luis Angel Pére... · Jun 29, 2023 Your would use JMeter to launch multiple calls in a row.
go to post Luis Angel Pére... · Jun 29, 2023 Do you mean the populate library? https://docs.intersystems.com/csp/docbook/Doc.View.cls?FIND=CLASSES+%25L...
go to post Luis Angel Pére... · Jun 29, 2023 You can take a look to this article and the associated Open Exchange application: https://community.intersystems.com/post/creating-rest-service-iris
go to post Luis Angel Pére... · Jun 28, 2023 Are you using an aggregate function in your query? You can see in the documentation that %SQLCODE = 0 is returned for queries with aggregates as SUM or AVG because it's returning a row even with a null value of the aggregation function.
go to post Luis Angel Pére... · Jun 27, 2023 You can send the List by reference to the Python method, populate it inside the method and use the populated list from the objectscript who call it. Something like this: set listOfStrings = ##class("%Library.ListOfDataTypes").%New() do ..TestPython(listOfStrings) $$$TRACE("What a beautiful trace! There are "_listOfStrings.Count()_" element(s)") ... ... ClassMethod TestPython(ByRef listOfStrings As %List) [ Language = python ] { import iris listOfStrings.Insert("One") listOfStrings.Insert("Two") listOfStrings.Insert("Three") return 1 }
go to post Luis Angel Pére... · Jun 22, 2023 It's true! Thank you @David Hockenbroch , I didn't realize that it was deprecated.
go to post Luis Angel Pére... · Jun 22, 2023 for x=1:1:rs.%ResultColumnCount{ //Get the value of each column set colValue = rs.%GetData(x) //Get the name of each column set colName = cols.GetAt(x).colName set colType = rs.GetColumnType(x) Have you tried this code?
go to post Luis Angel Pére... · Jun 22, 2023 You can use the method GetColumnType, here is the url to the official documentation: https://docs.intersystems.com/iris20231/csp/documatic/%25CSP.Documatic.cls?LIBRARY=%25SYS&CLASSNAME=%25Library.ResultSet#GetColumnType