Mainframe JCL Abend Examples


An AbEnd (abnormal end) is an exception condition which results in the abnormal termination of a program or software.  Its is a common terminology used in the mainframe world where a JCL terminates with an error code. 

Following section covers some common abends faced by mainframe developers

S0C1 Operation Exception

Cause Reading or writing unopened file, Missing DD card, Subscript Error

Resolution If Interrupt is at address 00048 look for missing DD. or if Interrupt is at address 0004F inconsistent JCL. Check for system name in program. If Interrupt is at address 00002 called a module that was not present in the load module. Read or write issued before file was opened.

S0C4 Protection Exception

Cause Incorrect BLKSIZE and LRECL used in the JCL.

Resolution Check for missing SELECT Check for un-initialized index or subscript
If interrupt is at address 004814 attempt to read unopened file or missing DD

S0C6 Specification Exception

Cause Check for subscript or index maximum value exceeded.
An un-initialized or overlaid register Referencing a record before an open or read Invalid subscript Overflowed table wiping out some instructions.

S0C7 Data Exception

Cause Wrong Usage definition, Spaces in numeric field, Bad subscript, Group moving not doing required conversions, Incorrect linkage conventions, Check for improper exit from PERFORM

Resolution Check for Duplicate Close stmt, Sort with incorrect catalog proc. Referencing a data item before open or read

S0CB Decimal Divide Exception

Cause Divide by Zero, Field too small for calculated quotient.

Resolution Check the divide by zero condition.

SB37 End of Volume

Cause It occurrs due to the end of volume processing. 

Resolution Reallocate the dataset with larger space parameters in the primary and secondary portion of the SPACE DD statement.  If in a batch job rerun the job after correcting the SPACE DD statement is completed.

SD37 No Secondary Allocation Specified

Cause A data set opened for output used all the primary space, and no secondary space was requested. 

Resolution Change the JCL specifying a secondary quantity to the space parameter on the DD statement.

SE37  Max Available Extents already used

Cause  All space was filled on the volume and an attempt was made to obtain space on the next specified volume.  Either the space was not available on the volume or the data set already exhausted on that volume.

Resolution Try to compress the PDS.