JP1/Automatic Job Management System 3 導入ガイド
マクロ変数とは,ジョブ実行時に情報を引き継ぐために使用する変数です。マクロ変数を使用すると,ジョブの実行ごとにパラメーターの値が変化するような処理を含んだ業務を自動化できます。
マクロ変数を使用すると,次のことができます。
- イベントジョブで受信したイベント情報を後続ジョブへ引き継ぐ
イベントジョブで受信したイベント情報(例えば,ファイル監視ジョブの場合,変更があったファイル名や更新日時など)を後続ジョブへ引き継ぐことができます。詳細については,マニュアル「JP1/Automatic Job Management System 3 設計ガイド(業務設計編) 2.4.4(6) イベントジョブの受信情報の引き継ぎ」を参照してください。
- 先行ジョブの標準出力ファイルから切り出した情報を後続ジョブへ引き継ぐ
引き継ぎ情報設定ジョブを使用すると,先行ジョブが出力した標準出力ファイルから,正規表現で切り出した情報を後続ジョブに引き継ぐことができます。詳細については,マニュアル「JP1/Automatic Job Management System 3 設計ガイド(業務設計編) 2.4.9 動的に変わる情報を後続ジョブに引き継ぐ(引き継ぎ情報設定ジョブを使ったジョブネットの定義例)」を参照してください。
- 実行登録時にジョブネットに指定した値を配下のユニットに引き継ぐ
実行登録時に引き継ぎ情報(値)を指定すると,実行登録したジョブネット配下のユニットに定義されているマクロ変数に値を引き継ぐことができます。詳細については,「4.1.2 実行登録時のマクロ変数の指定」を参照してください。
- <この項の構成>
- (1) マクロ変数の指定
- (2) マクロ変数の確認
- (3) マクロ変数の展開失敗時の状態設定
- (4) 注意事項
(1) マクロ変数の指定
マクロ変数の指定について説明します。
イベントジョブ,先行ジョブ,または実行登録時に指定するマクロ変数は,マクロ変数名と引き継ぎ情報を指定します。後続ジョブでは,マクロ変数名を指定します。
マクロ変数名は,「?AJS2xxxxx?」という形式の64バイト以内の文字列で指定します。xxxxxの部分に指定できる文字列は,A〜Z(大文字の英字),0〜9(アラビア数字),「.(ピリオド)」です。
引き継ぎ情報は,マクロ変数の使い方によって指定方法が異なります。それぞれの指定方法について説明します。
- イベントジョブで受信したイベント情報を後続ジョブへ引き継ぐ場合
イベントジョブに,引き継ぎ情報名を指定します。指定した情報が,イベントジョブの後続ジョブに引き継がれます。
引き継ぎ情報名に指定できる情報は,イベントジョブで引き継ぐ情報として用意されています。詳細については,「付録A イベントジョブで引き継ぐ情報」を参照してください。
- 先行ジョブの標準出力ファイルから切り出した情報を後続ジョブへ引き継ぐ場合
引き継ぎ情報設定ジョブに,標準出力ファイルから情報を切り出すための拡張正規表現を指定します。切り出した情報が,引き継ぎ情報設定ジョブの後続ジョブに引き継がれます。
- 実行登録時にジョブネットに指定した値を配下のユニットに引き継ぐ場合
実行登録時に,配下のユニットに引き継ぐ値を指定します。指定した値そのものが,配下のユニットに引き継がれます。
(2) マクロ変数の確認
マクロ変数を使用している場合,ジョブで使用しているマクロ変数名を確認したり,ジョブの実行後にマクロ変数で引き継いだ結果を確認したりできます。
(a) 使用しているマクロ変数の確認
JP1/AJS3 - Viewの[変数使用状況]ダイアログボックス,またはajsprintコマンドの-vオプションの指定で,配下のユニットで使用しているマクロ変数名の一覧を参照できます。詳細については,マニュアル「JP1/Automatic Job Management System 3 操作ガイド 15.3.25 [変数使用状況]ダイアログボックス」,およびマニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス1 2. コマンド ajsprint」を参照してください。
ajsprintコマンドでの参照例を次の図に示します。
図3-15 配下のユニットで使用しているマクロ変数の参照例
(b) マクロ変数で引き継いだ結果の確認
JP1/AJS3 - Viewの[引き継ぎ結果]ダイアログボックスでは,実行登録時に指定したマクロ変数名と引き継ぎ情報,およびジョブ実行時に引き継いだマクロ変数名と引き継ぎ結果が参照できます。詳細については,マニュアル「JP1/Automatic Job Management System 3 操作ガイド 15.7.10 [引き継ぎ結果]ダイアログボックス」を参照してください。
また,ajsshowコマンドでは,-iオプションで2バイトフォーマット指示子%MVを指定すると,実行登録時に指定したマクロ変数名と引き継ぎ情報,ジョブ実行時に引き継いだマクロ変数名と引き継ぎ結果が参照できます。出力結果が複数ある場合は「,(コンマ)」で区切られて出力されます。出力世代が複数ある場合は改行されて出力されます。
ajsshowコマンドの出力例を次に示します。
ajsshow -F AJSROOT2 -g 2 -i "%MV" /net "AJS2ENV:/jp1_data/Job_Report","AJS2COM:c:\temp\test.exe" "AJS2ENV:/jp1_data/Job_Report","AJS2COM:c:\temp\test.exe" ajsshow -F AJSROOT2 -i "%MV" /net2 "AJS2ENV:/jp1_data2/Job△Report","AJS2COM:c:\temp\test2.exe"ajsshowコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス1 2. コマンド ajsshow」を参照してください。
なお,ユニット種別および状態によって,引き継ぎ結果の参照可否が異なります。ユニット種別および状態による引き継ぎ結果の参照可否を,次の表に示します。
表3-6 引き継ぎ結果の参照可否
ユニット種別 状態 参照可否 ルートジョブネット 未登録 × 上記以外 ○※1 ネストジョブネット − × ジョブ※2,※3 未登録 × 未計画 × 先行終了待ち × 保留中 × キューイング × 実行待ち × 実行中 × 正常終了 ○ 正常終了-偽 ○ 警告検出終了 ○ 異常検出終了 ○ 起動失敗 ○ 終了状態不明 ○ 強制終了 ○ 未実行終了 × 計画未実行 × 監視中断 ○ 閉塞 ×
- (凡例)
- ○:参照できる。
- ×:参照できない。
- −:該当しない。
- 注※1
- リモートジョブネットは対象外です。
- 注※2
- 次に示すジョブは対象外です。
- ・リモートジョブネット配下のジョブ
- ・サスペンド中に削除されたジョブ
- ・サスペンド中に追加されたジョブ(ただし,サスペンド解除後は対象)
- 注※3
- ジョブ状態を変更したジョブは,変更後の状態に依存します。
引き継ぎ情報は,ジョブの再実行時にもそのまま使用されます。ジョブの引き継ぎ結果は,その時点での引き継ぎ情報を基にして表示されるため,引き継ぎ結果を参照することによって,対象ジョブを再実行したときに引き継がれる情報を事前に確認できます。
- 補足事項
- 次の場合,前回実行時に引き継がれた結果と異なる結果が表示されます。
- 引き継ぎ元の先行ジョブが再実行中の場合
その先行ジョブから引き継ぐ情報は表示されません。
- 引き継ぎ元の先行ジョブを再実行し,実行が終了した場合
その先行ジョブの再実行後の引き継ぎ情報が表示されます。
- サスペンド中に引き継ぎ元の先行ジョブを削除した場合
その先行ジョブから引き継がれていた情報は表示されません。
- ジョブネット中に,同名のマクロ変数を指定している引き継ぎ情報設定ジョブを複数定義している場合
関連線に関係なく,最後に実行された引き継ぎ情報設定ジョブによって設定された引き継ぎ情報が表示されます。
- 引き継ぎ情報設定ジョブに指定している正規表現を変更してから,その引き継ぎ情報設定ジョブを再実行し,実行が終了した場合
引き継ぎ情報設定ジョブの再実行によって,変更後の正規表現に従って設定された引き継ぎ情報が表示されます。
- 先行ジョブが前回実行時とは異なる標準出力ファイルを出力した状態で,引き継ぎ情報設定ジョブを再実行し,実行が終了した場合
引き継ぎ情報設定ジョブの再実行によって,再実行時の標準出力ファイルから設定された引き継ぎ情報が表示されます。
(3) マクロ変数の展開失敗時の状態設定
ジョブの実行時にマクロ変数の引き継ぎ情報の展開が失敗した場合,そのジョブの状態を「起動失敗」にするか,マクロ変数名を文字列として扱いそのままジョブネットを実行させるかを設定できます。
マクロ変数の引き継ぎ情報の展開が失敗した場合の状態は,環境設定パラメーターMACROCHANGEFAILで設定できます。
マクロ変数の引き継ぎ情報の展開が失敗した場合の状態の設定方法については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド1 6.2.10 マクロ変数の展開失敗時の動作の設定」(Windowsの場合),またはマニュアル「JP1/Automatic Job Management System 3 構築ガイド1 15.2.10 マクロ変数の展開失敗時の動作の設定」(UNIXの場合)を参照してください。
(4) 注意事項
- マクロ変数名と引き継ぎ情報のサイズの合計が4,096バイトを超えないようにしてください。特に,起動条件をAND条件で定義している場合は,起動条件内に定義したすべてのイベントジョブのマクロ変数および引き継ぎ情報をマージします。このため,マクロ変数名と引き継ぎ情報のサイズの合計が4,096バイトを超えないように注意する必要があります。
- 一つのルートジョブネット配下に同じ名称のマクロ変数が複数ある場合,次の順番で有効になります。
- ジョブネット中(起動条件中以外)のイベントジョブの引き継ぎ情報
- 起動条件中のイベントジョブの引き継ぎ情報
- 実行登録時の引き継ぎ情報
- 引き継ぎ情報設定ジョブで設定した引き継ぎ情報※
一つのルートジョブネット配下には同じ名称のマクロ変数を指定しないことを推奨します。
- 注※
- 一つのルートジョブネット配下に,同じ名称のマクロ変数を指定した引き継ぎ情報設定ジョブが複数ある場合,あとから実行した引き継ぎ情報設定ジョブの引き継ぎ情報が有効です。
- JP1/AJS3 09-50以降で新たにマクロ変数を指定できるようになった定義項目にマクロ変数を指定しているユニットを,JP1/AJS3 - Managerのバージョンが09-50より前の環境で実行した場合,マクロ変数が展開されません。マクロ変数名がそのまま引き継ぎ情報として引き継がれます。
対象となる定義項目については,マニュアル「JP1/Automatic Job Management System 3 操作ガイド 15. ウィンドウとダイアログボックス」の各種定義用ダイアログボックスの説明を参照してください。
Copyright (C) 2009, 2014, Hitachi, Ltd.
Copyright (C) 2009, 2014, Hitachi Solutions, Ltd.