13.1.3 毎日実行するジョブの実行結果を,日付ごとに異なるファイル名で保存したい
毎日実行するジョブの標準出力ファイル名に,日付を含ませて出力する場合,ジョブの詳細定義を毎日手動で変更する必要があります。しかし,このような運用では,運用コストが掛かる上,定義変更漏れのリスクが発生します。ここでは,標準出力ファイル名の日付を動的に変更する方法について説明します。
- 〈この項の構成〉
(1) 運用
ジョブ「集計処理」は,実行日の受注データを集計し,標準出力ファイルとして出力するジョブです。集計日をファイル名からわかるようにするため,標準出力ファイル名に日付を表す文字列を含ませています(例:「20110801_syuukei.txt」)。
|
この場合,ジョブ「集計処理」の詳細定義で,[標準出力ファイル名]の日付部分を毎日手動で変更しなければなりません。
(2) 課題
運用コストの削減,および定義変更漏れリスク低減のため,ジョブ「集計処理」の詳細定義で[標準出力ファイル名]を,日付に合わせて動的に変更したい。
(3) 解決方法
引き継ぎ情報設定ジョブを使用して日付をマクロ変数に格納し,ジョブ「集計処理」にマクロ変数を引き継がせて,標準出力ファイル名を動的に変更できます。
(4) 設定例
次のようにジョブネットを定義することで,標準出力ファイル名に集計日を動的に設定できます。
|
ジョブネットを実行する手順を,次に示します。
-
ジョブネットに,日付情報を標準出力ファイルに出力するジョブ(日付解決ジョブ)を定義する。
日付情報を「DATE=YYYYMMDD」(YYYY:年,MM:月,DD:日)という形式で標準出力ファイルに出力するジョブ(日付解決ジョブ)を作成します。日付解決ジョブの[標準出力ファイル名]には「$JP1AJS2_JPQSTDOUTTEMP$」を指定します。
-
引き継ぎ情報設定ジョブを定義する。
引き継ぎ情報設定ジョブを定義します。
[詳細定義−[引き継ぎ情報設定ジョブ]−[引き継ぎ情報]]ダイアログボックスは,次のように定義します。
[正規表現]:日付解決ジョブの標準出力ファイルから日付部分YYYYMMDDを切り出すための正規表現を指定します。
[出力マクロ変数]:切り出した結果を格納するマクロ変数名を指定します。
- 定義例
-
[正規表現]:「DATE=(.*)」
[出力マクロ変数]:「FILEDATE」
-
ジョブ「集計処理」を定義する。
[標準出力ファイル名]にマクロ変数名を定義します。
[標準出力ファイル名]:?AJS2FILEDATE?_syuukei.txt
-
日付解決ジョブ,引き継ぎ情報設定ジョブ,ジョブ「集計処理」の順にジョブを関連づける
-
ジョブネットを実行登録する。
ジョブネットを2011年8月1日に実行すると,ジョブ「集計処理」の[標準出力ファイル名]の「?AJS2FILEDATE?」の値は「20110801」になり,実行結果として「20110801_syuukei.txt」というファイルが作成されます。
ジョブ「集計処理」の標準出力ファイル名に日付情報が設定される流れを,次の図に示します。
図13‒10 ジョブ「集計処理」の標準出力ファイル名への日付情報の設定
(5) マニュアル記載個所
項目 |
詳細項目 |
参照個所 |
---|---|---|
概要 |
引き継ぎ情報設定ジョブ |
マニュアル「JP1/Automatic Job Management System 3 導入ガイド 3.1.1(1)(g) 引き継ぎ情報設定ジョブ」 |
引き継ぎ情報設定ジョブの定義例 |
マニュアル「JP1/Automatic Job Management System 3 設計ガイド(業務設計編) 2.4.9 動的に変わる情報を後続ユニットに引き継ぐ(引き継ぎ情報設定ジョブを使ったジョブネットの定義例)」 |
|
画面 |
|