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
go to post Robert Cemper · Jun 23, 2022 Correct.That's what $query() was designed for. Roughly 55+ years ago. (with a different name)https://docs.intersystems.com/iris20221/csp/docbook/Doc.View.cls?KEY=RCOS_fquery
go to post Robert Cemper · Jun 23, 2022 $QUERY() needs a Global reference: ^je1("NotConfigured" is OK node is just a local variable and not OK to use it you have to apply an indirection >>> @node I have edited my reply after the first sendand better use %node as indirection is context sensitive.
go to post Robert Cemper · Jun 23, 2022 You just miss setting node to the found value and the indirection for the node referenceSet node = $Query(^TestGlobal("NotConfigured")) WRITE !,node FOR { SET queryary=$QUERY(@node) QUIT:queryary="" WRITE !,queryary SET node=queryary }to avoid issues with variable scoping use %node instead of node for proper work of indirection
go to post Robert Cemper · Jun 21, 2022 Thank you Mark!And thanks for the hint on help(iris).You hit the point:The post was mainly meant as an interim filler until some more precise doc is available.And also as a follow-up to my previous published exercises. And for the actual contest, I needed a subject nobody else touched on before.