
RNX8888で検索して来た人が最初に見るポイント

RNX8888は、単独の原因というより、RPGの例外処理中にさらにエラーが起きている時に見かけることがあります。そのため、RNX8888の行だけを見て判断せず、直前に出ているCPFメッセージ、呼び出し元プログラム、例外処理、ログ出力処理を順に確認します。
現場で多いのは、元のエラーを処理しようとした出口処理、エラーログ出力、メッセージ送信、ファイル更新、CALL先の処理でさらにエラーが起き、原因が二重に見えるパターンです。最初に発生したエラーと、例外処理中に起きた二次エラーを分けて読むと整理しやすくなります。
- ジョブログでRNX8888の直前にあるCPF/RNXメッセージを見る
- CALL関係とプログラムスタックを確認する
- エラー処理、ログ出力、メッセージ送信の中で再度エラーが起きていないか見る
- ファイル更新が絡む場合は、対象ファイルとキーを確認する
- 本番対応では、ジョブ終了、リラン、データ補正を急いで決めない
ジョブログの基本的な読み方はAS400のジョブログ確認手順で、CPFメッセージの入口はAS400 CPFエラー・メッセージID索引で整理しています。症状から探す場合はAS400トラブル逆引きも使えます。
RNX8888を相談する前に残す情報
RNX8888は、最初のエラーではなく、例外処理中に起きた二次エラーとして見えることがあります。本番で発生した場合は、ジョブを止めるか、MSGWへ返信するかを急ぐ前に、発生時刻、ジョブログ、直前のCPF/RNX、CALL関係、業務影響を残します。
| 残す情報 | 確認する記事 |
|---|---|
| 本番影響と初動判断 | 本番トラブル初動チェックリスト |
| QSYSOPRやMSGWの状態 | QSYSOPR / DSPMSG / WRKMSGQの確認手順 |
| 症状別の確認入口 | AS400トラブル逆引き |
| 改修前の影響範囲 | AS400保守会社に相談する前のチェックリスト|障害・小改修・データ抽出・リプレースで整理すること |
RNX8888は、再帰の有無だけでなくCALL関係を追う
RNX8888は再帰的な呼び出しや異常終了の連鎖で出ることがありますが、実際の調査では「どのプログラムが、どの順番で、何を呼んだか」を追うことが重要です。ジョブログの最後だけを見ると、本当の入口になったプログラムや、直前に渡したパラメータを見落とすことがあります。
| 見る観点 | 確認内容 | 関連する確認 |
|---|---|---|
| CALL関係 | 親プログラム、子プログラム、再呼び出しの有無を見る | AS400保守会社に相談する前のチェックリスト|障害・小改修・データ抽出・リプレースで整理すること |
| ジョブログの前後 | 最後のエラーだけでなく、その前のCPF/RNXを見る | CPFエラーとジョブログ |
| パラメータ | 呼び出し時の桁、型、未設定値を確認する | RPG保守の基本 |
| 同じ条件で再現するか | 特定データだけか、毎回発生するかを分ける | トラブル逆引き |
RNX8888の調査では、結論を急がず、呼び出し関係、入力値、直前メッセージ、再現条件を分けて整理します。社内で引き継ぐ場合は、エラー番号だけでなく「どこまで確認済みか」を残すと、次の担当者が同じ確認を繰り返さずに済みます。
RNX8888の直前メッセージから追う例
RNX8888が表示されても、メッセージIDだけで再帰呼び出しと断定せず、同じジョブログ内で先に発生した異常を探します。
| 確認点 | 確認内容 | 判断 |
|---|---|---|
| 時系列 | RNX8888より前のCPF/RNXと送信元プログラムを記録する | 最初の異常と後続エラーを分ける |
| 呼び出し | CALL関係、サブルーチン、エラー処理経路を整理する | 同じ処理へ戻る条件をソースで確認する |
| 入力 | 発生データ、パラメータ、再現条件、直前変更を比較する | 特定データだけか全件かを分ける |
修正後は正常系だけでなく、元のエラー条件を再現し、エラー処理が再び自分自身を呼ばないことを確認します。ジョブログには確認したプログラムと未確認の経路を残します。
参考:IBM公式ドキュメント(CALL)
本記事で扱った CALL の全パラメーターと指定できる値は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。
