COBOL Manual for TNS/E Programs (H06.08+, J06.03+)
* 3. All other identifiers refer to unique locations.
?main Mane
IDENTIFICATION DIVISION.
PROGRAM-ID. Mane.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 w PICTURE 99 VALUE 3.
01 y PICTURE 99 GLOBAL VALUE 1.
01 z picture 99 GLOBAL EXTERNAL.
PROCEDURE DIVISION.
m.
DISPLAY "Mane begin"
MOVE 25 to z
PERFORM show-me
CALL Aaa PERFORM show-me
CALL Bbb PERFORM show-me
CALL Sub PERFORM show-me
CALL Sub PERFORM show-me
DISPLAY "Mane end"
stop run
.
show-me.
DISPLAY "in Mane, w=/" w "/ y=/" y "/ z=/" z "/"
.
IDENTIFICATION DIVISION.
PROGRAM-ID. Aaa.
PROCEDURE DIVISION.
a.
DISPLAY " Aaa begin"
PERFORM show-me
DISPLAY " Aaa adding 2 to y"
ADD 2 TO y PERFORM show-me
CALL Bbb PERFORM show-me
DISPLAY " Aaa end"
EXIT PROGRAM
.
show-me.
DISPLAY " y (global from Mane)=/" y "/"
" z (global from Mane)=/" z "/"
.
END PROGRAM Aaa.
IDENTIFICATION DIVISION.
PROGRAM-ID. Bbb COMMON.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 x PICTURE 99 GLOBAL VALUE 0.
01 w PICTURE 99 EXTERNAL.
PROCEDURE DIVISION.
b.
MOVE 1 TO w
DISPLAY " Bbb begin"
PERFORM show-me
DISPLAY " Bbb adding 3 to w and to x"
ADD 3 to w x PERFORM show-me
CALL Ccc PERFORM show-me
DISPLAY " Bbb end"
EXIT PROGRAM
.
show-me.
DISPLAY " in Bbb, w (ext)=/" w "/"
" x (global in Bbb)=/" x "/"
" y (global from Aaa)=/" y "/"
.
IDENTIFICATION DIVISION.
How Programs Share Resources 55










