ð1 CBL-EXCEPTION-ID

PIC

X(ð7).

ð1

VALID-RESPONSES

PIC

X(ð6).

ð1 PGM-IN-ERROR.

 

 

 

ð5

PGM-NAME

PIC

X(1ð).

 

ð5

LIB-NAME

PIC

X(1ð).

ð1 SYS-EXCEPTION-ID

PIC

X(ð7).

ð1

MESSAGE-TEXT

PIC

X(ð1).

ð1

MESSAGE-LENGTH

PIC S9(ð9) BINARY.

ð1

SYS-OPTION

PIC

X(ð1).

ð1 ERR-MODULE-NAME

PIC

X(1ð).

ð1

CBL-PGM-NAME

PIC X(256).

\

\Beginning of mainline

PROCEDURE DIVISION USING CBL-EXCEPTION-ID,

VALID-RESPONSES, PGM-IN-ERROR, SYS-EXCEPTION-ID, MESSAGE-LENGTH, SYS-OPTION, MESSAGE-TEXT, ERR-MODULE-NAME, CBL-PGM-NAME.

MAIN-LINE.

\

\Initialize the error code parameter. To signal exceptions to

\this program by the API, you need to set the bytes provided￿

\field of the error code to zero. Because this program has

\exceptions sent back through the error code parameter, it￿ sets

\the bytes provided field to the number of bytes it gives t￿he

\API for the parameter.

\

MOVE 16 TO BYTES-PROVIDED.

\

\Record the COBOL Program and Library names

MOVE 1ð1 TO KEY-FIELD OF QPD-SUSPECTED-PROGRAM.

MOVE 1ð TO PROGRAM-NAME-LENGTH OF QPD-SUSPECTED-PROGRAM. MOVE 1ð TO LIBRARY-NAME-LENGTH OF QPD-SUSPECTED-PROGRAM.

SET PROGRAM-NAME OF

QPD-SUSPECTED-PROGRAM

.2/

TO

ADDRESS OF PGM-NAME OF PGM-IN-ERROR.

SET LIBRARY-NAME OF

QPD-SUSPECTED-PROGRAM

 

TO

ADDRESS OF LIB-NAME OF PGM-IN-ERROR.

ADD 1 TO NBR-OF-RECORDS.

 

SET PROBLEM-POINTER

(NBR-OF-RECORDS) TO

 

 

ADDRESS OF QPD-SUSPECTED-PROGRAM.

\

\Record the message id

MOVE 2ðð TO KEY-FIELD OF QPD-SYMPTOM. MOVE 3 TO KEYWORD-LENGTH OF QPD-SYMPTOM. MOVE 7 TO DATA-LENGTH OF QPD-SYMPTOM. MOVE "C" TO DATA-TYPE OF QPD-SYMPTOM.

SET KEYWORD OF QPD-SYMPTOM TO ADDRESS OF MSG-KEYWORD.

SET DATA-FIELD OF QPD-SYMPTOM TO ADDRESS OF SYS-EXCEPTION-I￿D. ADD 1 TO NBR-OF-RECORDS.

SET PROBLEM-POINTER (NBR-OF-RECORDS) TO ADDRESS OF QPD-SYMPTOM.

Appendix B. Original Examples in Additional BLanguages-125

Page 403
Image 403
IBM Version 4 Message-Length, Sys-Option Pic, Cbl-Pgm-Name, Procedure Division Using CBL-EXCEPTION-ID, NBR-OF-RECORDS to