Michael Poxon · Jun 12, 2023 go to post

Well...I don't remember using them in either Caché or the previous M/SQL and don't see them documented at all going back to Caché 4.1 (the oldest I can find on InterSystems' site), but a search of current (IRIS 2022) %SYS code suggests $zu(0) is used in database creation (ref in %SYS.DATABASE.int):

CreateDatabase+45    s rc=$zu(0,dir,blksiz,uic,0,expandby,maxfilsiz,$g(gdir,2),$
            g(gpblk),0,0,$g(ggblk),$g(freeze,1),0,$g(clmntmode,0),0,collation)

However I've also seen it like this, not in this system:

S SYS=$P($ZU(0),",",2)

Not so sure about $zu(1) but you can find it in GBLOCKCOPY.int and NLSLOAD.int.  Tried searching comp.lang.mumps?

Michael Poxon · Jun 2, 2023 go to post

Well...I was hoping there was a way to convert this into a never-expire thing, but I am downloading the latest version and will upgrade.  Thanks for the feedback!

Michael Poxon · May 5, 2023 go to post

Sure -- if you have multiple parameters for a function, the corresponding arguments can be passed by separating them by a colon (:), e.g. ZZQD "Queue1":$H-3.

Michael Poxon · Dec 24, 2022 go to post

Jamshid, my friend!  Sorry you're having this trouble, hope you get it worked out. smiley  SMP is the (System) Management Portal.

Michael Poxon · Mar 24, 2022 go to post

Hi Ephraim -- I had success creating a task with these settings:

Namespace to run in: %SYS
Task type: RunLegacyTask
Execute code: d ##class(%SYS.Audit).Export("AuditExport.xml",,,,$zdt($h-10,3)_" 23:59:59")

That last provided argument is the end date/time; you may want to adjust to your needs. 

Michael Poxon · Mar 17, 2022 go to post

You could redirect output to anything convenient (spool device, interprocess communication device, host file) then read it back into a variable and $$$TRACE the variable.  E.g., a two-liner using spool device 1:

k str o 2 u 2 zw  s numLines=$za-1 c 2 f line=1:1:numLines s str=str_^SPOOL(1,line)
$$$TRACE(str)
Michael Poxon · Mar 14, 2022 go to post

Following on Robert's idea of the journal, you might set up a shadow server with a custom filter routine.  That routine could examine each journaled global set/kill that comes to it, choose the ones it cares about and do something with them, then "quit 0" so the shadow doesn't actually dejournal the activity.

Michael Poxon · Mar 4, 2022 go to post

Hi Ivo -- based on empirical evidence in our system, I'd say the ECP system IDs correspond to the order of the app servers shown in the management portal under System > Configuration > ECP Settings > ECP Application Servers -- so the first server listed would have ID=1, the 7th, ID=7, etc.  What I don't know is if the order of these app servers can change, e.g. with system restarts, etc.