サブフィールド位置 *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
- システム・ルーチン内のプログラム例外。