AS400 / IBM i の保守で、障害調査の入口になるコマンドの一つが WRKACTJOB です。
販売管理システムの現場では、客先から「処理がおかしい」「画面が返ってこない」「バッチが進んでいない」と問い合わせが来た時点で、まず WRKACTJOB を見ることがあります。ジョブが動いているのか、止まっているのか、MSGWで応答待ちになっているのかを切り分ける入口になるからです。
この記事では、25年以上AS400 / IBM i の販売管理システム保守に関わってきた立場から、WRKACTJOB で最初に見るところ、MSGWを見つけた時の注意、初心者がやりがちな危ない対応を整理します。

WRKACTJOBとは
WRKACTJOB は、AS400 / IBM i 上で活動しているジョブを確認するためのコマンドです。対話ジョブ、バッチジョブ、サブシステムジョブなど、システム上で動いているジョブの状態を一覧で確認できます。
WRKACTJOB
初心者向けに一言でいうと、「今AS400上で何が動いているかを見る画面」です。障害調査では、ここで全体の様子を見てから、対象ジョブのジョブログや周辺状況を追っていきます。
最初に見るのはCPU使用率とMSGW
私が WRKACTJOB を見る時に最初に確認するのは、CPU使用率とMSGWです。
| 最初に見る項目 | 見る理由 | 現場での判断 |
|---|---|---|
| CPU使用率 | 暴走しているジョブがないか確認する | 異常にCPUを使っているジョブがあれば、処理内容や影響範囲を調べる |
| MSGW | ジョブがメッセージ応答待ちで止まっていないか確認する | ジョブログを見て、何が起きているか把握してから応答を考える |
| 機能 | どのプログラムや処理で動いているかを見る | 販売管理のどの処理に影響するかを考える |
| ユーザー・ジョブ名 | 誰のジョブか、どの処理かを見る | 対象者や対象処理を切り分ける |
CPU使用率が異常に高いジョブがある場合は、暴走ジョブの可能性があります。もちろん、単に重い処理が動いているだけの場合もありますが、「いつもと違う動き」かどうかを見ることが大切です。
もう一つ重要なのが MSGW です。MSGWは、ジョブがメッセージ応答待ちになっている状態です。販売管理のバッチや連携処理がMSGWで止まっていると、後続処理に影響することがあります。
MSGWの返答判断を詳しく知りたい場合は、AS400のMSGWとは?メッセージ待ちジョブを見つけた時の確認手順で整理しています。
MSGWを見つけた時に初心者がやりがちな危ない対応
初心者がやりがちな危ない対応は、MSGWを見つけてすぐに4番などでジョブを強制終了しようとすることです。
気持ちは分かります。画面上で止まっているジョブを見ると、「早く消さないと」と思ってしまうかもしれません。ただ、そこで焦ってジョブを終わらせると、処理途中のデータ、後続処理、連携処理に影響する可能性があります。
まず落ち着いて、ジョブログを見ます。何が起きているのか、どのプログラムで止まっているのか、ファイルオープンなのか、権限なのか、データエラーなのか、メッセージの前後を確認します。

