AS400 / IBM i の夜間バッチや定期処理を調べると、JOBQ、SBSD、JOBSCDE、JOBDという言葉が出てきます。初心者にとっては似た言葉に見えますが、ジョブが「いつ投入され、どこで待ち、どのサブシステムで動くか」を理解するための重要な部品です。
この記事では、AS400保守でJOBQ、WRKJOBQ、SBSD、JOBSCDEを見る時の基本を整理します。夜間バッチが動かない、予定時刻に始まらない、ジョブキューに溜まっている、という問い合わせで最初に見る入口です。
JOBQ・SBSD・JOBSCDEの違い
| 用語 | 意味 | 見る場面 |
|---|---|---|
| JOBQ | ジョブキュー。投入されたバッチジョブが実行待ちになる場所。 | ジョブが待っている、始まらない時 |
| WRKJOBQ | ジョブキューの状態を確認する代表的なコマンド。 | どのJOBQにジョブが溜まっているか見る時 |
| SBSD | サブシステム記述。どの実行環境でジョブを動かすかに関係する。 | 特定サブシステムだけ詰まっている時 |
| JOBSCDE | ジョブスケジュール項目。指定時刻にジョブを投入する設定。 | 予定時刻に処理が始まらない時 |
| JOBD | ジョブ記述。ライブラリリストやジョブ属性に関係する。 | 同じ処理なのに環境が違う時 |
夜間バッチが始まらない時
夜間バッチが予定時刻に始まらない時は、いきなりプログラムを疑う前に、ジョブスケジュール、ジョブキュー、サブシステムを確認します。投入されていないのか、投入されたが待っているのか、実行中だが遅いのかで対応が変わります。
- JOBSCDEに予定があるか
- ジョブがJOBQに溜まっていないか
- 対象サブシステムが動いているか
- WRKSBMJOBで投入済みか
- ジョブログに異常やMSGWがないか
バッチ投入の基本は、SBMJOB / WRKSBMJOB / DSPJOBDの確認手順 と 夜間バッチ障害対応フロー を確認してください。
JOBQに溜まっている時
ジョブがJOBQに溜まっている場合、処理が投入されていないのではなく、実行待ちになっている可能性があります。WRKJOBQで対象ジョブキューを確認し、サブシステム側の実行枠、優先順位、先行ジョブ、異常終了したジョブ、MSGWで止まったジョブを確認します。
本番で注意すること
- 原因不明のままジョブキューをクリアしない
- 予定ジョブを手動投入する前に二重実行を確認する
- サブシステム停止・開始は影響範囲を確認する
- JOBDのライブラリリストを変更する時はレビューする
- 締め処理や外部連携の順番を崩さない
まとめ
JOBQ、WRKJOBQ、SBSD、JOBSCDE、JOBDは、AS400のバッチ運用を理解するための基本です。夜間バッチが始まらない時は、投入前、投入待ち、実行中、異常停止のどこで止まっているかを切り分けます。
本番で焦らないために、AS400が遅い時の確認手順、ジョブログ確認手順、保守会社に相談する前のチェックリスト も合わせて確認してください。
関連: サブシステム停止・開始を伴う作業は、対象業務、JOBQ、WRKACTJOB、QSYSOPR、DSPLOG/QHSTを確認してから進めます。事故を防ぐ確認ポイントは AS400 サブシステム停止・開始の確認ポイント にまとめています。
夜間バッチが動かない時に見る順番
夜間バッチが動かない時は、JOBSCDEだけを見ても原因が分からないことがあります。スケジュール、JOBQ、SBSD、投入済みジョブ、MSGW、ジョブログを順番に切り分けると、どこで止まっているかを説明しやすくなります。
| 見る順番 | 確認すること | 関連ページ |
|---|---|---|
| 1. 予定 | JOBSCDEに予定があるか、休日・時刻・頻度が正しいか | AS400コマンド逆引き |
| 2. 投入 | SBMJOB済みか、WRKSBMJOBで投入状態を見られるか | SBMJOB・WRKSBMJOB確認 |
| 3. 実行 | JOBQ、SBSD、MAXACT、待ち行列で止まっていないか | 夜間バッチ障害対応フロー |
| 4. 停止 | MSGW、CPF、RNX、ジョブログの直前メッセージを確認 | メッセージID・エラーコード索引 |
