go to post Robert Cemper · Jul 31, 2021 That's in fact happening by separating Globals-DB from Routine-DB in the namespace definition.Those globals are visible in any DB but they are used only for RoutineDB with a kind of implicit routine mapping. (ages old and implemented shortly after "Big Bang") Once the Routine-DB is clean and isolated just copy the full DB or use $system.OBJ.Export(....) As example of this implicit mapping a view of my ^ROUTINE in namespace DEMO
go to post Robert Cemper · Jul 30, 2021 create a new DB and list all 32 system elements in DB viewROUTINE => .intodd* => obj stuff, and all r* for various others
go to post Robert Cemper · Jul 29, 2021 I'd suggest GBLOCKCOPY as it operates @ DB level and doesn't care about namespace
go to post Robert Cemper · Jul 23, 2021 still another variant that I would prefer set str=""for ... { set str=str_myval_","}set str=$e(str,1,*-1) And BTW: $ZH is much easier to handle than $now()
go to post Robert Cemper · Jul 23, 2021 I don't think ObjectScript might be lost.It will just fade out of applications development into "specials".Though the question. "Why to write applications INSIDE a DB environment at all?"still remains open and unanswered.
go to post Robert Cemper · Jul 23, 2021 Thank you @Alexey Maslov !This sequence is the best illustration I could wish of "the priests know what to do"It's nothing that the average developer of a business application needs.
go to post Robert Cemper · Jul 22, 2021 %Library.Date and %Library.Time are both DataType classes typically used to define Properties.The values are stored as integers according to $HOROLOG formatThey have its MINVAL and MAXVAL as any other numeric data type
go to post Robert Cemper · Jul 21, 2021 Thank you @Herman Slagman !I like your suggestion and would fully support it if ISC would take that turn.You mentioned ignorance and you are right. I'm full with you.Though I still see another more dangerous hurdle to pass:- Understanding the concept. Applying the concept. Teaching the concept.I just fear there might not be enough qualified developers available to execute it.Seeing the actual situation on my side of the globe I wouldn't expect to find enough experts.
go to post Robert Cemper · Jul 21, 2021 Whatever you do it affects the operational machine as you have to read through the whole Table/Global For Table it can be a simple SELECT * FROM TABLE with the option to select columns of interest For Global use $system.OBJ.Export(<globalname>.GBL,<filename>) as XML. Of course, if you have a Shadow instance of your operational machine you can do it there and avoid the load on the primary machine.Eventually, you can run there all analyses without export at all.
go to post Robert Cemper · Jul 20, 2021 I don't have a real favorite. - for similar changes in multiple records, I use SQL in SMP, rarely also $system.SQL.Shell() from terminal- for single changes, I use Global Edit in SMP and direct access in terminal equally- for special objects I often write my class related customized edit method
go to post Robert Cemper · Jul 19, 2021 Thanks for the input. (I was waiting for it)If someone goes for speed I'd suggest C or Assembly Language That's where ultimate speed lives.As long as speed is available in the cloud for a few $$$ more. It's only interesting by principles not in reality.The key - in my opinion - is to break the chains of a rarely known scripting language compared to others.
go to post Robert Cemper · Jul 18, 2021 On what operating system do you run this repo ?Your ERROR message looks like coming from Windows [backslash] (No directory \home\....)BUT the whole code seems to be written just for Linux/ Docker images It is nowhere mentioned as a prerequisite. Might be implicit to.>>> "you’ll need the InterSystems Sandbox" I never heard of, never used it.
go to post Robert Cemper · Jul 16, 2021 there's a mistakeMethode CopyFrom(source As %AbstractStream) as %Statusjust returns an obviously strange status.to see the content use DO stream.OutputToDevice()
go to post Robert Cemper · Jul 16, 2021 to get a clearer picture of the requirements it is essential to understandhow the connection operates: connection is established and messages are exchanged leaving the connection open connection is established, the message is sent, the connection is closed It's evident that the behaviors are different on both ends for #1 you start with a Listener and keep it cyclic reading, eventually writing for #2 you open the listener, receive something and close itto send your message you need an open - write - close cycle.both are possible but you have to know what your opponent expects and how it reacts. The whole requirement is rather archaic. Sounds like a webserver without HTTP.REST would be the better approach. Finally, you may consider outplacing the whole connection management to Node.jswhich is far better suited for such exercises. Eg: wrap incoming stream into REST
go to post Robert Cemper · Jul 14, 2021 see this docu TCP Client/Server Communication- the key trick is to use READ with a timer- if there is no input, you either write or place the next timed read if there's nothing to send
go to post Robert Cemper · Jul 13, 2021 put it into %ZLANGC00 as ZY and just have ClassMethod ToNato(t) { ZY }