AS400 / IBM i で「ジョブは投入されているのに動かない」と言われた時は、プログラム障害だけでなく、JOBQ、サブシステム、ジョブの保留、実行優先度、前ジョブ待ちを確認します。夜間バッチでは、ひとつのジョブ滞留が後続処理全体を遅らせることがあります。
JOBQ滞留で見る順番
| 確認 | 見るポイント | 判断 |
|---|---|---|
| JOBQ | ジョブが何件溜まっているか | 一時的か、継続的か |
| サブシステム | 対象SBSDが起動しているか | 停止していれば起動理由を確認 |
| 保留 | ジョブやキューがHLDになっていないか | 誰が保留したか見る |
| 実行枠 | 最大ジョブ数に達していないか | 前ジョブ待ちか設定不足か |
| MSGW | 先行ジョブが応答待ちで止まっていないか | 後続を流してよいか判断 |
よくあるのは、前日の障害対応でJOBQやジョブを保留したまま、翌日のバッチが溜まるケースです。サブシステムを起動すれば解決するように見えても、なぜ止まっていたのか、誰が止めたのか、再発防止が必要かを残しておくべきです。
慌てて流す前に確認すること
滞留ジョブを一気に流すと、出荷、請求、在庫、外部連携の順番が崩れることがあります。業務順序があるバッチは、投入順、依存関係、締め処理、外部送信の有無を確認してから再開します。
JOBQ/SBSDの基礎は AS400 JOBQ/SBSD/JOBSCDEの確認、夜間バッチ全体は AS400夜間バッチ対応フロー、投入条件は SBMJOB/WRKSBMJOB/DSPJOBDの確認 を参照してください。
