go to post Michael Poxon · Jun 12, 2023 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?
go to post Michael Poxon · May 5, 2023 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.
go to post Michael Poxon · Mar 17, 2022 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)
go to post Michael Poxon · Mar 14, 2022 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.