AS400 MSGWとは?原因確認・返答手順と夜間バッチのリラン判断

AS400 / IBM i の保守で WRKACTJOB を見ていると、ジョブの状態に MSGW が出ていることがあります。

MSGW は、ジョブがメッセージ応答待ちになっている状態です。処理が完全に終わったわけではなく、AS400側が「どうしますか」と返答を待っている状態です。

この記事では、MSGWを見つけた時に最初に確認すること、C / I / R / D の考え方、初心者がやってはいけない操作、販売管理システムでMSGWが怖い理由を、現場目線で整理します。

AS400のWRKACTJOB画面でMSGW状態のジョブが表示されている例。PGM-TEST001Rがメッセージ待ちになっている
WRKACTJOBの画面です。QBATCH配下のPGM-TEST001Rが状況MSGW(メッセージ待ち)、その下のPGM-TEST002RはSELW(選択待ち)になっています。一覧ではどちらも止まって見えますが、意味は違います。状況欄を1行ずつ読んでから、返答するのか、そのまま待つのかを判断します。

MSGWとは

MSGW は Message Wait、つまりメッセージ待ちです。AS400上のジョブが、エラーや確認メッセージに対する応答を待っています。

販売管理システムのような基幹処理では、MSGWになっているジョブがあると、後続のバッチ処理、データ連携、売上計上、請求、物流連携などに影響することがあります。

ただし、MSGWを見つけたからといって、すぐにジョブを終わらせればよいわけではありません。むしろ、焦って返答すると二次災害につながることがあります。

MSGWを見つけた時に最初に確認すること

MSGWを見つけた時、私が最初に確認するのは詳細メッセージです。画面上では、対象ジョブに対して7番を使って詳細メッセージを確認します。

WRKACTJOB
-- MSGW のジョブを見つける
-- 対象ジョブで 7=メッセージの表示 を確認する

詳細メッセージを見ないまま返答するのは危険です。何が起きているのか、どのプログラムで止まっているのか、リトライできるのか、キャンセルすべきなのかを判断する材料が足りないからです。

確認すること見る理由
詳細メッセージ何に対して応答を求められているか確認する
ジョブログMSGWになる前後の流れを見る
対象プログラムどの処理で止まっているか確認する
業務影響後続処理や外部連携に影響があるか判断する

表示された返信候補はジョブログを見て判断する

MSGWでは、状況によって CIRDG などの返答を選ぶことがあります。

C / I / R / D / Gが常にすべて表示されるわけではありません。有効な返信候補は、メッセージIDとメッセージ記述によって異なります。画面に表示された候補と二次レベルの説明を確認し、ジョブログ、更新済みデータ、後続処理への影響を見て判断してください。

ただし、返答は必ずジョブログを見て判断します。メッセージだけを見て反射的に返すものではありません。

返答意味現場での考え方
Cキャンセル処理をキャンセルする。後続影響を確認してから判断する
I無視処理を続けてもよいと判断できる場合に使う
Rリトライ一時的な原因なら復旧できる可能性がある
Dダンプを取ってキャンセル基本的に安易に使わない。リトライの選択肢を失うことがある
G強制的に継続・再試行方向へ進める返答RPGがこけた時に、原因を見ないまま後続処理を進めるような形になり得るため危険

DやGを含む返信文字の意味は、メッセージ記述によって異なります。画面に候補が表示されても、文字だけで処理結果を決めつけず、二次レベルの説明とジョブログを確認します。ダンプ取得、取消、継続、再試行などを伴う場合は、途中更新と後続処理への影響を確認し、運用手順と責任者の承認に従います。

Dを返す前に影響を確認する

MSGWで避けたいのは、詳細を確認しないまま D を返すことです。

Dはダンプを取ってキャンセルです。つまり、これを返すと、そのジョブはキャンセル方向へ進みます。もしRでリトライすれば復旧できた処理だった場合、Dを返したことでリカバリーが難しくなることがあります。

以前の現場で、詳細を確認しないままDが返され、復旧対応が大きくなったことがありました。「メッセージが出ているから早く消す」という感覚で返答すると、本来はRで復旧できた処理までキャンセルしてしまうことがあります。

本番環境で返答する時の判断は、本番対応で初心者がやってはいけないことにもまとめています。

また、別記事でも書いている通り、4番でジョブを強制終了させるのも危険です。MSGWは「止まっているから消せばいい」という状態ではありません。処理途中のデータや後続処理が残っていることがあります。

危ない対応なぜ危ないか
Dを反射的に返すRで復旧できた可能性を失う
Gを意味も分からず返す原因を確認しないまま後続処理を進め、二次災害につながる可能性がある
4番で強制終了する処理途中のデータや後続処理に影響する
詳細メッセージを見ない何が起きたか分からないまま対応することになる
ジョブログを見ない原因や前後関係を見落とす

販売管理でMSGWが怖いのはデータI/F系

販売管理システムでMSGWが出た時の業務影響は、一概には言えません。受注、出荷、在庫、売上、請求、店舗連携、物流連携など、止まっている処理によって影響は変わります。

