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

[目次][用語][索引][前へ][次へ]

10.7 終了コード

<この節の構成>
(1) ジョブステップの終了コード
(2) ジョブコントローラの終了コード
(3) 注意事項

(1) ジョブステップの終了コード

ジョブステップの終了コードは,ジョブ定義XMLファイルのEXEC要素に記述したプログラム(プログラムコマンド,スクリプト,Javaアプリケーション)の終了コード,またはジョブコントローラがエラーを検出した場合に設定する値である。

EXEC要素に記述したプログラムの終了コードがPGM_RCABENDパラメータに指定した値と異なる場合,ジョブステップの終了コードをKAKC0097-Iメッセージに出力する。

EXEC要素に記述したプログラムの終了コードがPGM_RCABENDパラメータに指定した値と同じである場合,またはジョブコントローラがエラーを検出して処理を終了した場合は,ジョブステップの終了コードをKAKC0096-Eメッセージに出力する。なお,PGM_RCABENDパラメータに何も指定しなかった場合,1,2,3が仮定される。

ジョブステップの終了コード一覧を次の表に示す。

表10-28 ジョブステップの終了コード一覧

終了コード 意味
0 EXEC要素に記述したプログラムの終了コードが0である。
1 次のどちらかである。
  • EXEC要素に記述したプログラムまたはcjexecjobコマンドが異常終了した。
  • EXEC要素に記述したプログラムの終了コードが1である。
2 次のどちらかである。
  • EXEC要素に記述したプログラムまたはcjexecjobコマンドが異常終了した。
  • EXEC要素に記述したプログラムの終了コードが2である。
3 次のどちらかである。
  • EXEC要素に記述したプログラムまたはcjexecjobコマンドが異常終了した。
  • EXEC要素に記述したプログラムの終了コードが3である。
10000以上 次のどちらかである。
  • KAKC0096-Eメッセージを出力した場合,ジョブコントローラがエラーを検出したため,ジョブステップを実行しないで処理を終了または,ジョブステップを実行したが終了コードを取得できなかった。
  • KAKC0097-Iメッセージを出力した場合,EXEC要素に記述したプログラムの終了コードが10000以上である。
上記以外 EXEC要素に記述したプログラムの終了コード。

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

ジョブコントローラの終了コードは次の値であり,KAKC0099-Iメッセージに出力する。

(a) 異常終了したジョブステップが存在しない場合

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合
ジョブコントローラの終了コードは,ジョブステップの最大の終了コードである。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合
ジョブコントローラの終了コードは,最終ジョブステップの終了コードである。

ただし,-1以下の終了コード,または4096以上の終了コードのジョブステップが存在する場合は,ジョブコントローラの終了コードを4096とする。

SETMAXRC要素で変更した場合は,その値に従う。

(b) 異常終了したジョブステップが存在する場合

異常終了したジョブステップ内での最大の終了コードに5000を加算した値である。

SETMAXRC要素で変更した場合は,その値に従う。

(c) ジョブコントローラがエラーを検出した場合

ジョブコントローラがエラーを検出して処理を終了した場合は,10000以上の値である。

SETMAXRC要素で変更はできない。

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

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

終了コード 意味
0 次のどれかである。
  • -vオプションを指定した場合,正常終了した。
  • -cオプションを指定した場合,ジョブ定義XMLファイルの誤りを検出することなく正常終了した。
  • JOB_RCDEFINEパラメータでSTEPMAXを指定した場合
    ジョブを実行した場合,ジョブステップの最大の終了コードが0である。
  • JOB_RCDEFINEパラメータでSTEPLASTを指定した場合
    ジョブを実行した場合,最終ジョブステップの終了コードが0である。
1〜4095
  • JOB_RCDEFINEパラメータでSTEPMAXを指定した場合
    次の両方の条件を満たす。
    ・ジョブステップの最大の終了コードが1〜4095である。
    ・異常終了したジョブステップが存在しない。
  • JOB_RCDEFINEパラメータでSTEPLASTを指定した場合
    最終ジョブステップの終了コードが1〜4095である。
4096
  • JOB_RCDEFINEパラメータでSTEPMAXを指定した場合
    次の両方の条件を満たす。
    ・ジョブステップの最大の終了コードが-1以下,または4096以上である。
    ・異常終了したジョブステップが存在しない。
  • JOB_RCDEFINE パラメータでSTEPLASTを指定した場合
    次の両方の条件を満たす。
    ・最終ジョブステップの終了コードが-1以下,または4096以上である。
    ・最終ジョブステップが正常終了した。
5000〜9096 異常終了したジョブステップが存在する。
10010 ジョブコントローラが次に示すエラーを検出したため,処理を終了した。
  • ファイルの割り当てに失敗した。
  • ディレクトリの割り当てに失敗した。
  • 世代ファイルの割り当てに失敗した。
10020 ジョブコントローラが次に示すエラーを検出したため,ジョブステップを実行しないで処理を終了した。
  • 入力パラメータの文法エラー。
  • 設定ファイルの文法エラー。
  • ジョブ定義XMLファイルの文法エラー。
10030 ジョブコントローラが次に示すエラーを検出したため,処理を終了した。
  • DD要素で指定した一時ファイルが存在しない。
  • DD要素で指定した一時ISAMファイルが存在しない。
  • 世代管理ファイルの割り当てエラー。
10040 ジョブコントローラが次に示すエラーを検出したため,ジョブステップを実行しないで処理を終了した。
  • 設定ファイルのオープンエラー,入出力エラー。
  • ジョブ定義XMLファイルのオープンエラー,入出力エラー。
  • ジョブログファイルのオープンエラー,入出力エラー。
  • ISAMライブラリのロードエラー。
  • 世代管理ファイルのオープンエラー,入出力エラー。
10050 ジョブコントローラが次に示すエラーを検出したため,処理を終了した。
  • ジョブステッププロセス生成エラー。
  • ジョブステッププロセス終了待ちエラー。
10060 メモリ割り当てエラーなど,ジョブコントローラが続行できないエラーを検出したため,処理を終了した。
10070 ジョブコントローラがメッセージを出力できなかったため,処理を終了した。
10080 プログラムの内部矛盾検出など,ジョブコントローラが内部エラーを検出したため,処理を中断した。
10090 ジョブの強制終了を指示されたため,ジョブの実行を中止し,処理を終了した。
(d) 終了コードの例

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

ジョブ定義XMLファイル
 
<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version="1.3" os="windows">
  <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-30 ジョブコントローラの終了コード(例1)

ジョブステップ終了順序 ステップ終了コード ジョブコントローラの終了コード
STEPMAX STEPLAST
STEP1 4
STEP2 8
STEP3 0

(凡例)
○:ジョブコントローラの終了コードとなる。
−:ジョブコントローラの終了コードとならない。

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

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

(3) 注意事項