MSGWを見つけた時の確認順
MSGWを見つけた時、私は次のような順番で考えます。
| 順番 | 確認すること | 注意点 |
|---|---|---|
| 1 | どのジョブがMSGWか | ジョブ名、ユーザー、機能を確認する |
| 2 | 何の処理か | 販売管理なら受注、出荷、在庫、売上、請求、連携のどれかを考える |
| 3 | ジョブログ | 最後のメッセージだけでなく、前後のCALLやファイル操作を見る |
| 4 | 業務影響 | 後続処理や店舗・物流連携に影響があるか確認する |
| 5 | 応答・対応方針 | 勝手に強制終了せず、必要なら上長やメンバーに確認する |
若手に教えるなら、まず「MSGWを見つけたら上長に報告」と言います。今どきは監視や検知システムを入れていて、自動的にメールが飛ぶ仕組みを作っている現場も多いと思います。それでも、画面でMSGWを見つけた時に勝手な判断をしないことは大事です。
RUN、DEQW、SELW、MSGWの見方
WRKACTJOB では、ジョブの状態を確認できます。現場で特に気にするのはMSGWですが、RUN、DEQW、SELWなども見かけます。
| 状態 | ざっくりした見方 | 現場での考え方 |
|---|---|---|
| RUN | 実行中 | 通常の処理中。ただしCPU使用率が高すぎる場合は暴走や長時間処理を疑う |
| MSGW | メッセージ応答待ち | 最優先で内容確認。ジョブログを見て対応を考える |
| DEQW | 待機状態 | すぐ異常とは限らない。処理内容や待ち状態の理由を見る |
| SELW | 待機状態の一種 | 単独では判断しない。処理内容や周辺状況を確認する |
ただし、状態名だけで判断しない方がいいです。たとえばRUNでも、CPUを異常に使っているなら気になります。MSGWなら、内容を見ずに終わらせるのは危険です。状態は入口であり、最終判断はジョブログや業務影響を見て行います。
販売管理システムでWRKACTJOBを見る場面
販売管理システムでは、客先から「おかしい」と問い合わせがあった時点で WRKACTJOB を見ることがあります。
たとえば、出荷処理が進んでいない、在庫引当が終わらない、売上計上のバッチが遅い、店舗連携や物流連携が止まっているように見える。こういう時に、まずシステム側でジョブが動いているのか、MSGWで止まっているのか、CPUを食っているジョブがないかを確認します。
逆に、たまに WRKACTJOB を開いたまま、ずっとF5で画面更新している人もいます。気持ちは分かりますが、それだけでは原因は分かりません。画面を眺め続けるより、異常らしいジョブを見つけたら、ジョブログや周辺処理、業務影響を調べる方が大事です。
WRKACTJOBから次に何を見るか
WRKACTJOB は入口です。異常ジョブを見つけたら、そこで終わりではありません。
WRKACTJOB WRKJOB JOB(123456/USER/TESTJOB) DSPJOBLOG JOB(123456/USER/TESTJOB)
実際には、単純に「WRKACTJOBからWRKJOBへ遷移する」というより、異常ジョブを見つけたらジョブログを含めて周辺状況を調べます。どの処理で止まったのか、前後のメッセージは何か、後続処理に影響するのかを見て、対処を考えます。
関連する確認手順は、AS400のジョブログ確認手順、AS400バッチ処理の確認手順、AS400の本番対応で初心者がやってはいけないことでも整理しています。
初心者向けチェックリスト
| チェック | 内容 |
|---|---|
| CPU使用率を見る | 暴走ジョブがないか確認する |
| MSGWを見る | 応答待ちで止まっているジョブがないか確認する |
| ジョブ名と機能を見る | どの処理が動いているか確認する |
| ジョブログを見る | 何が起きたかを前後のメッセージで確認する |
| 勝手に強制終了しない | 影響範囲を確認し、必要なら上長へ報告する |
WRKACTJOBで見つけた異常をどう切り分けるか
WRKACTJOBは、画面を開いて眺めるためのものではありません。たまに画面を開いたままF5で更新し続ける人がいますが、それだけでは原因調査になりません。見るべきなのは、CPUを食っているジョブ、MSGWで止まっているジョブ、そして業務上止まると困る処理かどうかです。
| 見つけた状態 | 最初に考えること | 次に見るもの |
|---|---|---|
| MSGW | メッセージ返答待ち。勝手に4番終了しない | MSGWの詳細メッセージ、ジョブログ |
| CPUが高い | 暴走か、重い処理が正常に走っているだけかを分ける | ジョブ名、ユーザー、機能、経過時間 |
| DEQW | データ待ち・キュー待ちの可能性 | 前後のバッチ、関連ジョブ |
| RUN | 動いているだけで異常とは限らない | 処理時間、件数、業務影響 |
販売管理システムでは、受注、出荷、在庫引当、売上計上、請求、外部I/Fがつながっています。WRKACTJOBで異常を見つけたら、「ジョブが止まっているか」だけではなく、「商品が客に届く流れに影響するか」を先に考えます。
若手に教えるなら、MSGWを見つけたらまず上長に報告です。返答文字を入れる前に、何が止まっているのか、どの業務に影響するのか、リトライで戻せるのかを確認します。
WRKACTJOBで見つけた後はWRKJOBで詳細を見る
WRKACTJOBは、活動中のジョブを見つける入口です。MSGWやCPU使用率の高いジョブを見つけたら、そこで終わりではなく、対象ジョブを特定してWRKJOBやジョブログ確認へ進みます。
| 入口 | 役割 | 次に見るもの |
|---|---|---|
| WRKACTJOB | 異常ジョブを見つける | ジョブ名・ユーザー・番号 |
| WRKJOB | 対象ジョブの詳細を見る | スプール・ファイル、ジョブログ |
| DSPJOBLOG | 実行時の流れを見る | 重大度、メッセージID、前後のメッセージ |
この流れは、WRKJOBとDSPJOBLOGの記事にまとめています。
まとめ
WRKACTJOB は、AS400の障害調査で最初に見ることが多い画面です。CPU使用率で暴走ジョブがないかを見る。MSGWで止まっているジョブがないかを見る。異常があれば、ジョブログや周辺処理を確認して対処を考える。
一番大事なのは、MSGWや暴走ジョブの早期発見です。ただし、見つけた瞬間に焦って強制終了するのではなく、落ち着いて原因を確認すること。WRKACTJOBは「眺める画面」ではなく、次の調査に進むための入口です。

