AS400のWRKJOBとDSPJOBLOGの使い方|スプール・ジョブログ確認を初心者向けに解説

AS400(IBM i)の保守で、WRKACTJOBやMSGWと並んで覚えておきたいのが WRKJOBDSPJOBLOG です。

WRKJOBはジョブの状態やスプールを確認する入口、DSPJOBLOGはジョブが実行中に何をしたかを見るログです。初心者には少し地味に見えるかもしれませんが、これを覚えないとAS400保守はできない、と言っていいくらい大事です。

この記事では、25年以上AS400 / IBM iの販売管理システム保守に関わってきた現場目線で、初心者がまずどこを見ればよいかを整理します。

WRKJOBとは

WRKJOBは、指定したジョブに対して、ジョブ状況、ジョブ実行属性、スプール・ファイル、ジョブログなどを確認するためのコマンドです。

WRKJOB JOB(999999/TEST001/TEST001)

活動中のジョブだけでなく、終わったジョブのスプールやジョブログを確認する時にも使います。WRKACTJOBで異常ジョブを見つけた後、対象ジョブの詳細を確認する入口として使うことが多いです。

AS400のWRKJOB画面。ジョブ状況、ジョブ定義属性、スプールファイル、ジョブログ表示などのメニューが表示されている例
WRKJOBのジョブ処理画面。初心者には、まずスプール・ファイルの場所を見せると理解しやすいです。

初心者に最初に見せるならスプール・ファイル

WRKJOBの画面には、ジョブ状況属性、ジョブ定義属性、ジョブ実行属性、スプール・ファイルなど、いろいろな項目があります。

初心者に最初に見せるなら、私は スプール・ファイル です。ここに帳票出力されたスプールやジョブログが保管されることを見せると、「ジョブの結果がどこに残るのか」が理解しやすくなります。

項目初心者への見せ方現場での使いどころ
スプール・ファイル最初に見せる帳票、コンパイルリスト、ジョブログの確認
ジョブ状況属性慣れてからでよいジョブの状態を詳しく見る時
ジョブ実行属性初心者には分かりにくい環境や実行条件を確認する時
ライブラリー・リスト本番確認では重要どのライブラリを参照しているかの確認

スプール以外の項目は、初心者には「それを見てどうなるの?」となりやすいです。まずは、ジョブの結果がスプールに残ることを理解してから、必要に応じて他の項目へ進めば十分です。

DSPJOBLOGとは

DSPJOBLOGは、ジョブのログを表示するコマンドです。アプリケーションが実行中に何をしたか、どのプログラムを呼んだか、どんなメッセージが出たかを時系列で確認できます。

DSPJOBLOG JOB(999999/TEST001/TEST001)

ジョブログを見る時は、メッセージIDだけで判断するのではなく、重大度、時刻、プログラム名、ライブラリ名、前後の流れも見ます。私は一通り全部見ますが、初心者にはまず重大度とメッセージIDを押さえさせるのが入り口として分かりやすいです。

AS400のジョブログ表示画面。CALL、MSGW、メッセージの折り返しなど、障害調査で確認する情報が並んでいる例
DSPJOBLOGのジョブログ表示画面。日付・時刻付きで、ジョブが何を処理したかを追えます。

コンパイルリストとジョブログの違い

初心者には、コンパイルリストとジョブログの違いもよく混乱されます。

私は次のように説明します。

種類説明見る場面
コンパイルリストアプリをコンパイルした時のレポートコンパイルエラー、警告、ソース行の確認
ジョブログアプリを実行した時のレポート実行時エラー、MSGW、CALLの流れ、処理時刻の確認

コンパイルリストは、エラーがあってもなくても出力させます。ジョブログは、日付、時間付きで、ジョブが何を処理したかが分かるログです。

つまり、作った時の確認がコンパイルリスト、動かした時の確認がジョブログです。

ジョブログで最低限見る項目

ジョブログを見る時、メッセージIDだけを見ると、原因ではなく結果だけを拾ってしまうことがあります。ただ、初心者の入口としては重大度を見ること自体は悪くありません。まずは重大度で当たりを付けて、そこから前後のメッセージを追うのが現実的です。

見る項目確認する理由
メッセージIDCPF、RNX、MCHなど、エラーの種類をつかむ
重大度どの程度の問題として扱うかの目安にする
時刻どの処理タイミングで発生したかを見る
プログラム名どの処理で起きたかを見る
ライブラリ名本番/テスト、参照先の取り違えを疑う
前後のメッセージ結果ではなく原因に近いメッセージを探す

