INITIAL 文節
プログラム名が呼び出されると、そのプログラム名と、その中に含まれるすべてのプログラムはそれぞれの初期状態に設定されることを指定します。 (作業用ストレージ項目はすべてそれぞれの初期状態にリセットされ、すべての INTERNAL ファイルはクローズされます。)
プログラムは次のような場合に初期状態に設定されます。
- ある実行単位内で最初にそのプログラムが呼び出されたとき
- INITIAL 属性をもったプログラムが呼び出されるたび
- そのプログラムを参照する CANCEL ステートメントか、またはそのプログラムを直接または間接的に含むプログラムを参照する CANCEL ステートメントの実行後、最初にそのプログラムが呼び出されたとき
- INITIAL 属性をもち、しかも直接または間接的にそのプログラムを含むプログラムを参照する CALL ステートメントの実行後、最初にそのプログラムが呼び出されたとき
例えば、プログラム A がプログラム B を呼び出す場合に、プログラム B が INITIAL 属性をもち、さらにプログラム C を含んでいるとすると、A が B を呼び出した後で最初にプログラム C が呼び出されたときにプログラム C はその初期状態に設定されます。
プログラムが初期状態に設定されると、次のようになります。
- 作業用ストレージ・セクションおよびローカル・ストレージ・セクションに含まれるそのプログラムの内部データが初期設定される。データ項目の記述に VALUE 文節が使用されていると、そのデータ項目は定義値に初期設定される。 VALUE 文節がデータ項目に関連付けられていない場合は、そのデータ項目の 初期値はコマンド CRTCBLMOD または CRTBNDCBL にオプション *STDINZ、*STDINZHEX00 また は *NOSTDINZ が指定されているかいないかによって変わります。
- そのプログラムに関連付けられた内部ファイル・コネクターを持つファイルは、オープン・モードにならない。
- そのプログラムに含まれるすべての PERFORM ステートメントの制御メカニズムは、それぞれの初期状態に設定される。
- そのプログラムに含まれる変更済み GO TO ステートメントは、それぞれの初期状態に設定される。