次の例は、ステップ再始動のためのジョブを再実行依頼する前に JCL に対して行うことができる変更を示しています。
//J3412 JOB 386,SMITH,MSGLEVEL=1,RD=R,RESTART=*
//S1 EXEC PGM=MYPROG
//INDATA DD DSNAME=INVENT[,UNIT=TAPE],DISP=OLD,
// [VOLUME=SER=91468,]LABEL=RETPD=14
//REPORT DD SYSOUT=A
//WORK DD DSNAME=S91468,
// DISP=(,,KEEP),UNIT=SYSDA,
// SPACE=(3000,(5000,500)),
// VOLUME=(PRIVATE,RETAIN,,6)
//DDCHKPNT DD UNIT=TAPE,DISP=(MOD,PASS,CATLG),
// DSNAME=R91468,LABEL=(,NL)
上記の例では以下の変更が行われました。
- 元のジョブと再始動されたジョブを区別するために、ジョブ名が変更されました (J1234 から J3412 へ)。
- RESTART パラメーターが JOB ステートメントに追加されて、最初のジョブ・ステップから再始動を開始するように指示します。
- WORK DD ステートメントには、このデータ・セットに対して KEEP という条件付き後処理が最初に割り当てられていました。
- 前回ジョブを実行した際にこのステップが正常終了した場合には、データ・セットは削除されているので、このステートメントに変更を加える必要はありません。
- ステップが異常終了した場合、データ・セットは保管されています。その場合は、新しいデータ・セット (示されているように T91468 ではなく S91468) を定義するか、またはジョブを再実行依頼する前にデータ・セットの状況を OLD に変更しなければなりません。
- 新しいデータ・セット (C91468 ではなく R91468) も、チェックポイント・データ・セットとして定義されました。
例: ステップ再始動の要求