特にMSGWのようなメッセージ待ち状態では、返答文字を入れる前にジョブログを確認します。DやGを安易に返すと、リトライで戻せた処理まで戻せなくなることがあります。

調査メモに残す最低限の項目

ジョブログを調べたあと、最低限メモに残すなら、ジョブ名、ユーザー、番号です。

項目残す理由
ジョブ名TEST001どのジョブを調査したか分かる
ユーザーTEST001誰のジョブか分かる
番号999999同名ジョブでも特定できる
メッセージIDCPFxxxx / RNXxxxxエラー内容を後から追える
スクショジョブログ該当画面共有時に認識違いを減らせる

障害対応でジョブログを共有する時、私はスクショ派です。文章で説明するより、該当行の画面を見せた方が早いことが多いです。ただし、顧客名、個人情報、実データが写っていないかは必ず確認します。

WRKJOB / DSPJOBLOGを覚えないと保守はできない

WRKJOBやDSPJOBLOGを覚えるとAS400保守が楽になる、というより、これを覚えないと保守ができません。

販売管理システムでは、受注、出荷、在庫、売上、請求、外部I/Fなど、処理がつながっています。どこかでジョブが止まった時、ジョブログを見ずに判断すると、影響範囲を見誤ります。

まずはWRKJOBでスプール・ファイルを見る。ジョブログで重大度、メッセージID、前後の流れを見る。分からない時は勝手に返答せず、スクショを取って上長やメンバーに共有する。この流れを覚えるだけでも、AS400保守の入口としてかなり強くなります。

次に読む記事

WRKACTJOB、MSGW、ジョブログはセットで覚える

WRKJOBとDSPJOBLOGは単独で覚えるより、WRKACTJOB、MSGW、ジョブログとセットで覚えた方が現場で使いやすいです。

  • WRKACTJOBで異常ジョブを見つける
  • MSGWでメッセージ待ちの状態を判断する
  • ジョブログで実行時の流れを追う
  • WRKJOBでスプール・ファイルや対象ジョブの情報を確認する

この流れが分かると、AS400保守で「どこから見ればよいか」がかなり整理されます。

コンパイルリストもスプールで確認する

WRKJOBでスプール・ファイルを見る時は、ジョブログだけでなくコンパイルリストも確認対象になります。コンパイルリストは、アプリを作った時のレポートです。ジョブログは、アプリを動かした時のレポートです。

RPG保守では、コンパイルリストの一番下を見て、コンパイルが成功したか、重大度がどのくらいかを確認します。詳しい読み方は、AS400のコンパイルリストの読み方で整理しています。

単体テスト後はスプールとジョブログも確認する

単体テストでは、画面の結果だけでなく、スプールやジョブログも確認します。帳票が出る処理ならスプール、実行時の流れを追うならジョブログです。

RPG/CL修正後にどこまで確認するかは、AS400保守の単体テスト観点にまとめています。

WRKSPLFとDSPJOBDも合わせて覚える

WRKJOBでスプールを見る流れを覚えたら、WRKSPLFとDSPJOBDも合わせて覚えると、帳票・ジョブログ・コンパイルリスト・ジョブ記述の確認がしやすくなります。

AS400のWRKSPLF画面サンプル。スプールファイルを確認する画面
WRKSPLFは、帳票、ジョブログ、コンパイルリストなどのスプールを確認する時に使います。単体テスト後のエビデンス確認でもよく見る画面です。
AS400のDSPJOBD画面サンプル。ジョブ記述を表示する画面
DSPJOBDは、ジョブ記述を確認する画面です。ジョブ待ち行列、出力先、実行環境の前提を確認する時に使います。バッチ処理の調査では、どのジョブ記述で動く前提なのかを見ることがあります。

WRKSPLFでスプールを探す

WRKJOBからスプールを見る流れに慣れたら、WRKSPLFでユーザーやスプール名から探す方法も覚えておくと便利です。詳しくは、AS400のWRKSPLFとは?で解説しています。

まとめ

WRKJOBはジョブの結果やスプールを確認する入口です。初心者には、まずスプール・ファイルを見せると理解しやすいです。

DSPJOBLOGは、アプリを実行した時のレポートです。メッセージID、重大度、時刻、プログラム名、前後の流れを見て、何が起きたのかを確認します。

AS400保守では、WRKJOBとDSPJOBLOGを避けて通れません。MSGWや本番障害に対応する前に、まずこの2つを落ち着いて見られるようになることが大事です。