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

Procedure Division Verbs
HP COBOL Manual for TNS/E Programs520347-003
9-29
CALL
For the programs in Example 9-8 to work properly, they must be compiled in this
order:
>COBOL85 /IN SUB2SRC, / SUB2OBJ
>COBOL85 /IN SUB1SRC, / SUB1OBJ
>COBOL85 /IN MAINSRC, / MAINOBJ
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DATA-OUT PIC X(80) VALUE "I'M COBSUB1 ALIVE AND WELL".
LINKAGE SECTION.
01 PARM1 PIC 99.
01 PARM2 PIC XX.
01 SUBPROGRAM-TABLE.
05 SUB-TABLE-ENTRY, PIC X
OCCURS 10 TIMES INDEXED BY SUB-INDEX.
01 SAVE-SUB-INDEX PIC 999.
PROCEDURE DIVISION USING PARM1,
PARM2,
SUBPROGRAM-TABLE,
SAVE-SUB-INDEX.
START-PROGRAM.
SET SUB-INDEX TO SAVE-SUB-INDEX
DISPLAY DATA-OUT
DISPLAY "SAVE-SUB-INDEX = " SAVE-SUB-INDEX
DISPLAY PARM1
DISPLAY PARM2
CALL "COBSUB2" OF SUB2 USING PARM1, PARM2
DISPLAY "I'M COBSUB1 AND I'M RETURNING TO MAIN NOW".
Level 2 Subprogram (source $DATA.MYSUBVOL.SUB2SRC, object
$DATA.MYSUBVOL.SUB2OBJ)
IDENTIFICATION DIVISION.
PROGRAM-ID. COBSUB2.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. HP System.
OBJECT-COMPUTER. HP System.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 DATA-MESSAGE PIC X(80) VALUE "I'M COBSUB2 ALIVE AND WELL".
LINKAGE SECTION.
01 PARM1 PIC 99.
01 PARM2 PIC XX.
PROCEDURE DIVISION USING PARM1, PARM2.
START-PROGRAM.
DISPLAY DATA-MESSAGE
DISPLAY PARM1
DISPLAY PARM2
DISPLAY "I WILL NOW RETURN TO THE MAIN PGM VIA COBSUB1".
Example 9-8. Called Program That Calls Another Program (page 2 of 2)