Hitachi

uCosminexus Batch Job Execution Server 使用の手引(Windows(R)用)


EXEC要素(プログラムの実行)

〈このページの構成〉

形式

[COND="
   [(]しきい値, 演算符号 [,ステップ名[,プロシジャステップ名]] [)]
   [,(しきい値, 演算符号 [,ステップ名[,プロシジャステップ名]])]+
   [,{EVEN|ONLY}] "]
[Group="Javaバッチアプリケーション実行時のスケジュールグループ名"]
[LANG="{COBOL|Java}"]
[Option="{Javaのクラスパス|Javaのシステムプロパティ}"]
[PGM="{*|コマンド名|Javaアプリケーションクラス名}"]
[PARM="{引数|<Javaバッチアプリケーションのmainメソッドに渡す引数>…}"]
[PARMSPLIT="{YES|NO}"]
[STDOUTCLASS="クラス名"]
[STDERRCLASS="クラス名"]

機能

実行するプログラムとプログラムを実行する条件を定義する。

属性

COND="

[(]しきい値, 演算符号 [,ステップ名[,プロシジャステップ名]] [)]

[,(しきい値, 演算符号 [,ステップ名[,プロシジャステップ名]])]+

[,{EVEN|ONLY}] "

先行する全ジョブステップまたは特定のジョブステップの終了コードや,異常終了した先行ジョブステップの有無によって,このジョブステップを実行するかどうかを決定するための条件を指定する。

  • しきい値〜<符号なし整数>((0〜4095))

    先行する全ジョブステップまたは特定のジョブステップの終了コードと比較するしきい値を指定する。1つでも条件を満たした場合,該当するジョブステップをスキップする。

  • 演算符号〜(({EQ|NE|GT|GE|LT|LE}))

    演算符号の意味を次に示す。

    EQ:しきい値は終了コードと等しい。

    NE:しきい値は終了コードと等しくない。

    GT:しきい値は終了コードより大きい。

    GE:しきい値は終了コードより大きいか等しい。

    LT:しきい値は終了コードより小さい。

    LE:しきい値は終了コードより小さいか等しい。

  • ステップ名〜<記号名称>((1〜31文字))

    判定対象となる終了コードを返すジョブステップ名を指定する。ただし,該当するジョブステップがプロシジャ中のジョブステップの場合には,ステップ名としてプロシジャを呼び出したCALL要素のステップ名を指定したあと,続いてプロシジャステップ名を指定する。

    プロシジャ内でプロシジャステップ名を指定しないでステップ名だけ指定した場合,はじめにそのプロシジャ内のジョブステップ名を検索し,見つからない場合はジョブ定義XMLファイルの先頭から,プロシジャ外のジョブステップ名を検索する。

  • プロシジャステップ名〜<記号名称>((1〜31文字))

    該当するジョブステップがプロシジャ中のジョブステップの場合に,判定対象となる終了コードを返すプロシジャ中のSTEP要素に指定したステップ名を指定する。

  • EVEN

    先行したジョブステップのどれかが異常終了したかどうかに関係なく,無条件にこのジョブステップを実行する。

  • ONLY

    先行したジョブステップのどれかが異常終了した場合に,このジョブステップを実行する。

Group="Javaバッチアプリケーション実行時のスケジュールグループ名"〜<グループ名>((1〜63))

Javaバッチアプリケーション実行時,ジョブスケジューリング機能を使用する場合に,CTMがバッチアプリケーションの実行をスケジューリングするときに割り当てるバッチサーバのスケジュールグループを指定する。スケジュールグループ名は,usrconf.cfg(バッチアプリケーション用オプション定義ファイル)でも指定できる。デフォルト値はJOBGROUPとなる。スケジュールグループ名の指定の優先順位は次のとおり。

  1. コマンドライン

  2. usrconf.cfg (バッチアプリケーション用オプション定義ファイル)

  3. デフォルト値

詳細についてはマニュアル「Cosminexus アプリケーションサーバ V8 リファレンス コマンド編」を参照のこと。

LANG="{COBOL|Java}"

Option="{Javaのクラスパス|Javaのシステムプロパティ}"〜<任意文字列>((1〜1023))

PGM="{*|コマンド名|Javaアプリケーションクラス名}"

実行するプログラムを指定する。この属性は,REPLACE要素内でEXEC要素を置換する場合にだけ省略できる。

  • 実行するプログラム,コマンド,スクリプトの名称と,その引数を要素の内容に指定していることを示す。

  • コマンド名〜<任意文字列>((1〜247文字))

    実行するプログラム,コマンド,スクリプトの名称を指定する。

    プログラムの名称の一部として拡張子を指定しなかった場合,".exe"を追加する。最後が1つのピリオド"."で終了し拡張子が含まれていない場合や,パス名が含まれている場合,".exe"は追加しない。

  • Javaアプリケーション〜<クラス名>((1〜247文字))

    パッケージ名を含めたJavaアプリケーションクラス名を指定する。

PARM="{引数|mainメソッドに渡す引数…}"〜<任意文字列>((1〜958文字))
  • 引数

    実行するプログラムに与える引数を指定する。ただし,PGM属性が"*"の場合は指定しても無視する。

    文字列中に空白を含む場合は,この属性が指定されたEXEC要素のPARMSPLIT属性の指定に従い,プログラムにどのように引数を与えるかを決定する。

  • Javaバッチアプリケーションのmainメソッドに渡す引数

    LANG="Java"の場合はJavaアプリケーションのmainメソッドに渡す引数を指定する。

PARMSPLIT="{YES|NO}"

PARM属性値が空白を含む場合,プログラムにどのように引数を与えるかを指定する。この属性を省略した場合,設定ファイルのEXEC_PARMSPLITパラメータの指定値が有効になる。

  • YES

    C言語インタフェースに従った形式を使用する場合に,YESを指定する。PARM属性値が空白を含む場合,空白で区切られた複数の引数としてプログラムに渡される。

  • NO

    VOS3から移行したCOBOLプログラムなどのVOS3インタフェースに従った形式を使用する場合に,NOを指定する。PARM属性値が空白を含む場合,空白を含む1つの引数としてプログラムに渡される。

EXEC要素のPARMSPLIT属性と設定ファイルのEXEC_PARMSPLITパラメータの指定によるPARM属性の扱いを次の表に示す。

表9‒4 EXEC要素のPARMSPLIT属性と設定ファイルのEXEC_PARMSPLITパラメータの指定によるPARM属性の扱い

EXEC_PARMSPLITパラメータ

PARMSPLIT属性

YES

NO

省略

YESまたは省略

分割する※1

分割しない※2

分割する※1

NO

分割する※1

分割しない※2

分割しない※2

注※1 空白で分割した複数の引数とする。

注※2 空白を含む1つの引数とする。

STDOUTCLASS="クラス名"〜<記号名称>((1〜31文字))

ユーザプログラムの標準出力を格納するファイルの出力クラスを指定する。この属性を省略した場合は,JOB要素のSTDOUTCLASS属性で指定された出力クラスとなる。

出力クラス名をSysoutClassパラメータで定義していない場合は,KAKC1124-Eメッセージを出力してジョブ定義XMLファイルエラーとなる。

STDERRCLASS="クラス名"〜<記号名称>((1〜31文字))

ユーザプログラムの標準エラー出力を格納するファイルの出力クラスを指定する。この属性を省略した場合は,JOB要素のSTDERRCLASS属性で指定された出力クラスとなる。

出力クラス名をSysoutClassパラメータで定義していない場合は,KAKC1124-Eメッセージを出力してジョブ定義XMLファイルエラーとなる。

内容

PGM属性値に"*"を指定した場合,この要素の内容に,<![CDATA[!と!]]>で囲んで,プログラム名,引数など,Windowsのコマンドプロンプトに記述できるコマンド行を指定する。プログラム名や引数に,属性値の引用符内の文字列に指定できない<,",または&の文字が含まれている場合に,この要素の内容に記述する。

注意事項

使用例

プログラムPROG1を実行する場合の使用例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.2" os="windows">
   <JOB NAME="JOB1">
   <STEP NAME="STEP">
   <EXEC PGM="PROG1" />
   </STEP>
   </JOB>
</HitachiBatchJobExec>

また,Windowsのバッチファイルとして実行する場合の使用例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.2" os="windows">
   <JOB NAME="JOB1">
   <STEP NAME="STEP">
   <EXEC PGM='*'>
   <![CDATA[
    !
   PROG1
    !
   ]]>
   </EXEC>
   </STEP>
   </JOB>
</HitachiBatchJobExec>