3.21.4 XMLファイルへの環境変数指定機能
ジョブ定義XMLファイルおよびカタログドプロシジャ内の任意の位置に指定した環境変数をその環境変数の値に置換する。環境変数をジョブ定義XMLファイルおよびカタログドプロシジャ内に指定しておくことで,構文の解析前に文字列に置換することができる。
この機能は複数のノードに配布された,ジョブ定義XMLファイル内の環境変数を一括して変更したい場合に利用できる。
なお,XMLファイルの環境変数による置換は,SETSYMBOLによる置換よりも先に置換する。実行結果およびスプールに出力されるXMLには,環境変数を置換したあとのジョブ定義XMLファイルが出力される。
(1) 指定方法
XMLファイル中に"%{"と"}"で囲んだ環境変数名を指定した場合,"%{"から"}"までの文字列を環境変数の値に置換する。環境変数は,XMLファイルの任意の位置に指定できる。
%{環境変数名}
(a) 注意事項
-
指定した環境変数が設定されていない場合は""(空文字)に置換する。
-
XMLファイル環境変数による一括置換は,XML解析処理の前に実施するため,バッチジョブ実行システムが設定する環境変数には使用できないものがある。使用できない環境変数を次に示す。
-
ファイル割り当て機能で設定した環境変数
-
SETENV要素およびSETENVFILE要素で設定した環境変数
-
BJEX_JOB_NAME
-
BJEX_STEP_NAME
-
BJEX_JOBID
使用できる環境変数を次に示す。
-
設定ファイルBJEX_DIR_xxxパラメータで設定した環境変数
設定ファイルBJEX_DIR_xxxと同じ名前の環境変数が設定されている場合,設定ファイルBJEX_DIR_xxxが優先される。
-
(2) 使用例
(a) ジョブ定義XMLファイル
<?xml version="1.0" encoding="Shift-JIS" ?> <HitachiBatchJobExec version="1.4" os="unix" > <JOB NAME="ENV_REPLACE"> <STEP NAME="STEP01" > <EXEC PGM="%{BJEX_DIR_SHELLDIR}%{EXEC_PGM}" /> <DD TYPE="%{TYPEVAL}" NAME="DDNAME" %{DSNATTR} /> </STEP> </JOB> </HitachiBatchJobExec>
(b) 環境変数の設定
$ env BJEX_DIR_SHELLDIR abc123 $ grep BJEX_DIR_SHELLDIR /opt/hitachi/bjex/conf/bjex.conf BJEX_DIR_SHELLDIR /home/user/shell/ $ env EXEC_PGM mkDD.sh $ env TYPEVAL TEMP $ env DSNATTR DSNATTR: このパス名のファイルまたはディレクトリは存在しません。
(c) 実行結果(抜粋)
環境変数を値に置換するときに,KAKC1175-Iのメッセージを出力する。
******** XML IMAGE ******** 000001 <?xml version="1.0" encoding="Shift-JIS" ?> 000002 <HitachiBatchJobExec version="1.4" os="unix" > 000003 <JOB NAME="ENV_REPLACE"> 000004 <STEP NAME="STEP01" > 000005 <EXEC PGM="/home/user/shell/mkDD.sh" /> 000006 <DD TYPE="TEMP" NAME="DDNAME" /> 000007 </STEP> 000008 </JOB> 000009 </HitachiBatchJobExec> ******** SYSTEM MESSAGE ******** 16:29:17 002404 KAKC0900-I Parsing of xml file "test.xml" started. 16:29:17 002404 KAKC1175-I Environment variable %{BJEX_DIR_SHELLDIR} was replaced to "/home/user/shell/". 16:29:17 002404 KAKC1175-I Environment variable %{EXEC_PGM} was replaced to "mkDD.sh". 16:29:17 002404 KAKC1175-I Environment variable %{TYPEVAL} was replaced to "TEMP". 16:29:17 002404 KAKC1175-I Environment variable %{DSNATTR} was replaced to "". 16:29:17 002404 KAKC0909-I Parsing of xml file "test.xml" ended. code=0