TS/MP Management Programming Manual (G06.24+, H06.03+)

Error Handling Example Program
NonStop TS/MP Management Programming Manual540082-001
17-22
* Decode the object name:
MOVE OBJECT-TYPE OF WS-REQUEST TO PARAMETER OF WS-DECODE
MOVE SPACES TO OBJECT-NAME-1 OF WS-DECODE
OBJECT-NAME-2 OF WS-DECODE
OBJECT-NAME-3 OF WS-DECODE
PERFORM 1500-DECODE-OBJECT-NAME
* Print the object name:
MOVE 1 TO INDENT OF WS-PRINT
MOVE SPACES TO IMAGE OF WS-PRINT
STRING " REQUEST OBJECT NAME: " DELIMITED BY SIZE
INTO IMAGE OF WS-PRINT
WITH POINTER INDENT OF WS-PRINT
END-STRING
PERFORM 1600-DISPLAY-OBJECT-NAME
END-IF
END-IF
.
/
800-DISPLAY-PARM-ERROR.
* Get the (optional) PARM-ERR token:
ENTER TAL "SSGET"
USING ZPWY-DDL-MSG-BUFFER,
ZSPI-TKN-PARM-ERR,
ZSPI-DDL-PARM-ERR,
WS-FIRST-OCCURRENCE
GIVING WS-SS-RESULT
IF WS-SS-RESULT IS ZERO THEN
DISPLAY " PARAMETER ERROR"
PERFORM 1700-DISPLAY-TOKEN-NUMBER
DISPLAY " ERROR INDEX: "
Z-INDEX OF ZSPI-DDL-PARM-ERR
DISPLAY " ERROR OFFSET: "
Z-OFFSET OF ZSPI-DDL-PARM-ERR
END-IF
.
900-DISPLAY-ERROR-CMD.
* Get the ERRCOMMAND token:
ENTER TAL "SSGET"
USING ZPWY-DDL-MSG-BUFFER,
ZPWY-TKN-ERRCOMMAND,
COMMAND OF WS-REQUEST,
WS-FIRST-OCCURRENCE
GIVING WS-SS-RESULT
PERFORM 1300-CHECK-SUBSYSTEM-ERROR
IF WS-SS-RESULT IS ZERO THEN
ADD 1 TO COMMAND OF WS-REQUEST
GIVING PARAMETER OF WS-DECODE
IF PARAMETER OF WS-DECODE IS LESS THAN 1 OR
PARAMETER OF WS-DECODE IS GREATER THAN MAX-COMMANDS THEN
DISPLAY " ERROR COMMAND: "
COMMAND OF WS-REQUEST
ELSE
DISPLAY " ERROR COMMAND: "
COMMAND-ENTRY OF WS-COMMAND-NAMES ( PARAMETER OF WS-DECODE
)
END-IF
END-IF
.
Example 17-1. Handling Errors (page 22 of 26)