While executing a job there are many abendAbend Code code due to which it can fail. Here is a list of common Abend Codes and their explanations.

Abend Code:
1. S001 – An I/O error occurred. Check reason code for exact cause. Examples are trying to read beyond End of File, trying to write to an input file or a file length error.
2. S0CA – The result of an arithmetic operation was too large for the receiving field.
a). An attempt was made to divide by too small of a number.
b). An attempt was made to multiply by too large of a number.
c). A program loop containing an arithmetic instruction caused an invalid result.
3. S0CB – An invalid divide was attempted.
a. The divisor was zero. b. The quotient exceeded the allowed data field size.
4. S0C1 – The current machine instruction was invalid
(This can be caused due to Operation Exception.Check for subscript errors, missing DD card, file not opened)
Some other common cause:
a. A JCL DD statement was either invalid or missing.
b. An attempt was made to open a data set which was already open.
c. A read/write was attempted to an unopened data set.
d. An attempt was made to execute a subroutine which was not link edited into the load module.
e. The select clause was invalid for an vsam data set.
5. S0C2 — The current machine instruction was invalid.
a. A JCL DD statement was either invalid or missing.
b. An attempt was made to open a data set that was already open.
c. A read/write was attempted to an unopened data set.
d. The select clause in the file-control paragraph did not specify an index sequential data set, when in fact the data set was indexed sequential.
e. A subscript or index contained an invalid value.
6 S002 – Invalid I/O record, e.g. attempting to write a record that is longer than the maximum record length
7 S004 – Error occurred during OPEN. E.g. Invalid DCB.
8. S013 – Error OPENing a dataset, e.g. PDS member does not exist, record length in program doesn’t match dataset’s record length.
9.S0C4 – Protection Exception/Storage Violation. Trying to access storage not available to the program. Can be caused by a subscripting error or reading/writing a file that isn’t open.
10.SOC5 -An invalid address was specified.Common causes for this kind of Abend Code is as follows :
a. A close statement was issued twice for the same file.
b. A procedure which was operated on by a Perform statement contained an improper exit.
c. An attempt was made to reference an input/output area, but no open or read had occurred for the data set.
d. A subscript or index contained an invalid value.
e. A JCL DD statement was either invalid or missing.
f. The blocksize and record size were specified as equal for variable length records.
g. An attempt was made to read/write an unopened data set.
h. An attempt was made to read after end-of-file.
i. A stop run occurred before all opened data sets were closed, in the input or output procedure of a sort.
j. Invalid parameters were passed through the linkage section.
k. The file-control select clause was missing for the data set that was being processed.
11. SOC6 – An attempt was made to execute a machine instruction which had invalid operands.
a. The program fields and/or data sets were incorrectly defined.
b. A multiplier or divisor was too large.
c. A subscript or index contained an invalid value.
d. A JCL DD statement was either invalid or missing.
e. The block size and record size were specified as equal for variable length records.
f. An attempt was made read/write to an unopened data set.
g. An attempt was made to read after end-of-file.
h. 1. Stop run occurred before all opened data sets were closed.
2. In the input or output procedure of a sort
i. An attempt was made to reference an input/output area, but no open or read
had occurred for the data set
j. Invalid parameters were passed through the linkage section.
k. The file-control select clause was missing for the data set that was being processed.
12. S0C7 – Program Check Exception – Data. Check for spaces
in a packed decimal or numeric field. Check to see if
record layouts or file layouts have been changed.
13. S0C8 – The result of an arithmetic operation was too large for the
receiving field.
a. An attempt was made to divide by too small of a number.
b. An attempt was made to multiply by too large of a number.
c. A program loop containing an arithmetic instruction caused an invalid result
14. S0C9 – A division gave a quotient which was too large for the program defined field.
a. An attempt was made to divide by zero.
b. An attempt was made to divide by too small of a number.
c. A program loop containing an arithmetic instruction caused an invalid result.
d. A sort operation was missing a SORTIN or SORTOUT JCL DD card.
15. Sx22 – Job has been cancelled. The value of x will vary depending on the way the job was cancelled.
16. S222 – Means job was cancelled by a user or operator without a dump.
17. S522- If a TSO session times out you will probably get an S522 abend code.
18. S322 –Job or step time exceeded the specified limit OR program is in loop OR insufficient time parameter on job or exec card.
19. S806 – Unable Link or Load. The job was unable to find the specified load module. Check that the job is looking at the correct Load Libraries, specify a STEPLIB if required.
20. S80A -Not enough Virtual Storage to satisfy a GETMAIN or FREEMAIN request.
21. S822 -Unable to obtain to obtain enough space to satisfy a RE.G.ION= request May need to change RE.G.ION statement in the JCL.
22. S878 – Not enough storage available to satisfy a GETMAIN or FREEMAIN request. Job was unable to allocate an area of memory of the correct size. Try Specifying or amending the ‘REGION=’ JCL statement.
23. S913 – You are trying to access a dataset which you are not authorized to use.
24. Sx37 – Unable to allocate enough storage for a dataset. You might need to increase the amount of primary and secondary space to be allocated for a dataset in the ‘SPACE=’ parameter, or you may have to move the dataset to a different DASD device which has enough space to store the dataset. ‘x’ will vary, likely Abend Code are SB37, SD37 or SE37.
25. S837 – Caused due to space issue .
Resolved after adding this following Line in the JCL
Space=( CYL,(1400,100),ELSE)
26.S9F7 –Caused due to access denial to a specific
NID.(User restriction)
27. S000u0010 –Invalid PDS record length.

Read JCL blogs  : Click Here
SYNCSORT Manual :
Click Here 
Scroll to Top