プログラム状況コード

サブフィールド位置 *STATUS に入るコードで 99 より大きいものは、例外/エラー条件と見なされます。 状況コードが 99 より大きい場合には、73 から 74 桁目に エラー標識が指定されていれば、その標識がオンに設定されます。'E' 拡張が指定されていれば、%ERROR 組み込み関数が '1' を戻すように設定されるか、 または MONITOR ブロックの中の適切な ON-ERROR グループに制御が渡されます。そうでない場合は、プログラム例外/エラー処理サブルーチンが制御を受け取ります。 位置 *STATUS は、例外/エラーが起こった時に更新されます。

%STATUS 組み込み関数は、プログラムまたはファイル状況に関して設定された最新の値を戻します。

プログラム状況データ構造のサブフィールド位置 *STATUS には、次のコードが入 れられます。

通常のコード
コード
条件
00000
例外/エラーは起こっていない。
00001
呼び出されたプログラムから LR 標識がオンになって戻った。
00050
変換の結果、置換が行われる。
例外/エラー・コード
コード
条件
00100
ストリング命令の範囲外の値。
00101
負の平方根。
00102
ゼロによる除算。
00103
中間結果が結果を入れるだけ大きくない。
00104
浮動アンダーフロー。 中間値が小さ過ぎて、中間結果フィールドに 入りません。
00105
文字の中にある、数値変換関数に対して無効な文字。
00112
日付、時刻、またはタイム・スタンプの値が正しくない。
00113
日付オーバーフローまたはアンダーフロー。 (たとえば、日付演算の結果 が *HIVAL より大きいかまたは *LOVAL より小さい数になるとき。)
00114
日付が 4 文字の年から 2 文字の年にマップされ、日付の範囲が 1940 から 2039 に ない日付マッピング・エラー。
00115
可変長フィールドの現在の長さが正しくない。
00120
テーブルまたは配列の順序が違っている。
00121
配列指標が正しくない。
00122
OCCUR が範囲外。
00123
プログラムの初期化ステップでリセットしようとした。
00202
呼び出されたプログラムまたはプロシージャーが正常に実行されず、停止標 識 (H1 から H9) はオンでない。
00211
呼び出し側プログラムまたはプロシージャーのエラー。
00222
ポインターまたはパラメーター・エラー。
00231
呼び出されたプログラムまたはプロシージャーから停止標識がオンになって 戻った。
00232
このプログラムで停止標識がオンになった。
00233
RETURN 命令の実行時に停止標識がオンになった。
00299
RPG IV 定様式ダンプが失敗した。
00301
メソッドの呼び出しでクラスまたはメソッドが見付からなかったか、あるいはメソッドの呼び出しでエラー。
00302
Java™ ネイティブ・メソッドへの入り口において、Java 配列から RPG パラメーターへの変換時にエラー。
00303
RPG ネイティブ・メソッドからの出口において、RPG パラメーターから Java 配列への変換でエラー。
00304
Java メソッドの呼び出しの準備中に、RPG パラメーターから Java 配列への変換でエラー。
00305
Java メソッド後の Java 配列から RPG パラメーターまたは戻り値への変換でエラー。
00306
RPG 戻り値から Java 配列への変換でエラー。
00333
DSPLY 命令のエラー。
00351
XML 文書の構文解析時エラー。
00352
%XML の無効オプション。
00353
XML 文書が RPG 変数に一致しない。
00354
XML 構文解析の準備時エラー。
00401
IN/OUT で指定されたデータ域が見付からない。
00402
事前開始でないジョブに対しては *PDA は無効。
00411
データ域のタイプまたは長さが一致しない。
00412
データ域が出力用にロックされていない。
00413
IN/OUT 命令のエラー。
00414
ユーザーにデータ域を使用する権限がない。
00415
ユーザーにデータ域を変更する権限がない。
00421
UNLOCK 命令のエラー。
00425
記憶割り振りに必要な長さが範囲外。
00426
記憶域管理操作中にエラーが起こった。
00431
データ域は別のプログラムによってすでにロック済みである。
00432
データ域は同じ処理内のプログラムによってロック済みである。
00450
文字フィールド全体がシフトアウトおよびシフトイン文字で囲まれてい ない。
00451
2 つの CCSID 間の変換はサポートされません。
変更の始まり00452変更の終わり
変更の始まり2 つの CCSID 間で変換できない文字があった。変更の終わり
00501
分類順序検索の障害。
00502
分類順序変換の障害。
00802
コミットメント制御は活動状態になっていない。
00803
ロールバック操作が正常に実行されなかった。
00804
COMMIT 命令でエラーが起こった。
00805
ROLBK 命令でエラーが起こった。
00907
10 進数データ・エラー (数字または符号が無効)。
00970
プログラムの生成に使用されたコンパイラーのレベル番号が、RPG IV の実行時サブルーチンのレベル番号と一致しない。
09998
ILE RPG コンパイラーまたは実行時サブルーチンの内部障害。
09999
システム・ルーチン内のプログラム例外。