AS400のSBMJOB・WRKSBMJOB・DSPJOBDとは?バッチ投入と確認手順を解説

AS400(IBM i)のバッチ処理では、ジョブを投入する SBMJOB、投入済みジョブを確認する WRKSBMJOB、ジョブ記述を確認する DSPJOBD をセットで覚えると、調査の流れがつかみやすくなります。

バッチ処理は画面から見えにくいので、初心者は「投入したはずなのに動いているのか分からない」「どのジョブ待ち行列に入ったのか分からない」となりがちです。現場では、投入、確認、ジョブ記述の前提確認を分けて見ます。

SBMJOBで見るところ

SBMJOBは、コマンドをジョブとして投入する画面です。実行するコマンド、ジョブ名、ジョブ記述、ジョブ待ち行列、出力先を確認します。

AS400のSBMJOB画面。ジョブ投入コマンドの入力例
SBMJOBは、バッチジョブを投入する画面です。実行コマンド、ジョブ名、ジョブ記述、ジョブ待ち行列、出力先を確認してから実行します。

WRKSBMJOBで見るところ

WRKSBMJOBは、投入済みジョブを確認する画面です。投入されたジョブが待ち状態なのか、実行済みなのか、スプールが出ているのかを追う時に使います。

AS400のWRKSBMJOB画面。投入済みジョブを確認する例
WRKSBMJOBは、投入済みジョブを確認する画面です。投入後にジョブがどう扱われているかを追う時に使います。

DSPJOBDで見るところ

DSPJOBDは、ジョブ記述の中身を確認する画面です。ジョブ待ち行列、出力先、ライブラリ指定など、バッチがどの前提で動くかを確認します。

AS400のDSPJOBD画面。ジョブ記述を表示する例
DSPJOBDは、ジョブ記述を表示する画面です。ジョブ待ち行列や実行環境の前提を確認する時に使います。

バッチ調査の確認順

順番見るもの判断すること
1SBMJOBどのコマンドを、どのジョブ名・ジョブ記述で投入するか
2WRKSBMJOB投入済みジョブが存在するか、待ちか、実行済みか
3WRKACTJOB活動中ジョブとして動いているか、MSGWになっていないか
4WRKJOB / WRKSPLFジョブログ、帳票、コンパイルリストなどのスプールを確認する
5DSPJOBDジョブ待ち行列、出力先、実行前提が正しいか

初心者が注意すること

バッチ処理では、投入しただけで安心しないことが大事です。投入後に本当に動いているのか、MSGWで止まっていないか、スプールにエラーが出ていないかを確認します。

販売管理システムでは、受注、出荷、在庫引当、売上計上、請求、物流連携などがバッチでつながることがあります。どこか一つが止まると後続処理に影響するため、単独のジョブだけでなく、前後の処理も見ます。

関連して読む記事

販売管理のバッチで最初に考えること

販売管理システムのバッチ処理は、受注、出荷、在庫引当、売上計上、請求、店舗連携、物流連携など、後続処理につながることが多いです。単に「ジョブを投入したか」だけでは不十分で、どのジョブ記述で、どのジョブ待ち行列に入り、どのライブラリリストで動くのかを確認する必要があります。

私が若手に説明するなら、SBMJOBは「実行依頼」、WRKSBMJOBは「投入後の追跡」、DSPJOBDは「そのジョブがどんな前提で動くかを見る画面」と分けます。この3つを混ぜて覚えると、バッチが動かないときにどこを見ればよいか分からなくなります。

コマンド役割販売管理で見る場面
SBMJOBバッチジョブを投入する夜間処理、再実行、検証用バッチ投入
WRKSBMJOB投入済みジョブを確認する投入したはずのジョブが待ち行列にいるか確認
DSPJOBDジョブ記述の設定を見るジョブ待ち行列、出力待ち行列、ライブラリ前提を確認
WRKACTJOB実行中ジョブを見るMSGWや暴走ジョブ、実行中かどうかの確認

SBMJOBで初心者が見落としやすい項目

SBMJOBでは、実行するコマンドだけでなく、ジョブ名、ジョブ記述、ジョブ待ち行列、出力待ち行列も重要です。特に、検証環境と本番環境でジョブ記述やライブラリリストが違う場合、テストでは動いたのに本番でファイルが見つからない、別ライブラリを参照する、という事故につながります。

バッチ投入前は、いきなり実行キーを押さず、F4で入力内容を確認する癖をつけた方が安全です。これは基本コマンドの記事でも書いている通り、AS400では実行前の確認がかなり大事です。

確認項目見る理由危ない例
実行コマンド何を動かすかを明確にする違うCLや違うプログラムを投入する
ジョブ記述どの前提で動くか確認する想定外のライブラリリストで動く
ジョブ待ち行列どこで待機・実行されるか確認する待ち行列に入ったまま動かない
出力待ち行列ログや帳票の出力先を確認するスプールを探せなくなる

バッチが止まった時の確認順

  1. WRKSBMJOBで投入済みか確認する
  2. WRKACTJOBで実行中か、MSGWになっていないか確認する
  3. WRKJOBまたはWRKSPLFでジョブログ・スプールを確認する
  4. DSPJOBDでジョブ記述の前提を確認する
  5. 業務影響として、受注・出荷・在庫・売上・請求のどこに影響するか整理する

本番でバッチが止まった場合、すぐ再実行するのではなく、どこまで処理が進んだかを確認します。販売管理では一部だけデータが作成されると、後続処理で二重処理や未連携が起きることがあります。焦って再投入する前に、ジョブログと対象ファイルを確認してください。

関連して読む記事

まとめ

SBMJOBは投入、WRKSBMJOBは投入後の確認、DSPJOBDはジョブ記述の前提確認です。バッチ処理は見えにくいからこそ、画面ごとの役割を分けて覚えると調査が早くなります。