COBOL2002 言語 拡張仕様編


10.1.2 手続き部(コマンド行,環境変数へのアクセス)

形式

書き方1 コマンド行に現れた引数の個数を読み込む

[図データ]

書き方2 コマンド行から引数を次々に読み込む

[図データ]

書き方3 コマンド行から引数を位置で読み込む

[図データ]

書き方4 環境変数から値を読み込む

[図データ]

書き方5 環境変数へ値を書き出す

[図データ]

構文規則
  1. 書き方1の一意名9および書き方3の一意名7は,符号なし整数項目として記述されたデータ項目を参照するものでなければならない。

  2. 次に示すものは英数字データ項目を参照するものでなければならない。

    ・書き方2の一意名8

    ・書き方3の一意名8

    ・書き方4の一意名8および一意名10

    ・書き方5の一意名8および一意名9

  3. 書き方3の整数4は符号なし整数でなければならない。

  4. 書き方4の定数2および書き方5の定数2,3は英数字定数でなければならない。

    -UniObjGenオプションを指定した場合,書き方4の定数2および書き方5の定数2,定数3にUTF-8で多バイトとなる文字が含まれてはならない。-UniObjGenオプションについては,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」のUnicode機能を参照のこと。

一般規則
  1. ARGUMENT-NUMBER(引数の番号)は,書き方1のACCEPTで使う場合,コマンド行に含まれる引数の個数を一意名9に求める。また,書き方3のDISPLAYで使う場合,一意名7の内容または整数4をコマンド行上の引数の位置に設定する。

  2. 書き方3のDISPLAYを使わないと,コマンド行の初期位置は先頭の引数に設定される(書き方2を参照)。

  3. 書き方2または書き方3のACCEPT文の実行後に位置は1個進められる。

  4. ARGUMENT-VALUE(引数の値)は,書き方2または書き方3のACCEPT文で使用する場合,コマンド行上の引数の値を一意名8に求める。

  5. ENVIRONMENT-NAME(環境変数の名称)は,書き方4または書き方5のDISPLAYで使用する場合,一意名8の内容または定数2を環境変数名に設定する。

  6. ENVIRONMENT-VALUE(環境変数の値)は,書き方4のACCEPTで使用する場合,環境変数の値を一意名10に求める。また,書き方5のDISPLAYで使用する場合,環境変数の内容に一意名9の内容または定数3を設定する。

  7. 一意名7の内容または整数4は,0から99の範囲であること。また,COBOLプログラムのコマンド行に現れる引数やスイッチおよびフラグを参照してもよい。

  8. 無条件文3が実行されるのは,書き方2でコマンド行の最後の引数を超えて読み込みをしようとしたとき,または書き方3で引数が存在しないときである。

  9. 無条件文5が実行されるのは,書き方4のDISPLAY文による環境変数名の設定が未実行のとき,または指定した環境変数が存在しないときである。

  10. 書き方5で無条件文3が実行されるのは,書き方5のDISPLAY文による環境変数名の設定が未実行のとき,または指定した環境変数を格納するための十分な空き領域の割り当てができないときである。

  11. 無条件文4,無条件文6が実行されるのは,例外が発生しないときである。

  12. 書き方2,書き方3および書き方4のACCEPT文または書き方5のDISPLAY文に,ON EXCEPTION指定を書かないで例外が発生したときは,実行単位が異常終了する。

【標準仕様との関連】

COBOL2002 言語 標準仕様編」 「10 手続き部(PROCEDURE DIVISION)