追加の考慮事項
RESET 命令をコーディングする場合には、次のことに留意してください。
- RESET は、基礎となる変数およびインポートされた変数、
またはサブプロシージャーのパラメーターには使用できません。
- RESET 命令では、プログラムが必要とする記憶域の容量が増えます。 変数がリセットされる場合には、
必要な記憶域は 2 倍になります。 複数オカレンス・データ構造、テーブル、および配列の場合には、
すべての繰り返しまたは要素のリセット値が保管されることに注意してください。
- プログラムの初期化ルーチン中で RESET が行われると、実行時にエラー・
メッセージが出されます。 *INZSR の処理中にサブルーチンの演算を終了するために GOTO または CABxx
が使用されたか、またはエラー処理の結果としてサイクルの別の部分に制御が渡
された場合には、初期化ステップの保管域を初期化する部分には達しませ
ん。この場合には、実行時にプログラムのすべての RESET 命令にエラー・メッセー
ジが出されます。
- サブプロシージャー内の大域変数または構造に対する RESET 命令は、次の
場合に有効となります。
- *INZSR がない場合には常に有効です。
- *INZSR がある場合には、*INZSR が最低 1 回完了するまで有効にはなりま
せん。 その後では、メイン・プロシージャーが活動状態でなくても常に有効です。
注意!
RESET 値が保管される場合には、次のすべて が真であれば、
ポインター非設定エラーが起こります。
- *INZSR がない。
- モジュール内でメイン・プロシージャーに対する入力パラメーターが RESET
されている。
- メイン・プロシージャーが呼び出される前にサブプロシージャーが呼び出されて
いる。
詳細については、 CLEAR (消去)を参照してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.