go to post Robert Cemper · Jul 14, 2022 in ObjectScript it might belist("A","x")=""list("B","y")=""list("C","z")="" and you pass it by reference do method(.list)and consume is using $ORDER() or $QUERY()
go to post Robert Cemper · Jul 14, 2022 there is a WARNING in Caché docs, that I didn't find for IRIS By default, $SYSTEM.OBJ.CompileAllNamespaces does not compile the namespaces “%SYS” and “DOCBOOK”. If a site has classes in %SYS, these will need to be manually recompiled. Do not use $SYSTEM.OBJ.CompileAllNamespaces on a HealthShare installation.
go to post Robert Cemper · Jul 14, 2022 and of course any TRIGGER on DELETE will give you more optionse.g. LOG^%ETN() to dump the full call stack
go to post Robert Cemper · Jul 14, 2022 Take a look to Synchronize Data with DSTIMEBesides other stuff it logs also any DELETE
go to post Robert Cemper · Jul 12, 2022 I'm not sure if it made its way to IRIS documentation and where it ended.But the difference might not be really significant https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=TBAS_Terminal
go to post Robert Cemper · Jul 11, 2022 Thanks @Yaron Munz I did the same statement in an earlier Python contest.Let Python do what Python is good for and let ISOS do what is ISOS best atePython - mixed or pure ?Thanks for the confirmation!I'd appreciate your vote for this article,
go to post Robert Cemper · Jul 8, 2022 Hi @Yaron Munz In 1978 when DSM-11 was first released there was no $QUERY() but $NEXT(). doing the job.Could have been in MUMPS.4B as well.(?)
go to post Robert Cemper · Jul 6, 2022 You may want to take a look at my example in OEX of runninga Websocklet client in Node,js controlled and exchanging data over Global accessusing IRIS-NativeAPI-Nodejs Related Article in DC
go to post Robert Cemper · Jul 5, 2022 So in worst case you just deal with 27 "locations" for the next years.Though I have no idea how overseas areas are handled in FR and NL (you are closest).Good luck !
go to post Robert Cemper · Jul 5, 2022 Hi @Marcel den Ouden I did something similar a few years back for an ISC internal project.I required 2 tables to achieve this- mapping of the location to timezone code (geographic coordinates are often misleading, STATIC)- rules and offset from UTC (daylight Saving Y/N, the window when to apply,...) might be flexible- $ZTZ is your friend and the Docs are really excellent also for special cases A further complication is mobile use.example:- You go to Summit in Seattle. (UTC-7)- you need to arrange a concall with a customer in Amsterdam (UTC+2) (CEST!)- and meeting in Nov. (UTC+1) back to normal time- And you need to know the time zone used by your notebook (local or home or other?) For the notebook, I used some JavaScript as the app was written in ZEN (10 yrs.back)and it was mine and I could control it.see more in my Article Global Time Management
go to post Robert Cemper · Jul 5, 2022 I took a look into Caché 2018.%DisplayFormatted is still useless for your case.It calls the method %Display() which allows having a different delimiter:It just doesn't use or support it. It is forgotten until today.So default $C(9) "TAB" is used.You may need to open the output file yourself and then use it with a %Next Loop writing it line by line. So you may also control your headers. It looks like this method was not foreseen to be used in real applications.
go to post Robert Cemper · Jul 5, 2022 in addition, you may force your column headers in the SQL statement set sql = "select ID as ""row"", name as ""myname"" from MyClass"
go to post Robert Cemper · Jul 5, 2022 reading the content of Docs: I''d susggest you use either set type=100 or the correct case as suggested by documentations set type="CSV"
go to post Robert Cemper · Jul 5, 2022 Thanks for this video and get moving faces to the mostly invisible actors in DC, OEX, GMIt would be great to have a link to a personal video also in DC accounts. ???
go to post Robert Cemper · Jul 4, 2022 From your description, it is obvious that you write ALL global streams just to default ^CacheStream. To separate them you may set individual Globals for streaming (e.g depending on use-case) Class %Library.GlobalBinaryStream has this parameter + property: /// Default location: can be overridden at run-timeParameter STOREGLOBALNAME = "^CacheStream"; /// Root is Global Location (name and top subscripts)Property StoreRoot As %String(MAXLEN = 5000) [ InitialExpression = {..#STOREGLOBALNAME}, Private ]; Property rollback As %String [ MultiDimensional, Private ];You can change this default using the method Method %LocationSet(value As %String) As %Status{ Do ..Clear() Set ..StoreRoot=value,i%%Location=value Quit $$$OK}
go to post Robert Cemper · Jul 1, 2022 Did you check the use of CPIPE ?Open Exchange Execute Server Commands from Caché / Ensemble / IRIS
go to post Robert Cemper · Jun 29, 2022 Just to complete it: iris.cpf could be understood as kind of .ini file that is loaded during system start. Regular access during normal operation would be a desaster to perfomance.
go to post Robert Cemper · Jun 27, 2022 Default Samples.Person use the implicit ID. You need to change or write your own Method %IdSet or Define your own property as ID
go to post Robert Cemper · Jun 24, 2022 Suggestion:add Property Val as Serials.Value;in your main classandClass Serial.Value Extends %SerialObject {Property Single as %String;Property Tsh as %String;Property T4 as %String;Property T5 as %String;} in SQL you see it as columns Val_SingleVal_TshVal_T4Val_T5