Guardian Programmer's Guide

Table Of Contents
Interfacing With the ERROR Program
Guardian Programmer’s Guide 421922-014
20 - 9
Using the ERROR Process: An Example
IF ERROR^RETURN <> 0 THEN
BEGIN
SBUFFER ':=' "Unable to create Error process. "
-> @S^PTR;
CALL WRITEX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER);
CALL PROCESS_STOP_(!process^handle!,
!specifier!,
ABEND);
END;
! Open the ERROR process:
ERROR := FILE_OPEN_(PROC^DESCR:PROC^DESCR^LEN,PROCNUM);
IF ERROR <> 0 THEN
BEGIN
SBUFFER ':=' "Unable to open Error process. "
-> @S^PTR;
CALL WRITEX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER);
CALL PROCESS_STOP_(PROCESS^HANDLE,
!specifier!,
ABEND);
CALL PROCESS_STOP_(!process^handle!,
!specifier!,
ABEND);
END;
! Blank the Startup message:
CI^STARTUP.MSGCODE[0] ':=' " ";
CI^STARTUP.MSGCODE[1] ':=' CI^STARTUP.MSGCODE[0] FOR 34;
! Format the Startup message:
CI^STARTUP.MSGCODE := -1;
CI^STARTUP.OUTFILE.VOLUME ':='
["$RECEIVE", 8 * [" "]]; !OUT file
! parameter string
CI^STARTUP.MSGCODE[33] := ERROR^NUMBER;
CI^STARTUP.PARAMS[2] := 0;
CI^STARTUP.PARAMS[3] := 0;
! Send Startup message to ERROR program:
CALL WRITEX(PROCNUM,S^STARTUP,70);