uCosminexus Batch Job Execution Server 使用の手引(Windows(R)用)
ジョブステップの終了コードは,ジョブ定義XMLファイルのEXEC要素に記述したプログラム(プログラムコマンド,スクリプト,Javaアプリケーション)の終了コード,またはジョブコントローラがエラーを検出した場合に設定する値である。
EXEC要素に記述したプログラムの終了コードがPGM_RCABENDパラメータに指定した値と異なる場合,ジョブステップの終了コードをKAKC0097-Iメッセージに出力する。
EXEC要素に記述したプログラムの終了コードがPGM_RCABENDパラメータに指定した値と同じである場合,またはジョブコントローラがエラーを検出して処理を終了した場合は,ジョブステップの終了コードをKAKC0096-Eメッセージに出力する。なお,PGM_RCABENDパラメータに何も指定しなかった場合,1,2,3が仮定される。
ジョブステップの終了コード一覧を次の表に示す。
| 終了コード | 意味 |
|---|---|
| 0 | EXEC要素に記述したプログラムの終了コードが0である。 |
| 1 | 次のどちらかである。
|
| 2 | 次のどちらかである。
|
| 3 | 次のどちらかである。
|
| 10000以上 | 次のどちらかである。
|
| 上記以外 | EXEC要素に記述したプログラムの終了コード。 |
ジョブコントローラの終了コードは次の値であり,KAKC0099-Iメッセージに出力する。
ただし,-1以下の終了コード,または4096以上の終了コードのジョブステップが存在する場合は,ジョブコントローラの終了コードを4096とする。
SETMAXRC要素で変更した場合は,その値に従う。
異常終了したジョブステップ内での最大の終了コードに5000を加算した値である。
SETMAXRC要素で変更した場合は,その値に従う。
ジョブコントローラがエラーを検出して処理を終了した場合は,10000以上の値である。
SETMAXRC要素で変更はできない。
ジョブコントローラの終了コード一覧を次の表に示す。
| 終了コード | 意味 |
|---|---|
| 0 | 次のどれかである。
|
| 1〜4095 |
|
| 4096 |
|
| 5000〜9096 | 異常終了したジョブステップが存在する。 |
| 10010 | ジョブコントローラが次に示すエラーを検出したため,処理を終了した。
|
| 10020 | ジョブコントローラが次に示すエラーを検出したため,ジョブステップを実行しないで処理を終了した。
|
| 10030 | ジョブコントローラが次に示すエラーを検出したため,処理を終了した。
|
| 10040 | ジョブコントローラが次に示すエラーを検出したため,ジョブステップを実行しないで処理を終了した。
|
| 10050 | ジョブコントローラが次に示すエラーを検出したため,処理を終了した。
|
| 10060 | メモリ割り当てエラーなど,ジョブコントローラが続行できないエラーを検出したため,処理を終了した。 |
| 10070 | ジョブコントローラがメッセージを出力できなかったため,処理を終了した。 |
| 10080 | プログラムの内部矛盾検出など,ジョブコントローラが内部エラーを検出したため,処理を中断した。 |
| 10090 | ジョブの強制終了を指示されたため,ジョブの実行を中止し,処理を終了した。 |
次のジョブについて,JOB_RCDEFINEパラメータでSTEPMAXを指定した場合とSTEPLASTを指定した場合のそれぞれについて,ジョブコントローラの終了コードを示す。
<?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となる。
<EXEC PGM="*"> <![CDATA[ ! testcommand IF ERRORLEVEL 1 GOTO ERROREND exit 0 : ERROREND IF ERRORLEVEL 4 EXIT %ERRORLEVEL% IF ERRORLEVEL 3 EXIT 4003 IF ERRORLEVEL 2 EXIT 4002 IF ERRORLEVEL 1 EXIT 4001 ! ]]> </EXEC> |
All Rights Reserved. Copyright (C) 2009, 2016, Hitachi, Ltd.