go to post Robert Cemper · Oct 6, 2022 in my package GlobalToJSON-ePython-pureI developed this workaround: #; simulate $data() for existence and content def Ddata(gref): val = None _d = 11 #; check for subscripts o=gref.order([]) if o == None: _d -= 10 try: val=gref.get([]) except KeyError: #; no value @ top node _d -= 1 return [_d,val]
go to post Robert Cemper · Sep 21, 2022 The actual GTY is containers.intersystems.com/intersystems/webgateway:2022.1.0.209.0 And there is no :latest defined
go to post Robert Cemper · Sep 21, 2022 You may use input redirection as you find it in almost all Dockerfile installations: RUN iris start IRIS \ && iris session IRIS < iris.script \ && iris stop IRIS quietly and iris.script (as example) zn "%SYS"Do ##class(Security.Users).UnExpireUserPasswords("*")zn "USER"
go to post Robert Cemper · Sep 20, 2022 I miss this in your Trigger code:%ok: A variable used only in trigger code.If trigger code succeeds, it sets %ok=1.If trigger code fails, it sets %ok=0. see %ok, %msg, and %oper System Variables
go to post Robert Cemper · Sep 19, 2022 Class Reference of %SYSTEM.Status says:classMethode IsError(statuscode As %Status) as %Boolean Returns 1 if the statuscode contains errors. Otherwise, it returns 0. So if you get [res] as (0,....) it is an ERROR! and therefore the result of IsError should be 1. It is an Error.
go to post Robert Cemper · Sep 18, 2022 %BI classes date back to Miner (DeepSee-1) and just were left in Caché over a decade at leastwhile its functionality was replaced by %DeepSee classes more than 10 years ago. Of course, you can map all %BI.* classes to some DB where you have R/W access and import it from Caché.that's about 300 Classes.BUT: no one can tell you if they compile correctlyAND: you have to take care of the hidden %bi*.obj (~430) and other deployed code which you can't compile, but import and pray they work.SO: this doesn't look like a promising approach.Therefore I'd suggest migrating from %BI to %DeepSee in Caché first and to IRIS next
go to post Robert Cemper · Sep 8, 2022 just to make your valuable entry visible in browser and emailhttp://<server-ip>:<smp-port>/api/atelier/ and you get back this nice JSON object:
go to post Robert Cemper · Sep 7, 2022 SOAP is quite specific and critical to data format and structure.You might extend it, but then Edge Server is the active part and you depend on its regular "broadcast".If Doc Server should be the active partner I'd rather suggest to use JDBC in Linux.Your actual $get might be embedded as a Method projected as SQL Procedure that you call.There exist examples to even execute COS commands by that approach:see: ObjectScript over ODBC
go to post Robert Cemper · Aug 31, 2022 %SYS.NLS.Locale is the class to achieve this.though it's not so funnyseems to be wrapper around ^%NLS and ^%SYS.NLS
go to post Robert Cemper · Aug 28, 2022 Your keywords >90% COS + SAMPLES indicate your background.if you don't intend to win a prize in a contest adapting some CSP Samples will be fastest. Forget any ZEN.And just call the CSP class. never the .CSP itself.what I mean:NOT http://localhost:56773/csp/samples/form.cspBUT http://localhost:56773/csp/samples/csp.form.CLS It's my quick and dirty approach
go to post Robert Cemper · Aug 27, 2022 from:https://docs.jsonata.org/date-time#:~:text=JSON%20does%20not%20have%20a,%3A45%3A00.000Z%22%20%7D for ISO 8301 #1) your source has to be a %TimeStamp aka. ODBC format#2) it requires a LogicalToXSD() transformation. >write ##class(%Library.TimeStamp).LogicalToXSD($ZDT($Now(),3,,4))2022-08-27T22:54:48.8953ZBut there is no defined Standard.
go to post Robert Cemper · Aug 26, 2022 if it is a straight 8bit DB you have the challenge to find outhow characters beyond the primitive 7bit ASCII are stored e.g. ÀöÜß € ¡¿ è & é çis it ISO Latin 1 , 2 ,3 4, 5 ... or any of the horrible Win encondings
go to post Robert Cemper · Aug 24, 2022 2 mistakes: #1^$get(node) delivers the content of variable nodebut you would expect the result of $get(@node) using node as global reference #2) the better way is to use the implicit GETSet node = $Query(^FromExtraMed(""),1,value)write value
go to post Robert Cemper · Aug 23, 2022 it is basically using CPIPE out of a CSP page.Article Execute Server Commands from Caché / Ensemble / IRIS
go to post Robert Cemper · Aug 22, 2022 for DOCKER:docker exec -it [-u root] <container-name or -id> bashdetails
go to post Robert Cemper · Aug 20, 2022 check this: https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EHTTP_inbound#EHTTP_creating_bus_service_configespecially this: https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY... The URL is then http://your-server-ip:your-port/
go to post Robert Cemper · Aug 11, 2022 It works if you do it better than just copy/paste from browserSee this: https://community.intersystems.com/post/basic-objectscript-not-working-linux-command-line#comment-197376 and this:https://community.intersystems.com/post/basic-objectscript-not-working-linux-command-line#comment-197371
go to post Robert Cemper · Aug 10, 2022 , which approach would you take ?I would try to use embedded Python to escape from <MAXSTRING>cut it to reasonable pieces and use them in COS as far as necessary.
go to post Robert Cemper · Aug 8, 2022 that's because the browser or this horrible web editor converts <tab> to <blank>this is just core MUMPS style for writing .INT code AUMHSCRTC:USER>a<tab>SET x=1AUMHSCRTC:USER><tab>WHILE x<10 {AUMHSCRTC:USER><tab>WRITE !," Looping",xAUMHSCRTC:USER><tab>SET x=x+1AUMHSCRTC:USER><tab>}AUMHSCRTC:USER><tab>WRITE !,"DONE"AUMHSCRTC:USER>do a