#Include vhLib.Macro // ========================================================================================================================================== // Name : ParseStatus // Author : TOM ROMBAUT // Function: Opdrachten zoals %Save & %Delete geven een resultaat terug van het type %Status. Deze status is echter 'gecodeerd' en kan // via deze functie leesbaar gemaakt worden naar de gebruiker toe // ========================================================================================================================================== #Include %occStatus ParseStatus(Status,IgnoreFirstLine) Quit:('('Status)) "" //sluit wanneer geen error! Set IgnoreFirstLine=$G(IgnoreFirstLine) New ParsedStatus Set ParsedStatus="" New Error,Loop Do DecomposeStatus^%apiOBJ(Status,.Error,"") New Start Set Start=$S(IgnoreFirstLine && (Error>1):2,1:1) For Loop=Start:1:Error Do . Set ParsedStatus=ParsedStatus_$S(ParsedStatus="":"",1:$C(13,10))_Error(Loop) Quit ParsedStatus // ========================================================================================================================================== // Name : GetJobInfo // Author : Wim Vermeulen // Function: Geeft informatie over de huidige job. // Handig bij het versturen van bvb. mails met een error-melding // ========================================================================================================================================== GetJobInfo(blnMultiLine,Indent) Set Indent=$G(Indent),blnMultiLine=$G(blnMultiLine,1) Set Txt=Indent_"Device: "_$I_" Job: "_$J Set Txt=Txt_$S(blnMultiLine:$$$CRLF_Indent, 1:" ")_"Server: "_$$$Server_" NameSpace: "_$$$NSpace_$S(blnMultiLine:$$$CRLF, 1:"") Quit Txt GetStackToString(Short,NoLastLevels) New loop,Body Set Short=$G(Short,0) Set QuitAtSource=$G(QuitAtSource,$C(0)) Set NoLastLevels=$G(NoLastLevels,1) Set Body="" ;"Ecode: "_$ECODE Set $ECODE="" For loop=0:1:$STACK(-1)-NoLastLevels Quit:($STACK(loop,"MCODE")[QuitAtSource) DO . If Short Do .. Set Body=Body_$STACK(loop,"MCODE")_" [PLACE: '"_$STACK(loop,"PLACE") _ "']"_$$$CRLF . Else Do .. Set Body=Body_$$$CRLF_"Context level: "_loop .. Set Body=Body_$$$CRLF_" - Context type : "_$STACK(loop) .. Set Body=Body_$$$CRLF_" - Current place : "_$STACK(loop,"PLACE") .. Set Body=Body_$$$CRLF_" - Current source: "_$STACK(loop,"MCODE") Set Body=Body_$$$CRLF_$$$CRLF_"Server: "_##class(TECH.Context.RuntimeContext).Instance().GeefServerNaam()_" NameSpace: "_$ZU(5) Quit Body