ACCEPT文,DISPLAY文を使用して,環境変数の値を取得・設定する方法について説明します。
環境変数のアクセスについては,マニュアル「COBOL2002 言語 拡張仕様編 10. コマンド行のアクセス」を参照してください。
DISPLAY {一意名4|定数1} UPON 呼び名3※1
〔END-DISPLAY〕
ACCEPT 一意名2 FROM 呼び名4※2
〔ON EXCEPTION 無条件文3〕
〔NOT ON EXCEPTION 無条件文2〕
〔END-ACCEPT〕
DISPLAY {一意名4|定数1} UPON 呼び名3※1
〔END-DISPLAY〕
DISPLAY {一意名2|定数2} UPON 呼び名4※2
〔ON EXCEPTION 無条件文1〕
〔NOT ON EXCEPTION 無条件文2〕
〔END-DISPLAY〕
CBLABNLST=/tmp/abnlst
CBLDDUMP=/tmp/dumplst
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ENVIRONMENT-NAME IS ENVNAM
ENVIRONMENT-VALUE IS ENVVAL.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ENVNAME1 PIC X(9).
01 ENVNAME2 PIC X(8).
01 ENVDATA PIC X(20).
PROCEDURE DIVISION.
:
MOVE 'CBLABNLST' TO ENVNAME1.
DISPLAY ENVNAME1 UPON ENVNAM. …1.
ACCEPT ENVDATA FROM ENVVAL …2.
ON EXCEPTION ~
:
NOT ON EXCEPTION ~
:
END-ACCEPT.
:
MOVE 'CBLDDUMP' TO ENVNAME2.
MOVE '/tmp/dumplst2' TO ENVDATA.
DISPLAY ENVNAME2 UPON ENVNAM. …3.
DISPLAY ENVDATA UPON ENVVAL …4.
ON EXCEPTION ~
:
NOT ON EXCEPTION ~
:
END-DISPLAY.
:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ENVIRONMENT-NAME IS ENVNM.
:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ENVNAME PIC X(9).
PROCEDURE DIVISION.
:
MOVE 'CBLABNLST' TO ENVNAME.
DISPLAY ENVNAME UPON ENVNM. …1.
:
CALL 'SAMPLE2'.
:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE2.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ENVIRONMENT-VALUE IS ENVVAL.
:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ENVDATA PIC X(20).
PROCEDURE DIVISION.
:
ACCEPT ENVDATA FROM ENVVAL …2.
ON EXCEPTION ~
:
NOT ON EXCEPTION ~
:
END-ACCEPT.
:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ENVIRONMENT-NAME IS ENVNM.
:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ENVNAME PIC X(9).
PROCEDURE DIVISION.
:
MOVE 'CBLABNLST' TO ENVNAME.
DISPLAY ENVNAME UPON ENVNM. …1.
:
CALL 'SAMPLE2'.
:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE2.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ENVIRONMENT-VALUE IS ENVVAL.
:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ENVDATA PIC X(20).
PROCEDURE DIVISION.
:
MOVE '/tmp/abnlst' TO ENVDATA.
DISPLAY ENVDATA UPON ENVVAL …2.
ON EXCEPTION ~
:
NOT ON EXCEPTION ~
:
END-DISPLAY.
: