6100 MPS-B Programming Manual
6100 MPS-B PROGRAMMING EXAMPLE
?PAGE "PROCEDURE: LOG^ERROR"
PROC log^error (filenum,error) VARIABLE;
INT filenum,
error;
BEGIN
LITERAL base = 10;
STRUCT error^msg;
BEGIN
STRING field^1 [0:9],
field^1^num [0:1],
field^2 [0:8],
field^2^num [0:2],
field^3 [0:15],
field^3^num [0:2];
END;
IF NOT $PARAM(filenum) THEN
BEGIN
error^msg.field^1 ’:=’ ["Function: .."];
error^msg.field^2 ’:=’ [" Status: ..."];
error^msg.field^3 ’:=’ [" Detail Status: ..."];
IF textin <> 2 THEN req^buff.text := 0;
CALL NUMOUT (error^msg.field^1^num,rfunction,base,2);
CALL NUMOUT (error^msg.field^2^num,rmodifier,base,3);
CALL NUMOUT (error^msg.field^3^num,req^buff.text,base,3);
CALL WRITE (termfnum,error^msg,$LEN(error^msg));
END
ELSE
BEGIN
IF NOT $PARAM(error) THEN CALL FILEINFO (filenum,error);
error^msg.field^1 ’:=’ ["File Num: .."];
error^msg.field^2 ’:=’ [" Error: ..."];
IF filenum = -1 THEN
error^msg.field^1^num ’:=’ ["-1"]
ELSE
CALL NUMOUT (error^msg.field^1^num,filenum,base,2);
CALL NUMOUT (error^msg.field^2^num,error,base,3);
CALL WRITE (termfnum,error^msg,25);
CALL error^exit;
END;
END; ! of log^error.
B-7