RESTART Parameter


Note! RESTART parameter can be coded only at the job level.

What is RESTART?

RESTART is used to restart the job execution from a specific step (at which step the job failed). The step can be a job step, a procedure step, or a checkpoint.

RESTART is a keyword parameter and is optional. RESTART parameter is not always coded with the job card and only codes when resubmitting the job after abend.

When to RESTART?

Let us assume a job has multiple steps, and the job abended after a few steps of execution. The few steps that are completed successfully doesn't require to execute again. In this case, we will code the RESTART parameter at the job card with the failed step. Due to this, the completed steps are bypassed, and the job execution starts from the given step.

Syntax -

RESTART=stepname[.proc-stepname]
(or)
RESTART=*
* Specifies the job execution starts from the first step.
It is the default value if the RESTART parameter is not coded.
Stepname Specifies the step name where the execution should start.
proc-stepname Specifies the PROC step name from where the job execution starts.
It is optional if the step is not in PROC.

Default and overrides -

If no RESTART is coded in the job, the execution will start from the beginning.

JOB starts execution from the first step of the JCL by default. If the restart step is different from the first step of the procedure, then the user needs to specify the step name in the PROC.

Examples -


Scenario - Restart from STEP02.

//MTHEXMP1 JOB (MTH123),'PAWAN Y',RESTART=STEP02
//STEP01   EXEC PGM=PROGA
//STEP02   EXEC PGM=PROGB
//STEP03   EXEC PGM=PROGC
//STEP04   EXEC PGM=PROGD

The job starts executing from STEP02.