Batch return codes
The batch job return code is retrieved using the getBatchJobRC EJB interface, the get BatchJobRC web services interface, or the lrcmd getBatchJobRC command option.
The following table lists the system batch job return codes that the batch environment uses. Do not confuse the batch job return code with either the job status constants (see the com.ibm.websphere.longrun.JobStatusConstants API) or the job scheduler constants (see the com.ibm.websphere.longrun.JobSchedulerConstants API). The JobStatusConstants represent the status of the job such as submitted, ended, restartable, canceled, or execution failed.
The job status can be obtained using the getJobStatus EJB interface, the getJobStatus web services interface, or through the job management console. The JobSchedulerConstants represent operating conditions returned by the job scheduler on requests involving multiple jobs. For example:
int[] cancelJob( String[] jobid ))
These conditions include:
- Job does not exist
- Job is in an invalid state
- Database exception has occurred.
Return code Explanation 0 Job ended normally -1 Internal protocol error - WSGrid utility -2 Input parameter error - WSGrid utility -4 Job was suspended -8 Job was canceled -10 Job was forcibly canceled (z/OS only) -12 Job failed and is in restartable state -14 Job failed and is in execution failed state** -16 Catastrophic failure - WSGrid utility Avoid trouble: Even though an application can set a value for the job return code, that value is only returned when the job completes normally. If the job fails with a status of either execution fails or restartable the value returned is one of the runtime-set negative return codes described in the preceding table.gotcha
There are two options used to report an error in a batch application:
- The first option is for the application to produce an exception when an error is encountered. This results in termination of the job with a batch job return code of -12 and a batch job status of restartable. The exception can be thrown in any of the methods of the batch API.
- The second option is for the application to return a BatchConstants.STEP_COMPLETE_EXECUTION_FAILED return code (see the com.ibm.websphere.batch.BatchConstants API) from the processJobStep method and return an application-specific error return code from the destroyJobStep method. This results in termination of the job and a batch job status of execution failed. The step return code set in the destroyJobStep method is passed to any results algorithm specified on the job step and is used to influence the return code of the job to indicate the specific cause of the failure.
Related concepts
Batch job steps Batch data streams Checkpoint algorithms Results algorithms Components of a batch application