CHECK機能を使用する(CHECK)か、しない(NOCHECK)かを指定します。
表示メッセージ数には、メッセージを表示させる回数を0~999999の整数で指定します。
項目 | 説明 | |
---|---|---|
CHECK機能 | CHECK機能の使用の可否を指定します。 初期値では[CHECK機能を使用しない]が選択されます。 | |
| CHECK機能を使用する | CHECK機能を使用します。 |
CHECK機能を使用しない | CHECK機能を使用しません。 | |
表示メッセージ数 | 表示されるメッセージ数を指定します。 | |
検査項目 |
| |
| ALL | NUMERIC、BOUND、ICONF、LINKAGEおよびPRMをすべて検査します。 |
BOUND | 添字・指標および部分参照の範囲外検査を行います。 | |
ICONF | INVOKE文のパラメタと呼び出すメソッドの仮パラメタの適合検査を行います。 | |
NUMERIC | データの例外を検査します。データの例外は数値項目がその属性に適さない値を含む場合、または、除算演算の除数が0(ゼロ)の場合に発生します。 | |
PRM | 翻訳時に、内部プログラムを呼び出すCALL文(CALL一意名を除く)のUSING指定またはRETURNING指定に記述されたデータ項目と内部プログラムのUSING指定またはRETURNING指定に記述されたデータ項目に対して以下の検査を行います。
実行時に、外部プログラムを呼び出すCALL文のUSING指定またはRETURNING指定に記述されたデータ項目と外部プログラムのUSING指定またはRETURNING指定に記述されたデータ項目に対して以下の検査を行います。
なお、実行時に長さが決定する場合は、翻訳時に記述した長さの最大値を使って、検査を行います。 |
注意
ビルドモードがデバッグの場合、オプションの指定に関係なくCHECK(ALL)オプションが付加されます。
CHECK機能使用時には、n回目のメッセージが出力されるまで、プログラムの処理が続行されますが、領域破壊などによりプログラムが期待どおり動作しない場合があります。なお、nに0を指定した場合には、メッセージの表示回数に関係なく、プログラムの処理が続行されます。
CHECKを指定すると、上記の検査をするための処理が目的プログラム中に組み込まれるため、実行性能が低下します。デバッグ終了時には、NOCHECKを指定して再翻訳してください。
ON SIZE ERROR指定またはNOT ON SIZE ERROR指定の算術文では、ON SIZE ERRORの除数のゼロ検査が行われ、CHECK(NUMERIC)の除数のゼロ検査は行われません。
CHECK(NUMERIC)のデータ例外検査は、外部10進項目または内部10進項目が参照で使用される場合、および、英数字項目または集団項目から、外部10進項目または内部10進項目へ転記される場合に行われます。ただし次は、チェックの対象とはなりません。
添字としてALLが指定されている表要素
SEARCH ALL文におけるキー項目(ただしキー項目に対する添字が1次元かつWHEN条件がひとつだけである場合は除く)
SORT/MERGE文におけるキー項目
SQL文中で使用されているホスト変数
CALL文、INVOKE文および行内呼び出しのBY REFERENCEパラメタ
次の組み込み関数の引数
FUNCTION ADDR
FUNCTION LENG
FUNCTION LENGTH
英数字項目または集団項目から、外部10進項目または内部10進項目のオブジェクトプロパティへの転記