5.9.2 ジョブの打ち切り条件を定義する

#-adsh_job_stopコマンドを使用して,ジョブステップ終了時に,ジョブを打ち切るかどうかを判断する条件を定義します。

<この項の構成>
(1) 判定するタイミング
(2) 有効範囲
(3) ジョブの打ち切り条件定義の例

(1) 判定するタイミング

ジョブステップ終了時に,終了コードがこの属性で定義されているかを毎回判定します。定義されていれば後続のジョブ定義スクリプトを実行しないでジョブが終了します。

(2) 有効範囲

指定した個所以降のジョブ定義スクリプトの実行で有効になります。また,先行ジョブ定義スクリプトでこのコマンドが指定されている場合,先行ジョブ定義スクリプトの指定はリセットされ,新たに指定した条件だけが有効になります。

指定例を次に示します。

01: #!/opt/jp1as/bin/adshexec
02: #-adsh_job JOB0001
03:
04: #-adsh_step_start STEP1
05: #-adsh_step_end
06:
07: #-adsh_job_stop 4:            ←この定義は行09~13の指定が有効範囲
08:
09: #-adsh_step_start STEP2
10: #-adsh_step_end
11:
12: #-adsh_step_start STEP3
13: #-adsh_step_end
14:
15: #-adsh_job_stop 8:16,24:32  ←この定義は行17~18の指定が有効範囲
16:
17: #-adsh_step_start STEP4
18: #-adsh_step_end

(3) ジョブの打ち切り条件定義の例

#-adsh_job_stopコマンドでジョブの打ち切り条件を定義した場合,次のようになります。

実行例を次に示します。

#-adsh_job JOB_STOP
#-adsh_rc_ignore CBLRTN
#-adsh_job_stop 4                  ←rc=4でジョブを打ち切るよう指定

echo "Job start."
CBLRTN  004  #rc=4で成功するコマンド ←ジョブステップ外のコマンドがrc=4となるが,
                                       中断しない

#-adsh_step_start STEP01
echo "Step start."
CBLRTN  004  #rc=4で成功するコマンド
#-adsh_step_end                    ←ジョブステップがrc=4で終了し,中断する

#-adsh_step_start STEP03 -run always  ←run属性に関係なく後続ジョブステップを実行しない
 echo "command in step"
#-adsh_step_end

echo "Job end."                      ←後続コマンドを実行しない