AS400 RNXエラー一覧|RPG実行時エラーの見方と確認ポイント

AS400 / IBM i のRPG保守で実行時エラーを見る時、RNX で始まるメッセージは重要です。CPFがシステム系のメッセージとして出ることが多いのに対して、RNXはRPGプログラムの実行中に起きた問題を追う入口になります。

このページでは、AS400初心者やRPG保守担当者向けに、RNXエラーを見た時の確認ポイントを整理します。厳密な意味はメッセージ詳細と環境で確認する必要がありますが、現場では「どのプログラムで、どの入力データで、どの呼び出し順で起きたか」を見ることが大切です。

現場目線の基本 RNXは番号だけで結論を出さず、ジョブログの前後、該当プログラム、入力データ、配列、ファイル定義、CALL関係をセットで確認します。最後のRNXだけを見ても、根本原因にたどり着けないことがあります。

RNXエラーを見る時の最初の確認順

  1. ジョブログでRNXの前後に出ているメッセージを確認する
  2. プログラム名、ステートメント、呼び出し元を確認する
  3. 入力データ、桁数、符号、ブランク、ゼロ、件数を確認する
  4. 配列、添字、ループ条件、最大件数を確認する
  5. ファイル定義、DSPFFD、コンパイル環境と実行環境の差を見る

よく見るRNXエラーと確認ポイント

RNX現場で疑うこと最初に見るポイント関連
RNX0100系RPG実行時エラー全般の入口として見るメッセージ詳細、プログラム名、発生箇所、直前のCPF/RNXを確認するジョブログ確認
RNX0112数値、桁、変換、入力データの不整合を疑う場面がある対象項目の桁数、符号、ブランク、文字混入、DDS定義を確認するDSPFFD/DSPPFM
RNX0121計算、代入、変換系の不整合を疑う場面がある数値項目、編集項目、フル桁入力、異常値の有無を確認する単体テスト
RNX0301配列、添字、範囲外アクセスを疑う入口配列定義数、入力件数、ループ条件、添字の加算条件を確認するRPG保守
RNX0351ファイル、レコード、入出力処理まわりの問題を疑うファイル定義、レコード形式、READ/CHAIN/UPDATE周りを確認するPF/LF
RNX121610進数データ、数値変換、テスト不足を疑う入力データ、外部連携データ、数値項目の桁・符号・ブランクを確認する単体テスト
RNX8888再帰的エラー。表に出ているメッセージだけでは原因が見えにくいCALL関係、直前のエラー、繰り返し発生しているメッセージを追うRNX8888対応

配列系RNXで見るポイント

RPG保守で怖いのは、配列の定義数が少なすぎて、ある日データ件数が増えた時にパンクするケースです。最初は問題なく動いていても、販売管理システムでは商品数、店舗数、明細件数、外部連携件数が増えることで、今まで通っていた処理が突然落ちることがあります。

配列系のRNXを見た時は、単に該当行だけを直すのではなく、配列の最大件数、ループ条件、入力データ件数、終了条件を確認します。単体テストでは、通常件数だけでなく、件数を増やしたパターンを見ておくと事故を減らせます。

10進数・数値変換系RNXで見るポイント

10進数データエラーや数値変換系のRNXは、単純にテスト不足で出ることがあります。数字項目に想定外の文字が入っている、ブランクが入っている、符号や桁数が合っていない、外部連携データの形式が違う、というようなケースです。

販売管理では、数量、金額、単価、税額、在庫数、発注数、売上金額など、数値項目が多くあります。フル桁入力テスト、ゼロ、マイナス、最大桁、外部CSV連携データなどを確認していないと、本番でRNXとして出ることがあります。

RNX8888は前後の流れを見る

RNX8888 は、再帰的エラーとして出ることがあり、最後のメッセージだけを見ても原因が分かりにくいことがあります。RNX8888が出た時は、CALL関係、呼び出し元、直前のCPFやRNX、同じメッセージが繰り返されていないかを見ます。

RNX8888は、見えているエラーが「結果」で、その前に別の原因があることがあります。ジョブログを下から見るだけでなく、少し上に戻って、どの処理から流れが変になったのかを追うことが大事です。

RNXエラーで単体テストを見直す

RNXが出た時は、プログラム修正だけで終わらせず、単体テストの見直しも必要です。仕様通りに動くか、パターンテストを行ったか、フル桁入力を見たか、データ件数を増やしたか、外部連携データを確認したかを見るべきです。

エビデンスだけきれいに残っていても、実際に動かしてみたら結果が違うことがあります。プログラムを直したら再テストする。これは基本ですが、現場ではここを手抜きすると後工程でみっともない不具合になります。

RNX調査で一緒に読む記事