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}"
  • COBOL
    COBOL2002でコンパイルしたプログラムを実行する場合,実行するプログラム言語"COBOL"を指定する。プログラム言語がCOBOL以外の場合は指定しないこと。
  • この属性の指定によって,ジョブステップ内のDD要素で指定したDD要素名から生成する環境変数に"CBL_"を付けて,"CBL_"+"DD要素名"という名称に変換する。
  • この属性を省略した場合,ジョブステップ内のDD要素で指定したDD要素名から生成する環境変数に"DDN_"を付けて,"DDN_"+"DD要素名"という名称に変換する。
  • Java
    Cosminexus 08-00以降でバッチアプリケーションを実行する場合,実行するプログラム言語"Java"を指定する。プログラム言語がJava以外の場合は指定しないこと。この属性の指定によって,PGM属性にJavaアプリケーションクラス名,PARM属性にmainメソッドに渡す引数,Group属性にスケジュールグループ名,Option属性にJavaオプションを引数とするバッチアプリケーション実行コマンドcjexecjobを実行する。

Option="{Javaのクラスパス|Javaのシステムプロパティ}"〜<任意文字列>((1〜1023))
  • Javaのクラスパス
    -cpまたは-classpathオプションを指定する。ジョブコントローラは,この属性に指定されたオプションを,そのままJavaオプションとしてcjexecjobコマンドに渡す。
    複数のクラスパスを異なる手段で指定した場合の検索順は次のとおり。
  1. usrconf.cfg(バッチサーバ用オプション定義ファイル)
  2. コマンドライン引数
  3. usrconf.cfg (バッチアプリケーション用オプション定義ファイル)
  • Javaのシステムプロパティ
    cjexecjobコマンドに渡す,Java実行環境のシステムプロパティを指定する。同じキーのシステムプロパティを指定した場合,あとに指定したプロパティが優先される。同じキーのシステムプロパティを異なる手段で指定した場合の優先順位は次のとおり。
  1. コマンドライン引数
  2. usrconf.properties(バッチアプリケーション用ユーザプロパティファイル)
  3. usrconf.cfg(バッチアプリケーション用オプション定義ファイル)
  4. usrconf.properties(バッチサーバ用ユーザプロパティファイル)
  5. usrconf.cfg(バッチサーバ用オプション定義ファイル)
詳細はマニュアル「Cosminexus アプリケーションサーバ V8 リファレンス コマンド編」を参照のこと。

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>