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
go to post Robert Cemper · Aug 8, 2022 you are mixing things.#1) working:1.1 yo talk to login + authentication1.2 you talk to command prompt that stores your code locally. #2) not working authentication from script is not supported, the rest goes nowhere#3) not working examplesboth assume that3.1 you enter the code in Studio, VSCode, ...and COMPILE it.3.2 you call the compiled code from the command line
go to post Robert Cemper · Aug 4, 2022 DATEDIFF only compares the YEAR numbers. So: write $system.SQL.DATEDIFF("yy",$h-250,+$h) >>>> 1because of comparing 2021 to 2022but it definitely is less than 1 yearand it depends on the actual day of the year
go to post Robert Cemper · Aug 2, 2022 INSERT INTO Sample_Table.Accounts (Account, AccountName, Bank) Select '123456', 'AccountNameOne', 'BANK1' union all Select '654321', 'AccountNameTwo', 'BANK2' Details: https://docs.intersystems.com/iris20221/csp/docbook/Doc.View.cls?KEY=RSQL_insert
go to post Robert Cemper · Jul 29, 2022 Hi @Scott Roth !from my ~260+ reviews, I can confirm to you that Docker provides just the vanilla platform for demonstration and prepares genal settings (eg.REST) and shuffles demo data.But in 98% of those cases, the effective code is installed by ZPM. And if ZPM is not installed there is one of those famous 1-liners to install it (with enough privileges).To me, docker-compose is just a comfortable way to mix up ports, and volumes, to integrate the container with the environment outside the container.I'm rather sure our well known Docker Experts have a related cookbook ready for publishing(there was just no contest to win a prize for it and make money)The real info on what to copy where is mostly in Dockerfile., which is called by docker-compose.