実例で確認したい場合は、CPF4101の調査例、RNXエラーの調査例、MSGW夜間バッチ停止の対応例 も参考にしてください。
AS400 / IBM i の障害調査で最初に見るべきものがジョブログです。画面でエラーが出た時、バッチが止まった時、RPGやCLが異常終了した時、原因の入口はほとんどの場合ジョブログに残っています。
この記事では、初心者が迷いやすい「最後のメッセージだけ見て終わる」状態から抜け出し、CPF、RNX、MCH、MSGW、呼び出し元、対象ファイル、ライブラリまでつなげて確認する手順を整理します。
ジョブログで分かること
| 見るもの | 分かること | 次に確認する先 |
|---|---|---|
| メッセージID | CPF、RNX、MCHなどエラーの種類 | IBM iのメッセージ説明、前後のログ |
| 重大度 | 警告か異常終了に近いか | ジョブ終了理由、後続処理 |
| プログラム名 | どのRPG/CLで発生したか | ソース、呼び出し元、コンパイルリスト |
| ファイル名 | 対象PF/LF、プリンタファイル、ワークファイル | ライブラリ、ロック、権限、存在確認 |
| 直前のメッセージ | 本当の原因に近い情報 | 最後ではなく少し上へ戻って読む |
基本コマンド
| コマンド | 用途 | 使う場面 |
|---|---|---|
| DSPJOBLOG | 自分のジョブログを表示する | 画面操作直後の確認 |
| WRKJOB | 対象ジョブの詳細を開く | ジョブ番号やユーザーが分かる時 |
| WRKACTJOB | 実行中ジョブを見る | MSGW、LCKW、CPU高騰の確認 |
| WRKSBMJOB | 投入済みバッチを見る | 自分が投入したバッチの確認 |
| WRKSPLF | スプールを確認する | コンパイルリスト、帳票、エラーリスト確認 |
最後のメッセージだけで判断しない
ジョブログ調査でよくある失敗は、最後に出ている「ジョブが異常終了しました」という結果メッセージだけを原因だと思ってしまうことです。本当の原因は、その少し前に出ているファイル未検出、権限不足、レコードロック、数値変換、配列範囲外、RPG実行時エラーなどです。
| メッセージ | よくある意味 | 確認ポイント |
|---|---|---|
| CPF | IBM i全般のメッセージ | 権限、ファイル、オブジェクト、コマンドエラー |
| RNX | RPG実行時エラー | 数値変換、ゼロ除算、配列、ファイル処理 |
| MCH | 低レベルの実行時エラー | プログラム異常、ポインタ、呼び出し関係 |
| CPA | 応答が必要な問い合わせ | MSGWで止まっている可能性 |
MSGWで止まった時
MSGW はジョブがメッセージ応答待ちで止まっている状態です。すぐに応答する前に、メッセージID、応答候補、対象プログラム、対象ファイル、発生時刻、後続処理への影響を確認します。応答値の意味が分からないまま C や I を返すと、処理を止めすぎたり、危険な状態で継続したりすることがあります。
RPG・CLとつなげて読む
ジョブログだけで完結しない場合は、RPGやCLのソースと合わせて確認します。CLのMONMSGでエラーを拾っているのか、RPGのCHAINやUPDATEで失敗しているのか、呼び出し先プログラムで落ちているのかを分けて見ます。
関連する読み方は、RPG保守の確認ポイント と CLのCALL・SBMJOB・MONMSG でも整理しています。バッチ全体の確認は AS400のバッチ処理確認手順 を見てください。
ジョブログ調査を研修で扱うとき
ジョブログは、メッセージIDを検索するだけでは現場対応につながりません。発生時刻、ジョブ名、ユーザー、呼び出し元CL、対象RPG、対象ファイルを同じ線で追い、どこまでが結果メッセージで、どこからが原因候補なのかを分けて読む練習が必要です。
法人向けのAS400 / IBM i Codex研修では、ジョブログ、RPGソース、CL、実行環境を並べて確認し、Codexに読ませる前に何を伏せ、どこまでを要約すればよいかも扱います。詳細は AS400 / IBM i Codex研修の内容・料金 にまとめています。
まとめ
AS400 / IBM i のジョブログは、障害調査の出発点です。最後の結果メッセージだけでなく、直前の原因メッセージ、対象プログラム、対象ファイル、ライブラリ、呼び出し関係まで追うことで、RPGやCLのどこを見ればよいかが分かります。