その中でも特に怖いのは、データI/F系です。外部システムとの送受信や連携処理が止まっている場合、とてつもない業務影響が出ることがあります。

たとえば、店舗連携、物流連携、外部倉庫連携、受注データ連携などが止まると、客に迷惑がかかります。商品が届かない、出荷が遅れる、在庫が合わない、売上や請求に影響する。そういう事故につながる可能性があります。

MSGWの対象怖い影響
受注I/F受注データが取り込まれず、後続処理が進まない
出荷I/F物流側へ情報が渡らず、出荷遅延につながる
在庫連携在庫引当や在庫照会がずれる
売上・請求連携計上や請求処理に影響する

MSGWを見つけた若手に最初にさせること

若手がMSGWを見つけたら、まず上長に報告です。

焦って勝手にDを返したり、4番でジョブを強制終了させたりすると、本来はメッセージの返し方でリカバリーが楽になった処理でも、二次災害を起こしてしまうことがあります。

現場では、監視システムや検知メールでMSGWを拾う仕組みを作っていることもあります。それでも、画面でMSGWを見つけた人が勝手に判断しないことは大切です。

MSGW対応の基本手順

  1. WRKACTJOBでMSGWのジョブを見つける
  2. 7番で詳細メッセージを確認する
  3. ジョブログで前後の流れを確認する
  4. 対象プログラムと業務影響を確認する
  5. 必要なら上長やメンバーへ報告する
  6. C / I / R の判断をする。DやGは安易に使わない

関連する入口として、AS400のWRKACTJOBとは?MSGW・暴走ジョブ・バッチ確認で最初に見るポイント、ジョブログの見方は AS400のジョブログ確認手順 で整理しています。

MSGW対応ではジョブ名・ユーザー・番号を残す

MSGWを見つけた時は、返答文字だけでなく、どのジョブで起きたのかを後から追えるようにしておくことが大事です。最低限、ジョブ名、ユーザー、番号はメモに残します。

この3つがあれば、WRKJOBやDSPJOBLOGで同じジョブを追いやすくなります。スクショで共有する時も、ジョブ名・ユーザー・番号が見える状態にしておくと、メンバー間の認識違いを減らせます。

WRKJOBからスプール・ファイルやジョブログを見る流れは、WRKJOBとDSPJOBLOGの使い方を参照してください。

Rを含む返信は意味を確認してから判断する

返信候補に R があっても、一律に選ぶことはできません。有効な返信値とその意味はメッセージごとに異なるため、メッセージIDと二次レベル説明、社内手順書を先に確認します。

Rが再試行を意味する場合でも、原因が解消していること、すでに更新されたデータ、後続処理や外部連携への影響、再実行してよい処理かを確認してから判断します。返信によって処理が先へ進むことがあるため、リスクのない選択ではありません。

C、D、Gなど他の返信も、処理終了、ダンプ、後続処理への移行など結果が異なります。文字だけで優先順位を決めず、各候補の意味と業務影響を確認し、判断根拠を記録してから返信します。

ただし状況次第

Rを返して同じメッセージが戻ってきたら、それは原因がまだ消えていないという返事です。ここで何度もRを押しても状況は変わりません。ロックを持っているジョブ、ファイルやメンバーの状態、ライブラリの指定など、止まっている理由のほうを先に解消します。原因を解消した後も、Rが再試行を意味するメッセージで、再返信が運用手順上認められている場合に限ってRを返します。

状況Rの扱い次にすること
返信候補にRがある意味と原因解消を確認する二次レベルの説明、途中更新、後続影響を確認し、Rが再試行を意味して安全と判断できる場合だけ返信する
Rを返しても同じMSGWが戻る連打しないロック元のジョブ、ファイルの状態、ライブラリ指定を確認する
返信候補にRがない選べないメッセージ記述で有効な候補を確認してから判断する
原因を解消した改めてR後続処理まで通ったかを確認する

なお、有効な返信候補はメッセージによって違います。C・I・R・D・Gが常に全部並ぶわけではないので、Rを前提に手順を覚えるのではなく、その画面で何が選べるかを見てから判断するのが順番です。

MSGWは「止める」より先に、後続処理を残せるかを見る

現場で怖いのは、MSGWになったジョブを中身を見ずに終了させてしまうことです。

MSGWは「Cで終わらせる」「Iで無視する」といった文字だけで判断せず、直前のジョブログ、対象ファイル、更新済みデータ、後続バッチ、業務担当者への影響を見てから決めます。夜間バッチや締め処理では、返信ひとつでリラン範囲と復旧時間が変わります。

見ること理由次に読む記事
直前のジョブログCPF、RNX、ファイル、権限、ライブラリ違いを分けるAS400 CPFエラー一覧|よく見るCPFメッセージと確認ポイント
返信候補C/I/R/D/Gなどの意味と後続処理への影響を確認するMSGW返信判断表
エラー種別CPF系ならファイル・権限・ライブラリを優先して見るCPFエラーの見方
復旧方針終了、返信、リラン、データ復旧のどれに進むか決める本番障害の初動対応

