Hitachi

COBOL2002 ユーザーズガイド


10.4.4 使用例

実行時の環境変数指定
CBLABNLST=\tmp\abnlst
CBLDDUMP=\tmp\dumplst
プログラム例1

環境変数へのアクセス例を次に示します。

       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.
           :
  1. 値を取得したい環境変数名(CBLABNLST)を指定します。

  2. 1.で指定した環境変数(CBLABNLST)の値(\tmp\abnlst)を取得します。

  3. 値を設定したい環境変数名(CBLDDUMP)を指定します。

  4. 3.で指定した環境変数(CBLDDUMP)に値(\tmp\dumplst2)を設定します。

プログラム例2

環境変数へのアクセスがプログラム間にわたる場合の,環境変数の値の取得例を次に示します。

       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.
           :
  1. 値を取得したい環境変数名(CBLABNLST)を指定します。

  2. 1.で指定した環境変数(CBLABNLST)の値(\tmp\abnlst)を取得できます。

プログラム例3

環境変数へのアクセスがプログラム間にわたる場合の,環境変数の値の設定例を次に示します。

       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.
           :
  1. 値を設定したい環境変数名(CBLABNLST)を指定します。

  2. 1.で指定した環境変数(CBLABNLST)に(\tmp\abnlst)を設定できます。