When a Batch Processor script receives an error within a utility, what is the process to restart the job properly?
When setting the RESTART flag (under Processing Options) on the Batch Processor Interface screen to something other
than 'N' the UTILITY still fails with an error "UTILITY IN RESTART MODE".
The Batch Processor fails with an 8 return code accompanied by utility error messages such as the following:
* PTGL407- DATA OBJECT IN RESTART MODE-RESTART PARAMETER REQUIRED or * PQC0015E DATA OBJECT IN RESTART MODE - RESTART PARAMETER REQUIRED or * PFL0011E-DATA OBJECT IN RESTART MODE-UTILITY MISMATCH
The load or reorg utility will not execute.
Utilities with phases such as load, unload, copy and reorg have a second level of restart in addition to
the Batch Processor RESTART flag. The utility restart requires the .CALL statement to be modified as follows:
FROM - CALL program PARM(ssid)
TO - for CA utilities: .CALL program PARM(ssid,RESTART(option)) Options: CHECK|BYPASS|PHASE|TERM or for IBM utilities: .CALL program PARM(ssid,,RESTART(option)) Options: CHECK|BYPASS|PHASE|TERM
The option that will be used is usually PHASE:
Example: .CALL UTLGLCTL PARM(ssid,RESTART(PHASE))
In summary the Batch Processor RESTART flag tells at what .SYNC command to restart; whereas the UTILITY RESTART
added to the .CALL statement tells the processing which UTILITY PHASE to restart at.
Both restarts are needed if the previous run fails in a UTILITY that has phases.
Within Batch Processor JCL the Restart Control card is placed:
.OPTION RETRY(03) BINDERRORS SQLERRORS
.RESTART SYNC <<<<<<<<<<<<<<<<
.CONNECT ssid