%ZSTART ; User startup routine.
#define ME "ZSTART"
#define BgnSet "Start"
#define Empty ""
; cannot be invoked directly
quit
SYSTEM ;
; InterSystems IRIS starting
new EntryPoint, Items
set EntryPoint = "SYSTEM"
; record the fact we got started in the messages log
do WriteConsole^%ZSSUtil((EntryPoint
_ "^%"
_ $$$ME
_ " called @ "
_ $ZDATETIME($HOROLOG, 3)))
; log the data accumulate results
set Items = $LISTBUILD($$$BgnSet, $ZDATETIME($HOROLOG, 3),
"Job", $JOB,
"Computer", ##class(%SYS.System).GetNodeName(),
"Version", $ZVERSION,
"StdIO", $PRINCIPAL,
"Namespace", $NAMESPACE,
"CurDirPath", ##class(%File).ManagerDirectory(),
"CurNSPath", ##class(%File).NormalizeDirectory(""),
"CurDevName", $System.Process.CurrentDevice(),
"JobType", $System.Process.JobType(),
"JobStatus", $ZHEX($ZJOB),
"StackFrames", $STACK,
"AvailStorage", $STORAGE,
"UserName", $System.Process.UserName())
do WriteLog^%ZSSUtil($$$ME, EntryPoint, Items)
quit
LOGIN ;
; a user logs into InterSystems IRIS
new EntryPoint, Items
set EntryPoint = "LOGIN"
set Items = $LISTBUILD($$$BgnSet, $ZDATETIME($HOROLOG, 3))
do WriteLog^%ZSSUtil($$$ME, EntryPoint, Items)
quit
JOB ;
; JOB'd process begins
new EntryPoint, Items
set EntryPoint = "JOB"
set Items = $LISTBUILD($$$BgnSet, $ZDATETIME($HOROLOG, 3))
do WriteLog^%ZSSUtil($$$ME, EntryPoint, Items)
quit
CALLIN ;
; a process enters via CALLIN interface
new EntryPoint, Items
set EntryPoint = "CALLIN"
set Items = $LISTBUILD($$$BgnSet, $ZDATETIME($HOROLOG, 3))
do WriteLog^%ZSSUtil($$$ME, EntryPoint, Items)
quit