NOOPT

NOOPT キーワードは、このキーワードが指定された独立フィールド、 パラメーター、またはデータ構造については最適化は実行されない ことを指示します。 NOOPT の指定によって、データ項目の内容は確実に直前に割り当てられた 値となります。 これは、例外処理に使用される値が入っているフィールドに必要となることがあ ります。

注:
最適化プログラムでは、一部の値をレジスターに保存し、通常のプログラム実行 時に事前に定義された点でのみ記憶域にそれらを復元することができます。 例外処理はこの通常の 実行順序を中断し、したがって、レジスターに 含まれているプログラム変数はそれらに割り当てられた記憶位置には戻されない ことがあります。 結果として、それらの変数が例外処理に使用された時に、直前に割り当てられた 値が入っていないことがあります。 NOOPT キーワードによりこれらの流れ が確実に行われます。

参照によって渡されるデータ項目を NOOPT キーワードとともに指定した場合には 、プロトタイプまたはプロシージャー・インターフェース・パラメーター定義に も NOOPT キーワードも指定しなければなりません。 値によって渡されるパラメーターにはこの要件は適用されません。

ヒント

OPM RPG/400 プログラムの中で定義されるデータ項目は、すべて暗黙に NOOPT と ともに定義されます。 したがって、OPM プログラム用のプロトタイプを作成している場合には、そのプ ロトタイプの中に定義されるすべてのパラメーターに NOOPT を指定しなければな りません。 これによって、プロトタイプのユーザーのエラーが防止されます。

独立フィールド定義、パラメーター、またはデータ構造定義に使用可能なすべて のキーワードは、NOOPT と一緒に使用することができます。