RESTART Parameter
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.