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 | 待機状態の一種 | 単独では判断しない。処理内容や周辺状況を確認する |
| LCKW | ロック待ち | 他のジョブがオブジェクトを掴んでいる可能性がある。ロック元のジョブを確認する |
ただし、状態名だけで判断しない方がいいです。たとえばRUNでも、CPUを異常に使っているなら気になります。MSGWなら、内容を見ずに終わらせるのは危険です。状態は入口であり、最終判断はジョブログや業務影響を見て行います。
販売管理システムでWRKACTJOBを見る場面
販売管理システムでは、客先から「おかしい」と問い合わせがあった時点で WRKACTJOB を見ることがあります。
たとえば、出荷処理が進んでいない、在庫引当が終わらない、売上計上のバッチが遅い、店舗連携や物流連携が止まっているように見える。こういう時に、まずシステム側でジョブが動いているのか、MSGWで止まっているのか、CPUを食っているジョブがないかを確認します。
一方、WRKACTJOB を開いたままF5更新を続けるだけでは、原因の切り分けに必要な情報が不足します。異常らしいジョブを見つけたら、ジョブログ、周辺処理、業務影響を確認します。
WRKACTJOBから次に何を見るか
WRKACTJOB は入口です。異常ジョブを見つけたら、そこで終わりではありません。
WRKACTJOB WRKJOB JOB(123456/USER/TESTJOB) DSPJOBLOG JOB(123456/USER/TESTJOB)
実際には、単純に「WRKACTJOBからWRKJOBへ遷移する」というより、異常ジョブを見つけたらジョブログを含めて周辺状況を調べます。どの処理で止まったのか、前後のメッセージは何か、後続処理に影響するのかを見て、対処を考えます。
関連する確認手順は、WRKJOBとDSPJOBLOGの使い方、AS400のジョブログ確認手順、AS400バッチ処理の確認手順、AS400本番作業の安全確認でも整理しています。
初心者向けチェックリスト
| チェック | 内容 |
|---|---|
| CPU使用率を見る | 暴走ジョブがないか確認する |
| MSGWを見る | 応答待ちで止まっているジョブがないか確認する |
| ジョブ名と機能を見る | どの処理が動いているか確認する |
| ジョブログを見る | 何が起きたかを前後のメッセージで確認する |
| 勝手に強制終了しない | 影響範囲を確認し、必要なら上長へ報告する |
CPUが高いジョブは止める前に役割を見る
WRKACTJOBでCPU使用率が高いジョブを見つけても、すぐに終了するのは危険です。締め処理、帳票作成、データ連携、再編成、SQL集計など、時間がかかって当然の処理もあります。まずはジョブ名、ユーザー、サブシステム、実行中プログラム、開始時刻を見ます。
判断するときは、いつもより遅いのか、処理件数が多いだけなのか、同じSQLやプログラムで止まっているのかを分けます。MSGWやLCKWが出ている場合はCPUだけの問題ではありません。利用者影響が大きい場合も、終了前に担当者へ確認し、再実行できるか、途中データが残らないかを確認してから対応します。
状態別に次の調査へ進む
- AS400が遅い時の確認手順で、CPU・SQL・バッチ負荷を切り分ける
- LCKWとオブジェクトロックの確認で、待たせているジョブを調べる
- MSGWの確認手順で、返信前にメッセージと業務影響を見る
まとめ
WRKACTJOB は、AS400の障害調査で最初に見ることが多い画面です。CPU使用率で暴走ジョブがないかを見る。MSGWで止まっているジョブがないかを見る。異常があれば、ジョブログや周辺処理を確認して対処を考える。
一番大事なのは、MSGWや暴走ジョブの早期発見です。ただし、見つけた瞬間に焦って強制終了するのではなく、落ち着いて原因を確認すること。WRKACTJOBは「眺める画面」ではなく、次の調査に進むための入口です。
次に確認するジョブ・MSGW
WRKACTJOBで見つけた状態別に、次に読む記事をまとめます。
- WRKJOBとDSPJOBLOGの使い方で、対象ジョブの詳細を確認する
- MSGW対応で、返信前に見るべき情報を整理する
- 夜間バッチ障害対応フローで、後続処理とリラン範囲を確認する
- SBMJOB・WRKSBMJOB・DSPJOBDで、投入済みジョブとJOBDを確認する
- AS400トラブル逆引きで、症状別に次の確認先を探す
- Codex研修で、ジョブログ整理と障害調査の時間短縮を相談する
WRKACTJOBは毎日見る画面のひとつです。朝いちばんに何を見るかを決めておきたい場合は毎日見る画面のチェックリストが使えます。

