4.3.1 サービス連携ジョブ情報の定義で使用する変数
サービス連携ジョブでは,ジョブの実行ごとに可変となる情報を変数として定義,および使用することができます。
- 〈この項の構成〉
(1) 変数の種類
サービス連携ジョブ情報の定義では,次に示す項目を変数として定義,および使用できます。なお,具体的に変数を定義する箇所や変数を使用できる定義項目については「7. 操作」を参照してください。
-
カスタムジョブ定義で指定した値を格納する変数
-
サービス連携ジョブ実行環境の環境変数を格納する変数
サービス連携ジョブ実行環境の環境変数には,JP1/AJS3がジョブ実行時に設定する環境変数を格納することもできます。ジョブ実行時に設定する環境変数の詳細は,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス」のJP1/AJS3から実行されるジョブ実行時に設定される環境変数の説明を参照してください。
-
システムが予約しているデフォルトで利用可能な変数
システムが予約しているデフォルトで利用可能な変数として,サービス連携ジョブが実行時に自動で設定する変数があります。
変数名
説明
?CSASUUID?
サービス連携ジョブ起動時に取得したUUID
?CSASSTARTDAY?
サービス連携ジョブ起動時のシステム日付の情報
?CSASSTARTTIME?
サービス連携ジョブ起動時のシステム時刻の情報
-
実行したコマンドラインの標準出力の結果を格納する変数
-
認証情報の値を格納する変数
(3) 変数の使用方法
サービス連携ジョブ情報の定義項目で変数を参照する場合は,変数の種別によって異なります。
-
カスタムジョブ定義で指定した値を格納する変数
-
サービス連携ジョブ実行環境の環境変数を格納する変数
-
システムが予約しているデフォルトで利用可能な変数
-
認証情報の値を格納する変数
変数名をそのまま「?CSA任意の文字列?」の形式で指定します。
-
実行したコマンドラインの標準出力の結果を格納する変数
「?CSA任意の文字列[任意の番号]?」の形式で指定します。この形式での参照を配列指定といいます。「任意の番号」の部分は任意の1行を参照する場合と,すべての行を参照する場合で指定方法が異なります。それぞれの指定方法を次に示します。
- 重要
-
-
定義されていない変数を指定した場合,変数を参照した値は空文字となります。
-
「?CSA任意の文字列?」の形式を指定した場合,定義されていない変数が指定されたとみなされ,変数を参照した値は空文字となります。
-
- 任意の1行を参照する場合
-
「任意の番号」には,標準出力の結果の「行数-1」の整数値を指定します。例えば,標準出力の結果の1行目を参照する場合は「?CSA任意の文字列[0]?」と指定し,15行目を参照する場合は「?CSA任意の文字列[14]?」と指定します。なお,番号には前ゼロはつけないでください。
- 重要
-
「?CSA任意の文字列[任意の番号]?」の「任意の番号」に指定された値が不正な場合,定義されていない変数が指定されたとみなされ,変数を参照した値は空文字となります。
標準出力の結果に存在しない行数を指定する場合も不正な値を指定することになります。例えば,標準出力の結果が20行の場合,「任意の番号」に指定できる値は0〜19の範囲です。しかし「任意の番号」に「25」を指定すると,指定できる値の範囲外のため,不正な値を指定したことになります。
- すべての行を参照する場合
-
「任意の番号」には「*」(アスタリスク)を指定し,「?CSA任意の文字列[*]?」と指定します。標準出力の結果の各行は改行コード(16進数で「0A」のASCIIコード)で連結されます。なお,参照した結果を[ジョブの標準出力処理設定]や[ジョブの標準エラー出力処理設定]でファイルに出力した際の改行コードは,サービス連携ジョブを実行しているOSのデフォルト改行コードで出力されます。
- 重要
-
-
この指定方法は,実行定義中の[ジョブの標準出力処理設定]および[ジョブの標準エラー出力処理設定]だけに指定してください。次に示す個所に指定すると,参照した変数に改行コードが含まれ,コマンドの実行や判定が想定通りに動作しない恐れがあります。これらの個所には,「?CSA任意の文字列[行数-1]?」の形式で指定してください。
・コマンド実行時の共通環境変数
・コマンドライン
・実行時の環境変数
・処理正常終了条件の値
・処理継続条件のリトライ条件の値
-
この指定をする場合は,この変数に格納するコマンド標準出力のサイズに注意してください。サイズの目安は「5.3 サービス連携ジョブ実行時の注意事項」を参照してください。
-
この指定方法は,サービス連携ジョブの実行先ホストのJP1/AJS3 - ManagerまたはJP1/AJS3 - Agentのバージョンが13-50以降の場合だけ有効です。13-50より前のバージョンの場合は,「任意の番号」の「*」(アスタリスク)は不正な値が指定されたとみなされます。
-
(4) 変数の解決
変数の値は,サービス連携ジョブの実行時に解決されます。なお,以下の場合,変数の部分は「空文字」として解決します。
-
定義されていない変数を参照※
-
コマンドラインの実行前に,標準出力の結果を格納する変数を参照
-
コマンドラインが判定条件によって実行されない場合に標準出力の結果を格納する変数を参照
-
標準出力の結果を参照する場合の「任意の番号」の値が不正
- 注※
-
「?CSA任意の文字列?」の任意の文字列部分に制御文字が含まれる場合も変数として扱います。
「7.1.13 Web GUIの注意事項」に記載しているように,一部の制御文字(「0A(LF)」など)を含む変数を参照する定義を登録できますが,参照元の変数としては定義できないため,「空文字」として解決されます。
そのため,制御文字を含む定義をする際は,意図せず制御文字を含む変数を参照した定義となっていないか注意してください。