MSGW対応は、技術的には小さな返信でも、業務的には大きな判断になることがあります。誰が判断したか、何を見て返信したか、後続処理をどう確認したかをメモに残しておくと、翌朝の説明や再発防止がかなり楽になります。

IBM公式資料

すぐ返信してよいかの判断

毎日同じ手順で処理しており、運用手順書に「このメッセージはCでキャンセル」「この確認はGで続行」と明記されている場合は、そのルールに従います。一方、初めて見るメッセージ、売上・在庫・請求・出荷に関わるジョブ、ファイル破損や権限エラーが疑われるジョブは、返信前に止めて確認する方が安全です。

状態判断
手順書に応答値が明記されている手順書通りに対応し、応答内容を記録する
同じメッセージが毎日出ている暫定対応は可能でも、恒久対応の要否を確認する
初めて見るCPF・CPA・RNXジョブログを保存し、返信前に確認者へ連絡する
データ更新中のジョブ安易にキャンセルせず、影響範囲を確認する
夜間バッチ全体が停止している夜間バッチ障害対応フローと合わせて確認する

よくある原因

  • 存在しないファイル、ライブラリ、メンバーを参照している
  • プリンター、OUTQ、装置、通信先が応答していない
  • 権限不足で処理が止まっている
  • プログラム例外が発生し、RNXやCPFメッセージが出ている
  • 前処理が失敗し、後続バッチが必要なデータを読めない
  • オブジェクトロックで更新待ちになっている

オブジェクトロックが疑われる場合は、LCKW・WRKOBJLCKの確認手順も見ます。メッセージIDから調べる場合は、AS400メッセージID・エラーコード索引を起点にすると、ジョブログ確認へつなげやすくなります。

保守会社へ相談する時の伝え方

「MSGWです」だけでは、相手は原因を判断できません。ジョブ名、メッセージID、本文、応答候補、発生時刻、直前作業、業務影響をまとめて伝えると、調査が早くなります。外部相談前の整理は、AS400保守会社に相談する前のチェックリストにもまとめています。

DSPMSGとWRKMSGQの使い分け

コマンド見る内容使う場面
DSPMSGメッセージキューの内容を表示QSYSOPRのメッセージを確認する時
WRKMSGQメッセージキューを一覧・操作複数のメッセージキューや状態を見る時
WRKACTJOBMSGWや実行中ジョブを確認メッセージ待ちジョブを探す時
DSPJOBジョブログやジョブ詳細を確認どの処理で止まったか見る時

運用メモに残すこと

  • 発生時刻、メッセージID、メッセージ本文
  • 対象ジョブ、ユーザー、ジョブ番号
  • 返信した場合は返信値と判断理由
  • 夜間バッチ、印刷、バックアップ、通信への影響
  • 再発時に見る画面と担当者

QSYSOPRは、AS400運用の早期警戒画面です。メッセージを消すことよりも、何が起きていて、どの処理に影響するかを残すことが大切です。

25年以上の現場経験から見るMSGW対応の落とし穴

AS400の夜間バッチや本番処理で多い相談は、「MSGWに早く気づけない」「プログラムアベンドに気づくのが遅れる」「返信判断を誤って後続処理が止まる」というものです。外部監視サービスや、現場で作るMSGW検知・メール通知の仕組みを使う会社もありますが、どちらの場合も大切なのは、検知後に何を確認して、誰がどう判断するかです。

MSGWへ意味を確認せず返信してジョブを終了させると、別途リカバリープログラムや手作業の戻しが必要になることがあります。適切な応答で後続処理へ進められる場合もあるため、MSGWは「止まったから消すもの」ではなく、「業務をどこへ進めるかを判断する分岐点」と考える方が安全です。

返信前に相談へ渡せる形で残す情報

QSYSOPRやMSGWのメッセージは、返信してからでは元の状態を追いにくくなります。AS400 / IBM i の運用で外部へ相談する可能性がある時は、返信前に判断材料を残しておくと、復旧後の説明や再発防止まで進めやすくなります。

残す情報見る理由
メッセージIDと時刻CPA、CPF、バックアップ、印刷、通信など原因の入口を分けられます。
対象ジョブ・ユーザーWRKJOBやDSPJOBLOGで追う対象を明確にできます。
返信候補C、R、I、Gなど、どの応答を選ぶべきか判断材料になります。
業務影響夜間バッチ、出荷、請求、印刷など、復旧優先度を決められます。

返信前後の確認順は、AS400保守の初動対応ジョブログ確認手順も合わせて見ると安全です。本番障害として整理する場合は、AS400本番障害の初動チェックリストも確認してください。

MSGWで迷った時に次に確認すること

MSGWは、返信して画面を進めれば終わりではありません。特に夜間バッチ、締め処理、EDI、ファイル更新が絡む場合は、ジョブログ、返信候補、後続処理、リラン可否を分けて確認します。

頻発するMSGWは、担当者の勘だけに任せず、検知、通知、返信判断、リラン確認までを手順に落としておくと、若手や外部担当者でも初動が安定します。