First it is important to understand the difference between an ABEND and a condition code. An ABEND means there was a severe error and the job should not continue. It could be a System abend such as S806, or it could be a User abend such as U0999. A condition code is a value returned by the program in each step and it should be within the range of 0 through 4095. Some people use them to either skip or execute subsequent steps in the same job although the most common use is to use condition codes to flush all steps following a step that returned a condition code higher than expected.
When a step ABENDS with a System or User code, CA-11 will use Auto Setup (AUTOS) to determine the procstep.stepname and store this information in the CMT. This is part of the basic CA-11 code as shipped. Since condition codes may be used in different ways, CA-11 normally will ignore condition codes and will assume a job completes successfully as long as no step abended. If it is determined by means other than with CA-11 that a job does have to be restarted, the CMT restart stepname field will need to be manually updated with the correct procstep.stepname before the job may be submitted again.
Optionally, CA-11 can be set to check condition codes returned at step termination time and can determine if a job should be set for restart at that point. It involves the HIRTCD and GBLHIRC fields set in the CMT. The defaults are zero which indicate that CA-11 is to NOT do condition code checking.
Each CMT Job and Step record contains a HIRTCD (high return code) field which can be used to define unacceptable condition codes. HIRTCD is a four-position numeric field, and acceptable settings are from 0000 to 4095. Use the CA-11 Online System commands LJOB and LSTP to display the settings of the HIRTCD fields online. Update the fields using the CA-11 Online System command CUPD (CMT Update) or the CA-11 batch utilities U11OBD or U11UPD. If HIRTCD in the CMT Job record is set to a nonzero value, CA-11 checks the return code of each step in the job and considers the job to have failed (abended) if any step returns a condition code equal to or greater than the specified value. If using the Auto Setup feature, then Auto Setup is invoked when the job terminates and sets the job for restart.
If HIRTCD in the CMT Step record is set to a nonzero value, CA-11 checks the return code of the step and considers the job to have failed (abended) if the step return code is equal to or greater than the specified value. If the Auto Setup feature is used, then Auto Setup is invoked when the job terminates and will set the job for restart.
If neither the CMT Job record nor the CMT Step record contain a nonzero value in the HIRTCD field, the GBLHIRC (global high return code) configuration file parameter will be examined and if the step return code is equal to or greater than the specified value, the job is considered to have failed. If the Auto Setup feature is used, then Auto Setup is invoked when the job terminates and sets the job for restart.
A Tracking System user exit, U11CCREX, is provided to operate with return code processing. This exit makes it possible to override the default handling of the HIRTCD value for a job and its steps.
CA-11 does not stop processing of the job when an unacceptable condition code is encountered; the job processes until it reaches completion or abends.
Note: If an installation has implemented a scheduling system such as Unicenter CA-7 or Unicenter CA-Scheduler which also performs return code processing, it is important to synchronize the handling of return codes between CA-11 and the scheduling system. In other words, CA-11 and the scheduling system must agree on what constitutes a job or step return code which results in a restart for a job.