動的に変化する情報を使った処理を実行させるようなジョブネットの定義には,引き継ぎ情報設定ジョブを使用します。
引き継ぎ情報設定ジョブでは,先行ジョブの標準出力ファイルから必要な情報を切り出してグローバルマクロ変数に設定し,後続ジョブへ引き継ぎます。グローバルマクロ変数とは,マクロ変数の一種で,引き継ぎ情報設定ジョブによって設定されるマクロ変数のことです。
引き継ぎ情報設定ジョブを使用した情報の引き継ぎの例を次に示します。
図2-77 引き継ぎ情報設定ジョブを使用した情報の引き継ぎ例
各ユニットは,次のように定義されているものとします。
PCジョブAおよびPCジョブBの実行ファイル名に指定するバッチファイルは,ジョブ実行前に作成しておく必要があります。
このジョブネットを実行すると,次のように実行されます。
(1) 定義方法
引き継ぎ情報設定ジョブを使用するための,先行ジョブ,引き継ぎ情報設定ジョブ,および後続ジョブの定義方法について説明します。
(a) 引き継ぎ情報設定ジョブの先行ジョブ
引き継ぎ情報設定ジョブの先行ジョブは,次の条件をすべて満たしている必要があります。
(b) 引き継ぎ情報設定ジョブ
引き継ぎ情報設定ジョブには,次の指定をします。
先行ジョブが出力した標準出力ファイルのどの行にも正規表現が一致しない場合,出力マクロ変数にはNULL文字列が設定されます。
引き継ぎ情報設定ジョブが実行終了したときの戻り値を,次の表に示します。
表2-14 引き継ぎ情報設定ジョブの戻り値
先行ジョブの戻り値 | 引き継ぎ情報設定 ジョブの戻り値 | 条件 |
---|---|---|
0 | 0 | すべての正規表現が一致した場合 |
1 | 一致しない正規表現が一つ以上あった場合 | |
20以上 | その他のエラーが発生した場合 | |
0以外 | 先行ジョブの戻り値 | 環境設定パラメーターPassingInfoUsePreRcが「1」の場合 |
0 | 環境設定パラメーターPassingInfoUsePreRcに「0」を設定し,かつ,すべての正規表現が一致した場合 | |
1 | 環境設定パラメーターPassingInfoUsePreRcに「0」を設定し,かつ,一致しない正規表現が一つ以上あった場合 | |
20以上 | 環境設定パラメーターPassingInfoUsePreRcに「0」を設定し,かつ,その他のエラーが発生した場合 |
一致しない正規表現があっても後続ユニットの実行を継続したい場合は,次に示す方法で対処してください。
実行終了した引き継ぎ情報設定ジョブを再実行すると,出力マクロ変数には,再実行時の標準出力ファイルおよび正規表現に従って切り出した情報が再設定されます。
引き継ぎ情報設定ジョブで指定した正規表現は,使用する正規表現をJP1/Baseで拡張しているかどうかに関係なく,拡張正規表現として扱われます。拡張正規表現の詳細については,マニュアル「JP1/Base 運用ガイド」の,拡張正規表現について記載されている個所を参照してください。
拡張正規表現の指定方法を次に示します。
拡張正規表現で切り出される情報の例を,次の表に示します。
表2-15 拡張正規表現の指定例
切り出し対象の 文字列 | パターン | 拡張正規表現 | 切り出される情報 |
---|---|---|---|
abcdefghi | 一組の「(」「)」を指定 | abc(...)ghi | def |
複数組の「(」「)」を指定 | abc(.)(.)(.)ghi | d | |
「(」「)」を指定しない | ...$ | ghi |
(c) 引き継ぎ情報設定ジョブの後続ジョブ
引き継ぎ情報設定ジョブの出力マクロ変数に指定した,マクロ変数名を指定します。
(2) 引き継ぎ情報の有効範囲
引き継ぎ情報の有効範囲は,ルートジョブネット配下です。ただし,引き継ぎ情報設定ジョブで切り出した引き継ぎ情報がマクロ変数に設定されるのは,引き継ぎ情報設定ジョブの実行後です。引き継ぎ情報設定ジョブの実行前は,マクロ変数に設定された値を参照できません。引き継ぎ情報設定ジョブが設定したマクロ変数は,ジョブの再実行時にもそのまま使用されます。
次の条件を例に,実行したジョブとマクロ変数の値について説明します。
図2-78 引き継ぎ情報設定ジョブの例
この図の場合で,実行したジョブとその時点でのマクロ変数の値について次の表に示します。
表2-16 実行したジョブとマクロ変数の値
実行したジョブ | マクロ変数の値 |
---|---|
ジョブA | ?AJS2PRM? |
引き継ぎ情報設定ジョブ | - |
ジョブB | PARAM |
ジョブA(再実行) | PARAM |
(3) 引き継ぎ結果の参照
引き継ぎ情報設定ジョブが含まれるジョブネットの定義によって,引き継ぎ結果の参照可否が異なります。
引き継ぎ結果の確認方法については,マニュアル「JP1/Automatic Job Management System 3 導入ガイド 3.1.3(2) マクロ変数の確認」を参照してください。
引き継ぎ結果の参照可否について説明します。
(a) 関連線がない
引き継ぎ情報設定ジョブと関連線がないジョブの場合,引き継ぎ情報設定ジョブが先に実行されていれば参照できます。
図2-79 関連線がない例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表2-17 関連線がない場合の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | 引き継ぎ情報設定ジョブが先に実行されていれば,参照できる。再実行時も同様。 引き継ぎ情報設定ジョブがあとで実行された場合は,参照できない。 |
ジョブB | 引き継ぎ情報設定ジョブが先に実行されていれば,参照できる。再実行時も同様。 引き継ぎ情報設定ジョブがあとで実行された場合は,参照できない。 |
ジョブC | ルートジョブネット実行時は参照できない。 ジョブCの再実行時は参照できる。 |
(b) ネストジョブネット
ネストジョブネット中の引き継ぎ情報設定ジョブの引き継ぎ結果は,ルートジョブネット中のジョブでも参照できます。
図2-80 ネストジョブネットの例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表2-18 ネストジョブネットの場合の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | ルートジョブネット実行時は参照できない。 ジョブAの再実行時は参照できる。 |
ジョブB | 参照できる。 |
ジョブC | ルートジョブネット実行時は参照できない。 ジョブCの再実行時は参照できる。 |
ジョブD | 参照できる。 |
(c) リモートジョブネット
リモートジョブネットを含むジョブネットに引き継ぎ情報設定ジョブを定義している場合の,引き継ぎ結果の参照可否について説明します。
●ルートリモートジョブネットの場合
ルートリモートジョブネットに引き継ぎ情報設定ジョブがある場合,ルートリモートジョブネット内で引き継ぎ結果を参照できます。
図2-81 ルートリモートジョブネットの例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表2-19 ルートリモートジョブネットの場合の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | ルートジョブネット実行時は参照できない。 ジョブAの再実行時は参照できる。 |
ジョブB | 参照できる。 |
●ネストリモートジョブネットの場合(ルートジョブネット中に引き継ぎ情報設定ジョブがある)
ルートジョブネット中に引き継ぎ情報設定ジョブがある場合,ルートジョブネット内のジョブだけ引き継ぎ結果を参照できます。ネストリモートジョブネット内のジョブでは参照できません。
図2-82 ネストリモートジョブネット(ルートジョブネット中に引き継ぎ情報設定ジョブがある)の例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表2-20 ネストリモートジョブネット(ルートジョブネット中に引き継ぎ情報設定ジョブがある)の場合の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | ルートジョブネット実行時は参照できない。 ジョブAの再実行時は参照できる。 |
ジョブB | 参照できる。 |
ジョブC | 参照できない。 |
ジョブD | 参照できない。 |
●ネストリモートジョブネットの場合(ネストリモートジョブネット中に引き継ぎ情報設定ジョブがある)
ネストリモートジョブネット中に引き継ぎ情報設定ジョブがある場合,ネストリモートジョブネット内のジョブだけ引き継ぎ結果を参照できます。ルートジョブネット内のジョブでは参照できません。
図2-83 ネストリモートジョブネット(ネストリモートジョブネット中に引き継ぎ情報設定ジョブがある)の例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表2-21 ネストリモートジョブネット(ネストリモートジョブネット中に引き継ぎ情報設定ジョブがある)の場合の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | 参照できない。 |
ジョブB | 参照できない。 |
ジョブC | ルートジョブネット実行時は参照できない。 ジョブCの再実行時は参照できる。ただし,ネストリモートジョブネットを再実行した場合は,再実行後でも参照できない。 |
ジョブD | 参照できる。 |
(d) ジョブネットコネクタ
ジョブネットコネクタを定義しているジョブネットまたは接続先ジョブネットで定義した引き継ぎ情報設定ジョブの引き継ぎ結果は,引き継ぎ情報設定ジョブがある側のジョブネットだけ参照できます。
●ジョブネットコネクタを定義しているジョブネットに引き継ぎ情報設定ジョブがある場合
ジョブネットコネクタを定義しているジョブネットだけ引き継ぎ結果を参照できます。
図2-84 ジョブネットコネクタを定義しているジョブネットに引き継ぎ情報設定ジョブがある例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表2-22 ジョブネットコネクタを定義しているジョブネットに引き継ぎ情報設定ジョブがある場合の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | ルートジョブネット実行時は参照できない。 ジョブAの再実行時は参照できる。 |
ジョブB | 参照できる。 |
ジョブC | 参照できない。 |
ジョブD | 参照できない。 |
●接続先のジョブネットに引き継ぎ情報設定ジョブがある場合
接続先のジョブネットだけ引き継ぎ結果を参照できます。
図2-85 ジョブネットコネクタの接続先ジョブネットに引き継ぎ情報設定ジョブがある例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表2-23 ジョブネットコネクタの接続先ジョブネットに引き継ぎ情報設定ジョブがある場合の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | 参照できない。 |
ジョブB | 参照できない。 |
ジョブC | ルートジョブネット実行時は参照できない。 ジョブCの再実行時は参照できる。 |
ジョブD | 参照できる。 |
(e) 待ち合わせ条件
待ち合わせ条件付きユニットと,その待ち合わせ対象ユニットが別のルートジョブネット配下にある場合,引き継ぎ結果はそれぞれのルートジョブネット配下だけ参照できます。
図2-86 待ち合わせ条件を使用した例
この図の場合の,引き継ぎ結果の参照可否について次の表に示します。
表2-24 引き継ぎ情報設定ジョブAの引き継ぎ結果の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | ルートジョブネットA実行時は参照できない。 ジョブAの再実行時は参照できる。 |
ジョブB | 参照できる。 |
ジョブC | 参照できない。 |
ジョブD | 参照できない。 |
ジョブE | 参照できない。 |
表2-25 引き継ぎ情報設定ジョブBの引き継ぎ結果の参照可否
ジョブ | 引き継ぎ結果の参照可否 |
---|---|
ジョブA | 参照できない。 |
ジョブB | 参照できない。 |
ジョブC | ルートジョブネットB実行時は参照できない。 ジョブCの再実行時は参照できる。 |
ジョブD | 参照できる。 |
ジョブE | 参照できる。 |
(4) 注意事項
引き継ぎ情報設定ジョブを使用する場合の注意事項を,次に示します。