COBOL Manual for TNS/E Programs (H06.08+, J06.03+)

01 MESSAGE-IN.
05 SYS-MSG-CODE PIC S9(4) COMP.
05 SYS-MSG-TEXT PIC X(80).
WORKING-STORAGE SECTION.
01 MESSAGE-SOURCE-REC.
05 SYSTEM-FLAG PIC S9 COMP.
05 ENTRY-NUMBER PIC 999 COMP.
05 FILLER PIC X(4).
05 PROCESS-HANDLE PIC X(20).
05 CPU-PIN.
06 CPU PIC S9(2) COMPUTATIONAL.
06 PIN NATIVE-2.
05 ERROR-NUMBER PIC S9(5) COMPUTATIONAL.
05 NULL-PH PIC X(20) VALUE ALL HIGH-VALUES.
01 FILE-DATA.
05 RECEIVE-FILE-STATUS PIC XX.
88 RECEIVE-FILE-OK VALUE "00".
88 RECEIVE-FILE-EOF VALUE "10".
01 PROCESS-NAME PIC X(8).
01 PROCESS-NAME-LEN NATIVE-2.
PROCEDURE DIVISION.
DECLARATIVES.
* --Declaratives are a more powerful way to handle file
* --errors than a simple AT END phrase, and one or the other
* --is required to be present.
HANDLE-INFILE-ERRORS SECTION.
USE AFTER STANDARD ERROR PROCEDURE ON MESSAGE-IN-FILE.
INFILE-ERROR.
IF NOT RECEIVE-FILE-EOF
DISPLAY "RECEIVE FILE ERROR STATUS = " RECEIVE-FILE-STATUS .
END DECLARATIVES.
AA SECTION.
AA-1.
OPEN INPUT MESSAGE-IN-FILE.
MOVE ZERO TO SYS-MSG-CODE
RECEIVE-FILE-STATUS.
PERFORM WATCH
UNTIL NOT RECEIVE-FILE-OK.
STOP RUN.
WATCH.
READ MESSAGE-IN-FILE.
* The READ causes the MESSAGE-SOURCE-REC to be set.
PERFORM CHECK-STATUS.
CHECK-STATUS.
MOVE SPACES TO PROCESS-NAME.
ENTER TAL "PROCESSHANDLE_DECOMPOSE_"
USING PROCESS-HANDLE
CPU
PIN
* No node number
OMITTED
* No node name
OMITTED
* No nodename length
OMITTED
PROCESS-NAME
PROCESS-NAME-LEN
GIVING ERROR-NUMBER.
IF ERROR-NUMBER EQUAL TO 0
PERFORM DISPLAY-PROCESS-NAME
ELSE
DISPLAY "ERROR " ERROR-NUMBER.
DISPLAY-PROCESS-NAME.
DISPLAY "MESSAGE WAS FROM CPU " CPU ", PIN " PIN.
IF PROCESS-NAME-LEN > 0
Managing a Process 931