Hitachi

uCosminexus Batch Job Execution Server 使用の手引


10.8.2 ジョブコントローラの終了コード

〈この項の構成〉

(1) 終了コードの定義

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合

ジョブコントローラの終了コードは,ジョブステップの最大の終了コードである。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合

ジョブコントローラの終了コードは,最後に実行完了したメインステップの終了コードである。

ただし,終了コードが241以上の場合は,ジョブコントローラでエラーが発生したことを示す。ジョブステップの最大の終了コード,または最終ジョブステップの終了コードが240以上の場合は,ジョブコントローラの終了コードを240とする。

ジョブコントローラの終了コード一覧を次の表に示す。

表10‒39 ジョブコントローラの終了コード一覧

終了コード

意味

0

次のどれかである。

  • -vオプションを指定した場合,正常終了した。

  • -cオプションを指定した場合,ジョブ定義XMLファイルの誤りを検出することなく正常終了した。

  • JOB_RCDEFINEパラメータでSTEPMAXを指定した場合

    ジョブを実行した場合,ジョブステップの最大の終了コードが0である。

  • JOB_RCDEFINEパラメータでSTEPLASTを指定した場合

    ジョブを実行した場合,最終ジョブステップの終了コードが0である。

  • コマンドは正常に処理を終了した。

1〜239

  • JOB_RCDEFINEパラメータでSTEPMAXを指定した場合

    ジョブステップの最大の終了コードが1〜239である。

  • JOB_RCDEFINEパラメータでSTEPLASTを指定した場合

    最終ジョブステップの終了コードが1〜239である。

240

  • JOB_RCDEFINEパラメータでSTEPMAXを指定した場合

    ジョブステップの最大の終了コードが240〜255である。

  • JOB_RCDEFINEパラメータでSTEPLASTを指定した場合

    最終ジョブステップの終了コードが240〜255である。

242

次に示すエラーを検出したため,処理を終了した。

  • ファイルの割り当てに失敗した。

  • ディレクトリの割り当てに失敗した。

  • SETENVFILE要素で示す環境変数格納ファイル中の環境変数設定に失敗した。

244

次に示すエラーを検出したため,ジョブステップを実行しないで処理を終了した。

  • 入力パラメータの文法エラー

  • 設定ファイルの文法エラー

  • ジョブ定義XMLファイルの文法エラー

  • 環境変数の設定エラー

  • ステップリスタートが指示されたがリスタートできないジョブステップが指定された。または,ジョブステップが見つからない。

次に示すエラーを検出したため,処理を終了した。

  • DD要素で指定した一時ファイルが存在しない。

  • DD要素で指定した一時ISAMファイルが存在しない。

  • 世代ファイルの割り当てエラー

245

次に示すエラーを検出したため,ジョブステップを実行しないで処理を終了した。

  • 設定ファイルのオープンエラー,入出力エラー

  • ジョブ定義XMLファイルのオープンエラー,入出力エラー

  • ジョブログファイルのオープンエラー,入出力エラー

  • ISAMライブラリのロードエラー

246

次に示すエラーを検出したため,処理を終了した。

  • ジョブステッププロセス生成エラー

  • ジョブステッププロセス終了待ちエラー

250

メモリ割り当てエラーなど,続行できないエラーを検出したため,処理を終了した。

253

メッセージを出力できなかったため,処理を終了した。

254

プログラムの内部矛盾検出など,内部エラーを検出したため,処理を中断した。

255

強制終了を指示されたため,ジョブの実行を中止し,処理を終了した。

注 ジョブコントローラの終了コードからジョブステップの実行結果を把握するために,EXEC要素に記述するプログラムの終了コードは,125以下とすることを推奨する。また,SETMAXRC要素でジョブステップの最大の終了コード,または最終ジョブステップの終了コードを変更する場合も,125以下とすることを推奨する。

(2) 終了コードの例

次のジョブについて,JOB_RCDEFINEパラメータでSTEPMAXを指定した場合とSTEPLASTを指定した場合のそれぞれについて,ジョブコントローラの終了コードを示す。

ジョブ定義XMLファイル
<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="JOB_RC">
    <STEP NAME="STEP1">  <!-- 終了コード4で終了するステップ -->
      <EXEC PGM="RTN" PARM="4" />
    </STEP>
    <STEP NAME="STEP2">  <!-- 終了コード8で終了するステップ -->
      <EXEC PGM="RTN" PARM="8" />
    </STEP>
    <STEP NAME="STEP3">  <!-- 終了コード0で終了するステップ -->
      <EXEC PGM="RTN" PARM="0" />
    </STEP>
  </JOB>
</HitachiBatchJobExec>
ジョブコントローラの終了コード
表10‒40 ジョブコントローラの終了コード(例1)

ジョブステップ終了順序

ステップ終了コード

ジョブコントローラの終了コード

STEPMAX

STEPLAST

STEP1

4

STEP2

8

STEP3

0

(凡例)

○:ジョブコントローラの終了コードとなる。

−:ジョブコントローラの終了コードとならない。

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合,すべてのジョブステップの終了コードの最大値が,ジョブコントローラの終了コードとなる。終了コードの最大値はSTEP2の終了コード8であるため,ジョブコントローラの終了コードは8となる。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合,最後に実行完了したメインステップの終了コードが,ジョブコントローラの終了コードとなる。最後に実行完了したメインステップの終了コードはSTEP3の終了コード0であるため,ジョブコントローラの終了コードは0となる。

(3) サブステップを含むジョブの終了コードの例

サブステップを含む次のジョブについて,JOB_RCDEFINEパラメータでSTEPMAXを指定した場合とSTEPLASTの場合それぞれについて,ジョブコントローラの終了コードの決定方法を示す。

ジョブ定義XMLファイル
<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="JOB_RC_SUBSTEP">
    <STEP NAME="STEP1_SUB">   <!-- 終了コード4で終了するサブステップ   終了順序3 -->
      <EXEC PGM="CBLRTN" PARM="004" LANG="COBOL" JSPEC="YES" />
    </STEP>
    <STEP NAME="STEP2_SUB">   <!-- 終了コード8で終了するサブステップ   終了順序1 -->
      <EXEC PGM="CBLRTN" PARM="008" LANG="COBOL" JSPEC="YES" />
    </STEP>
    <STEP NAME="STEP3_MAIN">  <!-- 終了コード0で終了するメインステップ 終了順序2 -->
      <EXEC PGM="CBLRTN" PARM="000" LANG="COBOL" />
    </STEP>
  </JOB>
</HitachiBatchJobExec>
ジョブコントローラの終了コード
表10‒41 ジョブコントローラの終了コード(例2)

ジョブステップ終了順序

ジョブステップ終了コード

ジョブコントローラの終了コード

STEPMAX

STEPLAST

STEP2_SUB

8

STEP3_MAIN

0

STEP1_SUB

4

注※ サブステップであるため,STEPLASTの場合はジョブコントローラの終了コードに影響を与えない。

(凡例)

○:ジョブコントローラの終了コードとなる。

−:ジョブコントローラの終了コードとならない。

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合,サブステップを含むすべてのジョブステップの終了コードの最大値が,ジョブコントローラの終了コードとなる。終了コードの最大値はSTEP2_SUBの終了コード8であるため,ジョブコントローラの終了コードは8となる。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合,最後に実行完了したメインステップの終了コードが,ジョブコントローラの終了コードとなる。最後に実行完了したメインステップの終了コードはSTEP3_MAINの終了コード0であるため,ジョブコントローラの終了コードは0となる。