JOB要素(ジョブの属性と終了条件の定義)
形式
NAME="ジョブ名" [COND="[(]条件コード,演算符号[)] [,(条件コード,演算符号)]+"] [MSGCLASS="クラス名"] [STDOUTCLASS="クラス名"] [STDERRCLASS="クラス名"]
機能
ジョブの初期値となる属性と終了条件を定義する。
ジョブ要素内には,次に示す順番で要素を含めることができる。要素の順番が適切でない場合,ジョブは実行されずにエラーとなる。
-
JOBPARM要素
1回だけ記述,または省略できる。
-
PERMISSION要素
1回だけ記述,または省略できる。
-
DD要素または,SETENV要素
複数回記述,または省略できる。
DD要素は,NAME属性がJOBLIB,およびTYPE属性がLIBであるDD要素を記述できる。
-
PROC要素
複数回記述,または省略できる。
-
STEP要素とSETMAXRC要素の繰り返し
複数回記述する。ただし,SETMAXRC要素は省略できる。
-
IF,ELSEおよびENDIF要素
SETMAXRC要素の次に記述,または省略できる。
属性
- NAME="ジョブ名" 〜<記号名称>((1〜31文字))
-
ジョブを識別するためのジョブ名を指定する。
- COND="[(]条件コード,演算符号[)] [,(条件コード,演算符号)]+"
-
ジョブステップの終了コードによって,ジョブの実行を打ち切る条件を指定する。
-
条件コード 〜<符号なし整数>((0〜255))
ジョブステップの終了コードと比較するしきい値を指定する。1つでも条件を満たすとジョブは終了し,後続ジョブステップを実行しない。
-
演算符号 〜(({EQ|NE|GT|GE|LT|LE}))
演算符号の意味を次に示す。
EQ:しきい値は終了コードと等しい。
NE:しきい値は終了コードと等しくない。
GT:しきい値は終了コードより大きい。
GE:しきい値は終了コードより大きいか等しい。
LT:しきい値は終了コードより小さい。
LE:しきい値は終了コードより小さいか等しい。
-
- MSGCLASS="クラス名" 〜<記号名称>((1〜31文字))
-
ジョブログやシステムから出力されるメッセージの出力クラスを指定する。また,DD要素でSYSOUT="*"を指定した場合の出力クラスになる。省略した場合,またはジョブ定義XMLファイルにエラーがあり,この属性を正しく解析できなかった場合,MSGCLASS_DEFAULTパラメータで指定されたクラスになる。
- STDOUTCLASS="クラス名" 〜<記号名称>((1〜31文字))
-
EXEC要素のSTDOUTCLASS属性を省略した場合のユーザプログラムの標準出力を格納するファイルの出力クラスを指定する。この属性を省略した場合は,設定ファイルのSTDOUTCLASS_DEFAULTパラメータを仮定する。
出力クラス名をSysoutClassパラメータで定義していない場合は,KAKC1124-Eメッセージを出力してジョブ定義XMLファイルエラーとなる。
- STDERRCLASS="クラス名" 〜<記号名称>((1〜31文字))
-
EXEC要素のSTDERRCLASS属性を省略した場合のユーザプログラムの標準エラー出力を格納するファイルの出力クラスを指定する。この属性を省略した場合は,設定ファイルのSTDOUTCLASS_DEFAULTパラメータを仮定する。
出力クラス名をSysoutClassパラメータで定義していない場合は,KAKC1124-Eメッセージを出力してジョブ定義XMLファイルエラーとなる。
注意事項
-
COND属性での条件パラメータは8つまで指定できる。条件パラメータを1つだけ指定する場合は,外側の括弧"( )"を省略できる。
-
JOB要素とEXEC要素の両方でCOND属性を指定した場合,JOB要素で指定した条件を満たすと,EXEC要素で指定した条件を満たさないときも,後続のジョブステップを実行しない。
使用例
JOB要素の直下に指定できるすべての要素を指定したジョブの例を次に示す。
<?xml version="1.0" encoding="Shift_JIS" ?> <HitachiBatchJobExec version = "1.3" os="unix" > <JOB NAME="JOB1" COND="0,LT" MSGCLASS="A"> <JOBPARM FCB="FCB1"/> <PERMISSION FILE="755"/> <DD NAME="JOBLIB" TYPE="LIB" DSN="DIR1" DISP="SHR"/> <DD NAME="JOBLIB" TYPE="LIB" DSN="DIR2" DISP="SHR"/> <SETENV NAME="ENV1" VALUE="VALUE1"/> <SETENV NAME="ENV2" VALUE="VALUE2"/> <PROC NAME="PROC1"> <STEP> <EXEC PGM="PROG1"/> </STEP> </PROC> <PROC NAME="PROC2"> <STEP> <EXEC PGM="PROG2"/> </STEP> </PROC> <STEP NAME="STEP1"> <EXEC PGM="PROG2"/> </STEP> <STEP NAME="STEP2"> <CALL NAME="PROC1"/> <DD NAME="DD2" TYPE="FILE" DSN="DSN1" DISP="NEW,DELETE"/> </STEP> <SETMAXRC VALUE="0"/> <STEP NAME="STEP3"> <EXEC PGM="PROG3"/> <DD NAME="DD3" TYPE="SYSOUT" SYSOUT="A"/> </STEP> </JOB> </HitachiBatchJobExec>