S0CB - Attempting to divide by 0 and not using ON SIZE ERROR
S002 - Very large record length/ wrong record length
Sx22 - Job has been cancelled. The value of x will vary depending on the way the job was
cancelled. S222 means job was cancelled by a user or operator without a dump.
If a TSO session times out you will probably get an S522 abend code.
S222 - The job was cancelled (by subsystem or operator) because it violated
some restriction
S522 - JOB or TSO session exceeded maximum job wait time OR
operator did not mount the require tape within allowed time limit
S806 - Load module not found
S837 - Space problem, Alloted space is not enough for data set
S913 - You are trying to access a dataset which you are not authorized to use.
SOC7 - 1. Moving non-numeric value to numeric field
2. Not initilizing the numeric variables before first use
SOC4 - 1. Index exceeds the size of table
2. Trying to use File Section variables without opening the file
S0C1 - Operation Exception. Check for subscript errors, missing DD card, file not opened.
SE37 - Insufficient disk space.
U1026 - COBOL sort failed.
U1056 - Program didn't close a file before ending

+100 -> End of cursor
-180 -> String representation of DATE, TTIME, TIMESTAMP is invalid
-204 -> Object not defined to DB2
-205 -> Column name not in specified DB22 table
-206 -> Column does not exist in any tabble in the SELECT
-551 -> Not authorized to access DB2
-803 -> Unquie index voilation. Try to iinsert duplicate record.
-805 -> DBRM or PACKAGE not found in PLAAN
-811 -> Cursor should be used , when morre than one row returned as an result
of an singleton SELECT query
-818 -> Timestamp mismatch between plan and load module
IMP QUESTIONS ON ERROR CODES
Q. What is error code for end of record/record not found in DB2?
A. 100
Q. Then How you will find that, Error is for end of record or record not found?
A. If we are using select statement, sql error code 100 represents record not found
If we are using cursor , in that situation, sql error code 100 represents end of records
FOR SQL STATE CODES (VERSION 7) CLICK HERE
FOR SQL TUTORIAL CLICK HERE

ASRA - This abend occured beacuse of invalid non numeric data
AICA - A looping task has been terminated with this abend
code by CICS because it was executing without giving
up control longer than the time period specified by
the ICVR keyword in the CICS SIT.
AEY9 - Invalid EXEC CICS command issued
AE** - Most of the abends starts with AE, occures because
they are not handled in the cics program.

00 - SUCCESSFUL COMPLETION
02 - DUPLICATE KEY, NON UNIQUE ALT INDEX
04 - READ, WRONG LENGTH RECORD
05 - OPEN, FILE NOT PRESENT
10 - END OF FILE
20 - INVALID KEY VSAM KSDS OR RRDS
21 - SEQUENCE ERROR, ON WRITE OR CHANGING KEY ON REWRITE
22 - DUPLICATE KEY23 - RECORD NOT FOUND - (when we are trying to access a record with key)
or
FILE NOT FOUND35 - OPEN, FILE NOT PRESENT
When we will use this code in our program?
There are situations where file should be read if exists, write if it does not
when you dont know whether file exists are not , first you will open
file in I-O mode and check status code. if it is 35 then open that
file for output file. other wise you will continue with your logic
41 - OPEN, FILE IS OPEN
42 - CLOSE, FILE IS CLOSED
43 - DELETE OR REWRITE & NO GOOD READ FIRST
46 - SEQUENTIAL READ WITHOUT POSITIONING
47 - READING FILE NOT OPEN AS INPUT/IO/EXTEND
48 - WRITE WITHOUT OPEN IN IO MODE
49 - DELETE OR REWRITE WITHOUT OPEN IN IO MODE
92 - LOGIC ERROR/OPENING AN OPEN FILE
OR READING OUTPUT FILE
OR WRITE INPUT FILE
OR DEL/REW BUT NO PRIOR READ
94 - SEQUENTIAL READ AFTER END OF FILE
OR NO CURRENT REC POINTER FOR SEQ
96 - MISSING DD STATEMENT IN JCL
97 - OPEN OK, FILE INTEGRITY VERIFIED
When we will use this in our programs?
We use this code whenever we open the file, if status code is 00 or 97
we will proceed with our logic, other wise, call error routine.
Usaully, it may come when file was not closed.
for example
IF WS-FILE-STATUS NOT = '00' AND '97'
PERFORM ERROR-ROUTINE
END-IF.

U0778 - A ROLL call was issued by a user application program, or a
failure during the Database Backout utility in another region resulted in
all regions being terminated as a result of an internally issued ROLL call.
U0456 - IF PSB IS NOT AVAILABLE
(NOT RUNNING/SOMEBODY IS USING)
WHAT WE SHOULD DO ?
START PSB FROM THE REGION IN WHICH YOU ARE RUNNING YOU ARE RUNNING
COMMAND - /start PGM <PSB>
NOTE - Before issuing command , please check PSB is running or not by using following command
/dis PGM <PSB>
if psb is not running then only issue above /start command.
if some body using the psb and you want to stop that transaction. use following command to stop
command
/stop PGB <PSB>
------------
status codes
------------
GE - End Of Segment
AC - Invalid SSA
* Invalid Segment name specified in SSA
* The segment name is in the DB PCB, but the SSA specifying that segment
name is not in its correct hierarchic sequence.
AD - Problem in pcb listing in program ( linkage section )
AK - Invalid SSA
* Invalid field name in SSA ( Key given in SSA is wrong )