AS400のWRKACTJOBとは?MSGW・暴走ジョブ・バッチ確認で最初に見るポイント

AS400 / IBM i の保守で、障害調査の入口になるコマンドの一つが WRKACTJOB です。

販売管理システムの現場では、客先から「処理がおかしい」「画面が返ってこない」「バッチが進んでいない」と問い合わせが来た時点で、まず WRKACTJOB を見ることがあります。ジョブが動いているのか、止まっているのか、MSGWで応答待ちになっているのかを切り分ける入口になるからです。

この記事では、25年以上AS400 / IBM i の販売管理システム保守に関わってきた立場から、WRKACTJOB で最初に見るところ、MSGWを見つけた時の注意、初心者がやりがちな危ない対応を整理します。

AS400のWRKACTJOB画面。活動ジョブ、ユーザー、タイプ、CPU、機能、状態を確認する例
WRKACTJOBでは、活動中のジョブ、ユーザー、タイプ、CPU使用率、機能、状態を確認できます。販売管理の保守では、まず異常なジョブがないかを見る入口になります。

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番などでジョブを強制終了しようとすることです。

気持ちは分かります。画面上で止まっているジョブを見ると、「早く消さないと」と思ってしまうかもしれません。ただ、そこで焦ってジョブを終わらせると、処理途中のデータ、後続処理、連携処理に影響する可能性があります。

まず落ち着いて、ジョブログを見ます。何が起きているのか、どのプログラムで止まっているのか、ファイルオープンなのか、権限なのか、データエラーなのか、メッセージの前後を確認します。

AS400のWRKACTJOB画面でMSGW状態のジョブが表示されている例。PGM-TEST001Rがメッセージ待ちになっている
MSGWを見つけたら、まずジョブログを確認します。いきなり強制終了するのではなく、何が起きているかを把握してから応答や対応方針を決めます。

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は「眺める画面」ではなく、次の調査に進むための入口です。