2017.7.13
 

スケジュールに従い定期的にバッチを実行する(WRKJOBSCDEとその他スケジュール関連メニュー)

Question

夜間にデータ更新処理のバッチを追加したいと思っています。前任の方に現状を簡単に習っただけで、実はどのようにしてバッチを夜間に自動実行させるのか知りません。設定方法を教えてもらえませんか。 また、実はすでに自動でバックアップが動いているようなのですが、決まったユーザーでサインオンし、保管結果が書かれているスプールファイルを確認しているだけです。このような既存のバッチの確認方法も教えてもらえませんか。

Answer

WRKJOBSCDEコマンドを利用することをお奨めします。そのまま実行すると、既存で登録されているスケジュールジョブの一覧が確認できます。「状況」が「SCD」になっているものが普段から稼働しているものとなります。オプション8で直近で実施されたジョブの内容を確認できます(※1)。

ジョブスケジュールの登録はWRKJOBSCDE実行後の画面でF6を押すかADDJOBSCDEコマンドをご利用ください。画面はどちらも同じ内容となります。任意でジョブ名を決め、頻度やスケジュール日等を設定してください。頻度に*DAILYがありませんが、*WEKKLYでスケジュール曜日を*ALLにすることで毎日の設定にすることができます。頻度を*ONCEにする場合、再度利用するためには登録時にF9でパラメータを拡張し、「保管」パラメータを*YESにしておきます。そうすることでWRKJOBSCDE実行時の画面に登録され、次回実行時は画面から実行することができるようになります。

バックアップのバッチジョブがあるということですが、OS側のバックアップジョブ管理メニューGO BACKUPを利用している場合があります。

GO BACKUPを実行するとメニューからバックアップのセットアップを行うことができ、「明細報告書の印刷」も選択可能です。GO BACKUPを利用したバックアップが実行されているかどうかは、GO BACKUP→10.バックアップのセットアップ→20.バックアップ・スケジュールの変更を選択した画面で、「このスケジュールでバックアップを実行」がYかNかで判別ができます。

類似のスケジュール関連メニューでは、電源のオフオンを行うGO POWER、IBMへパフォーマンスデータを送るGO PM400があります。GO POWERは1. 電源オンおよび電源オフ・スケジュールの表示で電源のオフオンスケジュールの状況を確認できます。GO PM400は2. 自動スケジュール済みジョブの処理でスケジュール状況の確認ができ、WRKJOBSCDにも自動でスケジュール登録されているケースがあります(※2)。

上記のような日時を指定したスケジュールはすべてQCTLサブシステムまたはQBASEサブシステム上にシステムジョブQSYSSCDが存在していることで稼働します。QSYSSCDが動いていないマシンではスケジュールジョブは動くことができません。QSYSSCDはクリーンアップ機能の開始により稼働します(※1のURL参照)。

ちょうどスケジュール時間にIPLでや制限状態だった場合には、スケジュール登録時のパラメータ「回復処置」が参照されます。デフォルトでは*SBMRLSとなっており、予定時刻が過ぎても、バッチ用サブシステム(デフォルトではQBATCH)を動かせるようになり次第、ジョブが投入される設定となっています。

また、スケジュール通りに動いても、サブシステムのジョブ投入数の制限により、別のバッチジョブの終了待ち状態になる場合があります。その場合は、投入するジョブ待ち行列やサブシステムを分ける、あるいはサブシステムやジョブ待ち行列の制限数を拡張することで対応することができます。

※1
通常のWRKJOBコマンドと同じ内容となりますので、ジョブログや印刷物がマシン上からクリーンアップやプリンタ印刷等で失くなった場合は内容が確認できなくなります。ジョブログは出力待ち行列QUSRSYS/QEZJOBLOGに入っているものがシステムによりクリーンアップで自動削除されます。
参考:e-bellnet記事「AS/400(IBM i)のクリーンアップとは何ですか」 https://www.e-bellnet.com/category/hint/1609/1609-2.html

※2
参考:e-bellnet記事「PM400、エレクトロニック・サービス・エージェントとは何ですか」
https://www.e-bellnet.com/category/hint/1601/1601-3.html

ページトップ

ボタン