2.4 さまざまなジョブネット定義
2.4.9 動的に変わる情報を後続ユニットに引き継ぐ(引き継ぎ情報設定ジョ ブを使ったジョブネットの定義例)
•[起動条件の有効範囲]の[回数]:6 回
次に,ルートジョブネット「データ整理」を定義します。「データ整理」で実行するジョブを定義したあ と,「集計処理」の実行終了を待ち合わせるために,待ち合わせ条件を定義します。待ち合わせ条件の設定 項目を次に示します。
•[待ち合わせ対象ユニット]:集計処理
•[実行世代に異常終了がある場合]:実行を開始する
ユニットの定義,スケジュールの定義,および待ち合わせ条件の設定が完了したら,「集計処理」および
「データ整理」を実行登録します。実行登録すると,「集計処理」は 18:00 から 1 時間おきに 6 回実行しま す。「集計処理」のすべての実行世代が実行終了すると,実行世代が異常終了したかどうかに関係なく,
「データ整理」が実行を開始します。
実行開始後の待ち合わせ条件付きユニット,および待ち合わせ対象ユニットの運用方法については,マニュ アル「JP1/Automatic Job Management System 3 運用ガイド 9.3 待ち合わせ条件に関する運用方法」
を参照してください。
2.4.9 動的に変わる情報を後続ユニットに引き継ぐ(引き継ぎ情報設定ジョ
• 出力マクロ変数:「?AJS2FILEDATE?」
• ログファイル監視ジョブ
• ログファイル名:「?AJS2FILEDATE?.txt」
• トラップデータ:「Error」
• PC ジョブ B
• 実行ファイル名:エラー対処のバッチファイル
PC ジョブ A および PC ジョブ B の実行ファイル名に指定するバッチファイルは,ジョブ実行前に作成し ておく必要があります。
このジョブネットを実行すると,次のように実行されます。
1. PC ジョブ A が,日付情報を標準出力ファイルに出力する。
標準出力ファイルに「DATE=20XX1010」と出力されます。
2. 引き継ぎ情報設定ジョブが,PC ジョブ A が出力した標準出力ファイルから日付部分を切り出す。
マクロ変数「?AJS2FILEDATE?」に「20XX1010」が設定されます。
3. ログファイル監視ジョブが,ファイルを監視する。
「20XX1010.txt」という名前のファイルに「Error」という文字列が書き込まれたら,条件が成立します。
4. PC ジョブ B が,エラー対処の処理を実行する。
(1) 定義方法
引き継ぎ情報設定ジョブを使用するための,先行ジョブ,引き継ぎ情報設定ジョブ,および後続ユニット の定義方法について説明します。
(a) 引き継ぎ情報設定ジョブの先行ジョブ
引き継ぎ情報設定ジョブの先行ジョブは,次の条件をすべて満たしている必要があります。
• 先行ジョブが一つ以上ある
• 先行ジョブのうち,次の条件をすべて満たすものが一つだけある
• PC ジョブ※1,UNIX ジョブ※1,およびカスタムジョブのどれか
• 標準出力ファイル名に,ファイル名または「
$JP1AJS2_JPQSTDOUTTEMP$
」の指定がある※2• 実行したときに結果を標準出力ファイルに出力する 注※1
キューレスジョブを除きます。
注※2
ジョブの標準出力ファイルをエージェントホストに残す必要がない場合は,「
$JP1AJS2_JPQSTDOUTTEMP
$
」を指定します。この場合,標準出力ファイルは,エージェントホストの一時ファイルに出力さ れ,マネージャーホストに転送されます。追加書きを指定しても無効です。マネージャーホストに 転送されたファイルのファイル名は,ajsshow
コマンドの-i
オプションに 2 バイトフォーマット指 示子の「%so
」を指定すると確認できます。注意事項
• 引き継ぎ情報設定ジョブを判定ジョブの従属ジョブとして定義した場合は,判定ジョブの先行ジョ ブが引き継ぎ情報設定ジョブの先行ジョブとして扱われます。そのため,判定ジョブの先行ジョブ に標準出力ファイル名の指定が必要です。
• ファイル受信制限の設定によって標準出力ファイルの受信処理が中止された場合,標準出力ファイ ルが完全に作成されません。このような場合,不完全な標準出力ファイルでも引き継ぎ情報設定ジョ ブで情報が切り出せるかどうか確認してください。
(b) 引き継ぎ情報設定ジョブ
引き継ぎ情報設定ジョブには,次の指定をします。
正規表現
先行ジョブが出力した標準出力ファイルから必要な情報を切り出すための,正規表現を指定します。
出力マクロ変数
正規表現に従って切り出した情報を設定する,マクロ変数名を指定します。
先行ジョブが出力した標準出力ファイルのどの行にも正規表現が一致しない場合,出力マクロ変数には NULL 文字列が設定されます。
引き継ぎ情報設定ジョブが実行終了したときの戻り値を,次の表に示します。
表 2‒19 引き継ぎ情報設定ジョブの戻り値
戻り値 条件
0 すべての正規表現が一致した場合
1 一致しない正規表現が一つ以上あった場合
20 以上 その他のエラーが発生した場合
一致しない正規表現があっても後続ユニットの実行を継続したい場合は,引き継ぎ情報設定ジョブの異常 しきい値を「1」に設定してください。
実行終了した引き継ぎ情報設定ジョブを再実行すると,出力マクロ変数には,再実行時の標準出力ファイ ルおよび正規表現に従って切り出した情報が再設定されます。
引き継ぎ情報設定ジョブで指定した正規表現は,使用する正規表現を JP1/Base で拡張しているかどうか に関係なく,拡張正規表現として扱われます。拡張正規表現の詳細については,マニュアル「JP1/Base 運用ガイド」の,拡張正規表現について記載されている個所を参照してください。
拡張正規表現の指定方法を次に示します。
• 切り出したい部分を「(」と「)」で囲む。
•「.(ピリオド)」は,改行文字以外の任意の 1 文字を意味する。
•「$」は,末尾指定(後方一致)を意味する。
注意事項
• 複数組の「(」および「)」を指定した場合は,いちばん左の組での指定と一致する文字列が切り出 されます。
•「(」および「)」を指定しない場合は,拡張正規表現全体と一致する文字列が切り出されます。
• 行単位に,指定した拡張正規表現で切り出します。複数行にわたる切り出しはできません。
•「(」に対応する「)」がないなど,文法が正しくない拡張正規表現を指定した場合,引き継ぎ情報設 定ジョブは異常終了します。
• 標準出力ファイルの 1 行当たりの長さは,最大 1,024 バイトです。1,024 バイトを超える行に対し て切り出し処理を実行すると,引き継ぎ情報設定ジョブが異常終了します。
• 拡張正規表現に一致する文字列が複数ある場合,ファイルの先頭から最初に一致した文字列を切り 出します。
拡張正規表現で切り出される情報の例を,次の表に示します。
表 2‒20 拡張正規表現の指定例
切り出し対象の 文字列
パターン 拡張正規表現 切り出される情報
abcdefghi 一組の「(」「)」を指定 abc(...)ghi def
複数組の「(」「)」を指定 abc(.)(.)(.)ghi d
「(」「)」を指定しない ...$ ghi
(c) 引き継ぎ情報設定ジョブの後続ユニット
引き継ぎ情報設定ジョブの出力マクロ変数に指定した,マクロ変数名を指定します。
(2) 引き継ぎ情報の有効範囲
引き継ぎ情報の有効範囲は,ルートジョブネット配下です。ただし,引き継ぎ情報設定ジョブで切り出し た引き継ぎ情報がマクロ変数に設定されるのは,引き継ぎ情報設定ジョブの実行後です。引き継ぎ情報設
次の条件を例に,実行したジョブとマクロ変数の値について説明します。
• ジョブ A およびジョブ B に,マクロ変数「?AJS2PRM?」を定義
• 引き継ぎ情報設定ジョブに,「?AJS2PRM?」に「PARAM」を指定
図 2‒89 引き継ぎ情報設定ジョブの例
この図の場合で,実行したジョブとその時点でのマクロ変数の値について次の表に示します。
表 2‒21 実行したジョブとマクロ変数の値
実行したジョブ マクロ変数の値
ジョブ A ?AJS2PRM?
引き継ぎ情報設定ジョブ −
ジョブ B PARAM
ジョブ A(再実行) PARAM
(3) 引き継ぎ結果の参照
引き継ぎ情報設定ジョブが含まれるジョブネットの定義によって,引き継ぎ結果の参照可否が異なります。
引き継ぎ結果の確認方法については,「2.2.6(2) マクロ変数の確認」を参照してください。
引き継ぎ結果の参照可否について説明します。
(a) 関連線がない
引き継ぎ情報設定ジョブと関連線がないジョブの場合,引き継ぎ情報設定ジョブが先に実行されていれば 参照できます。
図 2‒90 関連線がない例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表 2‒22 関連線がない場合の参照可否
ジョブ 引き継ぎ結果の参照可否
ジョブ A 引き継ぎ情報設定ジョブが先に実行されていれば,参照できる。再実行時も同様。
引き継ぎ情報設定ジョブがあとで実行された場合は,参照できない。
ジョブ B 引き継ぎ情報設定ジョブが先に実行されていれば,参照できる。再実行時も同様。
引き継ぎ情報設定ジョブがあとで実行された場合は,参照できない。
ジョブ C ルートジョブネット実行時は参照できない。
ジョブ C の再実行時は参照できる。
(b) ネストジョブネット
ネストジョブネット中の引き継ぎ情報設定ジョブの引き継ぎ結果は,ルートジョブネット中のジョブでも 参照できます。
図 2‒91 ネストジョブネットの例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表 2‒23 ネストジョブネットの場合の参照可否
ジョブ 引き継ぎ結果の参照可否
ジョブ A ルートジョブネット実行時は参照できない。
ジョブ A の再実行時は参照できる。
ジョブ B 参照できる。
ジョブ C ルートジョブネット実行時は参照できない。
ジョブ C の再実行時は参照できる。
ジョブ D 参照できる。
(c) リモートジョブネット
リモートジョブネットを含むジョブネットに引き継ぎ情報設定ジョブを定義している場合の,引き継ぎ結 果の参照可否について説明します。