夜間バッチが動かないときの確認順
JOBQ、SBSD(サブシステム記述)、JOBSCDE は別々に見えるため、夜間バッチの確認では「どこで止まっているか」を先に切り分けます。まず WRKJOBSCDE で予定時刻と実行ユーザーを確認し、次に投入先の JOBQ が解放されているか、サブシステムが稼働しているかを確認します。ジョブが投入済みなら、WRKACTJOB や WRKJOB で MSGW、LCKW、HLD、JOBQ待ちのどれに該当するかを見ます。
- 予定そのものが動いていない場合: WRKJOBSCDE の状態、日付、実行ユーザーを確認する
- 投入はされている場合: JOBQ の保留、優先度、最大アクティブ数を確認する
- 実行中に止まる場合: ジョブログ、MSGW、オブジェクトロック、ファイル待ちを確認する
- 毎回ではなく時々止まる場合: 同時刻に動く別バッチ、バックアップ、月次処理との重なりを見る
原因がジョブログに出ている場合は AS400ジョブログの読み方、MSGWで止まる場合は MSGWの切り分け、ロック待ちが疑われる場合は LCKW・オブジェクトロック確認 も合わせて確認してください。若手担当者へ夜間バッチ運用を引き継ぐ場合は、AS400 / IBM i Codex研修 でジョブログ確認と調査メモ化の流れを扱えます。
夜間バッチが始まらない時の切り分け順
夜間バッチが始まらない時は、JOBQだけを見ると見落としが出ます。JOBSCDEで投入予定を確認し、投入されていればJOBQ、動いていればSBSD、止まっていればMSGWやジョブログを見ます。運用担当へ渡す時は、この順番をチェック表にしておくと初動が安定します。
| 確認先 | 見る内容 |
|---|---|
| JOBSCDE | 予定時刻に投入されているか |
| JOBQ | 待ち行列に溜まっていないか |
| SBSD | サブシステムが稼働しているか |
夜間バッチが始まらないときの現場順序
夜間バッチが始まらない場合、JOBSCDEだけを見ても原因が分からないことがあります。スケジュール投入は済んでいるがJOBQで待っている、サブシステムが落ちている、先行ジョブが終わっていない、MSGWで止まっている、というように止まり方を分けます。
確認順は、JOBSCDEの次回実行時刻、投入先JOBQ、対象SBSD、ジョブの状態、先行後続関係、ジョブログの順です。締め処理やEDI連携が絡む場合は、単独ジョブだけでなく、どの後続処理が遅れるかを早めに共有します。再投入する場合も、二重実行にならないかを必ず確認します。
夜間バッチが始まらない時は、JOBQ・SBSD・JOBSCDEを分けて見る
夜間バッチが動かない時に、いきなりCLやRPGの中身を疑うと遠回りになります。まずは「ジョブが投入されていない」のか、「投入されたがJOBQで待っている」のか、「サブシステムが止まっている」のかを分けて確認します。この切り分けができると、運用担当、保守担当、開発担当のどこへ渡すべきかが決めやすくなります。
| 確認箇所 | 見ること | 次に見る記事 |
|---|---|---|
| JOBSCDE | 予定時刻、実行ユーザー、投入先JOBQ、前回実行結果を確認する | スケジュールジョブ確認 |
| JOBQ | ジョブが溜まっているだけか、保留中か、優先度で後ろに回っているかを見る | JOBQ待ち確認 |
| SBSD | サブシステムが停止していないか、最大ジョブ数に達していないかを見る | サブシステム確認 |
| ジョブログ | 投入後に即終了していないか、権限・ライブラリ・ファイルエラーが出ていないかを見る | WRKJOBとDSPJOBLOG |
| 引き継ぎ観点 | 手順を人に渡せる粒度で、確認順と判断基準を残す | 研修内容・料金を見る |
現場では「昨日まで動いていた」という情報だけでは足りません。前回正常終了時刻、今回止まった時刻、投入されたジョブ名、JOBQ名、SBSD名をそろえると、再実行してよいか、翌朝まで待つべきか、保守担当へ渡すべきかを判断しやすくなります。
予定時刻を過ぎてもバッチが始まらない例
JOBSCDEに登録があっても、ジョブ投入、JOBQ、SBSDの各段階で待つ可能性があります。どこまで進んだかを順番に確認します。
| 確認点 | 確認内容 | 判断 |
|---|---|---|
| 予定 | 登録名、次回実行日時、曜日、保留状態、投入コマンドを確認する | 時刻やカレンダー条件の誤りを分ける |
| JOBQ | 対象ジョブが投入済みか、ジョブキューが保留されていないか確認する | 未投入と投入後待機を混同しない |
| SBSD | サブシステムの稼働、JOBQ割り当て、実行枠、ジョブ記述を確認する | 同じジョブを手動で重複投入しない |
手動実行する場合は、予定ジョブが後から開始しないよう状態を管理し、重複処理の影響を確認します。復旧後は次回予定時刻と通常運用へ戻した設定を記録します。

