AS400ジョブログの見方|DSPJOBLOGでCPF・RNX・MSGWとリラン可否を追う

AS400 / IBM i の障害対応では、ジョブログを読めるかどうかで初動の速さが変わります。CPFエラー、RNX(RPG実行時エラーのメッセージID)エラー、MSGW、夜間バッチ停止は、どれも最終的にはジョブログで「何が先に起きたか」を確認します。この記事では、初心者がDSPJOBLOGを見る時に迷いやすい読み順を、現場目線で整理します。

ジョブログは、最後のメッセージだけを見ても原因を間違えることがあります。最後に出ているのは結果で、その少し前に本当の原因が出ていることが多いからです。25年以上の現場経験で見ると、若手ほど最後の異常終了メッセージだけを見て判断しがちです。

ジョブログを見る前に控える情報

  • ジョブ名、ユーザー、ジョブ番号
  • 発生時刻と、業務担当者が気付いた時刻
  • 夜間バッチ、画面操作、帳票、出荷確定などの業務名
  • MSGWなのか、異常終了なのか、まだ実行中なのか
  • 再実行済みか、まだ何も触っていないか

DSPJOBLOGで見る順番

順番見る場所判断すること
1最後のメッセージ異常終了、MSGW、正常終了、キャンセルのどれかを見る
2最後の少し前本当の原因になったCPF/RNX/MCHを探す
3プログラム呼び出し前後どのCL、RPG、CALLで止まったかを見る
4ファイル操作の直前ファイル名、ライブラリ、メンバー、権限、排他を確認する
5ジョブ開始時刻付近環境、ライブラリリスト、投入元、実行ユーザーを見る

最後のメッセージだけで判断しない

ジョブログの最後に「ジョブが終了した」「プログラムが異常終了した」と出ていても、それ自体は結果です。原因はその前にあるCPF4101、CPF9802、RNX0100、RNX8888、MCH3601などのメッセージかもしれません。まず最後で状態を見て、少し上へ戻って原因候補を探します。

メッセージIDの入口を整理したい場合は、AS400メッセージID・エラーコード索引を使うと、CPF、RNX、MCH、MSGWを分けて確認できます。

CPFエラーを見る時のポイント

CPFエラーは、ファイル、ライブラリ、権限、装置、ジョブ環境など幅が広いです。たとえばCPF4101ならファイル、メンバー、ライブラリリスト、OVRDBFを疑います。権限不足はCPF9802など、前後のメッセージIDで分けて確認します。ファイル名だけでなく、どのライブラリを見ているか、実行ユーザーに権限があるか、他ジョブが排他していないかを確認します。

CPF中心で調べる場合は、AS400のCPFエラーとジョブログ確認手順に詳しく整理しています。

RNXエラーを見る時のポイント

RNXはRPG実行時エラーとして見ると分かりやすいです。数値変換、配列、桁あふれ、想定外データ、再帰的エラーなど、プログラムとデータの関係を確認します。ジョブログだけで終わらず、どの入力データで落ちたか、直前に読んだファイルは何かを追います。

RNX8888のように現場が混乱しやすいエラーは、AS400のRNX8888再帰的エラー対応も合わせて確認してください。

MSGWでは返信前の証跡を残す

MSGWは、返信内容によって後続処理が進むこともあれば、ジョブ終了や手戻りにつながることもあります。返信前に、ジョブ名、メッセージID、メッセージ本文、応答候補、直前の処理、業務影響を控えておくと、後で説明しやすくなります。

MSGWの判断は、AS400 MSGWとは?原因確認・返答手順と夜間バッチのリラン判断と、MSGWを早期検知する考え方に分けて整理しています。

Codexでジョブログ調査を補助する時

ジョブログの確認観点を整理する用途なら、Codexは調査時間短縮に使いやすいです。ただし、会社名、ユーザー名、取引先名、本番データは伏せて、メッセージID、処理名、匿名化した流れだけを渡すのが前提です。AIの回答をそのまま復旧判断に使うのではなく、調査メモの整理として使います。

実例の考え方

以下は読み分けのための架空例です。実機ログの転載でも、メッセージ全文の再現でもありません。

時刻・記録の例読み取れる事実まだ分からないこと
09:00 バッチ開始対象ジョブが開始した前処理が必要なデータを用意できたか
09:02 CPF4101、対象ORDERPF、ライブラリ*LIBL記録された実行条件でファイルが見つからなかった未作成なのか、参照先・実行条件が違うのか
09:02 呼出元へ異常通知呼出先の失敗が上位処理へ伝わったそれ以前に別ファイルを更新していないか

この場合の調査メモは「事実:CPF4101と対象ファイル名を確認」「仮説:前処理未完了またはライブラリリスト差」「次の確認:対象バッチの実行条件、前処理ログ、ファイル作成結果」「保留:再実行は途中更新と後続影響の確認・承認後」と分けます。手元の5250ジョブのDSPLIBLだけで対象バッチも同じだと判断しないでください。

Codexでジョブログを整理する場合は、AS400ジョブログをCodexで要約するプロンプト例も参考にしてください。

原因切り分けは、事実・推測・対応を分けて残す

ジョブログ調査では、見つけたメッセージをそのまま原因として書くのではなく、事実として確認できたこと、そこから推測したこと、実際に行った対応を分けて残すと品質が上がります。後から別の担当者が見た時に、どこまで確認済みで、どこから未確認なのかが分かるためです。

記録する欄書く内容
事実ジョブログに出ているメッセージ、時刻、ジョブ名、プログラム名CPF、RNX、MSGWなど
確認済みライブラリ、ファイル、権限、前処理、再実行履歴AS400ライブラリの確認方法|仕組みとオブジェクト管理を初心者向けに解説
推測可能性は高いが、まだ断定できない原因前処理未完了、データ不足など
対応再実行、保留、担当者連絡、翌営業日確認など本番判断
教育同じ読み方をチームに展開するための観点研修内容を見る

この整理をしておくと、CodexやClaude Codeに相談する場合も、機密情報を出さずに「概要」「確認済み」「未確認」を分けて入力できます。本番接続情報、パスワード、顧客名、実データ、ソース全文は入力せず、ジョブログの要点だけを扱うのが安全です。

プロンプト例

以下はAS400のジョブログ抜粋です。
機密情報はマスク済みです。
1. 何が起きたか
2. 最初に見るべきメッセージID
3. MSGW、CPF、RNXの関係
4. 原因候補
5. 追加で確認するコマンド
6. 業務担当者へ確認すること
7. 再実行してよいか判断する前の注意点
を整理してください。
分からない点は断定せず、質問として列挙してください。

まとめ

AS400のジョブログは、最後から見るだけでなく、原因候補へ戻って読むことが大切です。最後のメッセージで状態を見て、その前のCPF、RNX、MCH、MSGWを確認し、ファイル、ライブラリ、業務影響へつなげます。本番障害の初動では、ジョブログを読む順番を決めておくだけで、調査の迷いをかなり減らせます。

関連: AS400のRPGソースをAIに読ませる時の注意点もあわせて確認してください。

ジョブログは、最後のエラーだけでなく前後の流れを読みます

AS400のジョブログでは、最後に表示されたCPFやRNXだけを見ても原因が分からないことがあります。直前のファイル、ライブラリ、権限、MSGW、呼び出し元、後続処理の流れを見ることで、最初のきっかけを見つけやすくなります。

ジョブログは、原因だけでなくリラン可否まで読む

ジョブログを見る目的は、エラーIDを見つけることだけではありません。現場では、そのジョブをもう一度流せるのか、途中まで更新済みなのか、前処理や後続処理に影響が出ているのかまで確認します。MSGWで止まっている場合は、QSYSOPRのメッセージとジョブログを合わせて見ます。

  • 最初に出たCPF/RNX/MCHと、最後に止めたメッセージを分ける
  • MSGWなら、2次テキストと返信候補を確認する
  • 夜間バッチなら、前後のジョブと後続処理の有無を見る
  • ファイル更新がある処理なら、DSPJRNで更新前後を追えるか確認する
  • リラン、戻し、補正更新のどれが安全かを切り分ける

MSGWの返答判断はAS400 MSGWとは?原因確認・返答手順と夜間バッチのリラン判断、DSPJRNで更新前後を見る流れはAS400ジャーナル確認手順も参考にしてください。

参考:IBM公式ドキュメント(DSPJOBLOG)

本記事で扱った DSPJOBLOG の全パラメーターと表示項目の定義は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。