機能名ARGUMENT-NUMBERおよびARGUMENT-VALUEを使うことで,コマンド行に指定された引数の個数を取得できます。また,コマンド名称や,複数の引数の個々の値を取得できます。
コマンド行の引数の個数を取得するには,ACCEPT文を使用します。
ACCEPT 一意名1 FROM 呼び名1※
〔END-ACCEPT〕
コマンド行のファイル名称および引数の値を,コマンド行の先頭から順番に読み出して取得するには,ACCEPT文を使用します。
ACCEPT 一意名2 FROM 呼び名2※
〔ON EXCEPTION 無条件文1〕
〔NOT ON EXCEPTION 無条件文2〕
〔END-ACCEPT〕
コマンド行のファイル名称および引数の値を,コマンド行の任意の位置から読み出して取得するには,最初にDISPLAY文を使用して読み出す位置を指定し,次にACCEPT文を使用してファイル名称または引数の値を読み出します。
DISPLAY {一意名3|整数1} UPON 呼び名1※1
〔END-DISPLAY〕
ACCEPT 一意名2 FROM 呼び名2※2
〔ON EXCEPTION 無条件文1〕
〔NOT ON EXCEPTION 無条件文2〕
〔END-ACCEPT〕
コマンド行の引数および引数の個数を取得する方法を,プログラム例を使って説明します。
a.out AAA BBB CCC DDD EEE FFF
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ARGUMENT-NUMBER IS ARGNUM
ARGUMENT-VALUE IS ARGVAL
:
WORKING-STORAGE SECTION.
01 ARGCNT PIC 99.
01 ARGDATA PIC X(10).
PROCEDURE DIVISION.
:
ACCEPT ARGCNT FROM ARGNUM. …1.
:
ACCEPT ARGDATA FROM ARGVAL …2.
ON EXCEPTION ~
NOT ON EXCEPTION ~
END-ACCEPT.
:
DISPLAY 3 UPON ARGNUM. …3.
ACCEPT ARGDATA FROM ARGVAL …4.
ON EXCEPTION ~
NOT ON EXCEPTION ~
END-ACCEPT.
:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ARGUMENT-VALUE IS ARGVAL
:
WORKING-STORAGE SECTION.
01 DATA1 PIC X(10).
PROCEDURE DIVISION.
:
ACCEPT DATA1 FROM ARGVAL …1.
ON EXCEPTION ~
:
NOT ON EXCEPTION ~
:
END-ACCEPT.
CALL 'SAMPLE2'.
:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE2.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ARGUMENT-VALUE IS ARGVAL
:
WORKING-STORAGE SECTION.
01 DATA1 PIC X(10).
PROCEDURE DIVISION.
:
ACCEPT DATA1 FROM ARGVAL …2.
ON EXCEPTION ~
:
NOT ON EXCEPTION ~
:
END-ACCEPT.
:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ARGUMENT-NUMBER IS ARGNUM
:
WORKING-STORAGE SECTION.
:
PROCEDURE DIVISION.
:
DISPLAY 3 UPON ARGNUM. …1.
:
CALL 'SAMPLE2'.
:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE2.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
ARGUMENT-VALUE IS ARGVAL
:
WORKING-STORAGE SECTION.
01 DATA1 PIC X(10).
PROCEDURE DIVISION.
:
ACCEPT DATA1 FROM ARGVAL …2.
ON EXCEPTION ~
:
NOT ON EXCEPTION ~
:
END-ACCEPT.
: