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

PROGRAM-ID. Ccc.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 w PICTURE 99 EXTERNAL.
01 y PICTURE 99 VALUE 0.
PROCEDURE DIVISION.
c.
DISPLAY " Ccc begin"
PERFORM show-me
DISPLAY " Ccc adding 4 to w, x, and y"
ADD 4 to w x y
PERFORM show-me
CALL Ddd
DISPLAY " Ccc end"
EXIT PROGRAM
.
show-me.
DISPLAY " in Ccc, w (ext)=/" w "/"
" x (global from Bbb)=/" x "/"
" y (local in Ccc)=/" y "/"
.
IDENTIFICATION DIVISION.
PROGRAM-ID. Ddd.
DATA DIVISION.
PROCEDURE DIVISION.
d.
DISPLAY " Ddd begin"
DISPLAY " in Ddd, x (global from Bbb)=/" x "/"
" y (global from Mane)=/" y "/"
MOVE 17 to z
DISPLAY " Ddd changing z to 17"
DISPLAY " in Ddd, z (global from Mane)=/" z "/"
DISPLAY " Ddd end"
.
END PROGRAM Ddd.
END PROGRAM Ccc.
END PROGRAM Bbb.
END PROGRAM Mane.
?ENDUNIT
IDENTIFICATION DIVISION.
PROGRAM-ID. Sub.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 y PICTURE 99 GLOBAL VALUE 2.
01 w PICTURE 99 EXTERNAL.
01 x PICTURE 99 VALUE 0.
01 z PICTURE 99 EXTERNAL.
PROCEDURE DIVISION.
s.
DISPLAY " Sub begin"
PERFORM show-me
DISPLAY " Sub moving 5 to w"
MOVE 5 to w PERFORM show-me
IF x = 0
DISPLAY " Sub adding 5 to w, x, y, and z"
ADD 5 to w x y z PERFORM show-me
END-IF
DISPLAY " Sub end"
EXIT PROGRAM
.
show-me.
DISPLAY " in Sub, w (ext)=/" w "/ x (local)=/" x "/"
" y (local)=/" y "/ z (ext)=/" z "/"
.
END PROGRAM Sub.
56 Source Program Organization and Format