Note that abend codes starting with U are User abends, and
are not issued by MVS.
Any program can issue a User abend and its meaning is determined by the program.
In the new Language Environment, COBOL issues several User abends instead of
letting MVS issue the abend.
If you have the Language Environment, be aware that some of the MVS abends will
not appear.
This is always in development. If you have corrections or clarifications, please
send them in.
Thanks to David Rawson for sending information about SE37 for tapes.
Use IBM's LookAt to find text in IBM manuals that explains error messages from IBM LookAt Explain error messages in ZOS, VM, VSE, AIX, Linux.
System Completion Codes from IBM manual
CICS Abend Codes from IBM CICS Messages and Codes GC34-6003-07
IMS V9 Messages and Codes Vol. 2 IMS abends, DLI status codes, like GB, II IBM GC18-7827-00 09/02/04
IBM IMS DLI Status Codes. IBM Manual on line. 1 per page.
VSAM and QSAM File Status Codes/keys
VSAM and QSAM File Status Codes/keys from IBM manual
Tutorial on abend codes At U of SC
Tutorial on abend codes: VSAM, CICS, MVS by Lightning Solutions Ltd
SQLcodes from this site
SQLCODES for DB2 Version 8 from the IBM manual GC18-7422-0 04/06/05
Abend codes under TSO/ISPF from the IBM manual SC34-4821-04
Terminal I/O error codes under TSO/ISPF from the IBM manual SC34-4821-04
ISPF Edit macro return codes from the IBM manual SC34-4820-04 07/12/05
Input file record length is not equal to the length stated
in the DD or the FD.
Wrong length record.
IO error, damaged tape, device malfunction.
With disk, reading a dataset that was allocated but never written to.
Writing to input file
Concatenation of files with different record lengths or record formats.
Reading after the end of the file by non-COBOL program.
COBOL intercepts this and displays "QSAM error, status 92".
Out of space on output disk file.
With variable format files used for output.
The record is larger than the track size.
The record length is greater than allowed maximum 32,768.
The wrong record length is being used on output.
The 4-byte record length indicator is wrong.
Record greater than 32,768 bytes
A dummy file with no blocksize.
A library has run out of space in its directory.
You have to backup, delete, and restore the library with IEBCOPY.
A dataset is sequential, but the JCL indicates that it is a library/PDS.
A library member was specified in the JCL but was not found.
The block size is not a multiple of record length.
Check record length in program, compare to actual record length of file
The block size was found to be 0.
A new file is being created but block size was not in the JCL.
Reading a file whose JCL has SYSOUT=
The program on the program library was unreadable. Recompile and link.
The job was canceled because it violated some restriction.
A dump was requested
A tape has a bad trailer label.
Copy the file with IEBGENER, ignoring the error. The copy will be good.
Using LABEL=2 when there's only one dataset on the tape.
A disk dataset was not actually on the volume stated in the
VOL=SER=.
A disk dataset was not actually on the volume indicated in the catalog.
The job was cancelled because it violated some restriction.
No dump was requested.
The block count on a tape trailer label is wrong.
Probably caused by hardware error.
Copy the file with IEBGENER, ignoring the error. The copy will be good.
A problem with the second volume of tape or disk.
An Input/output error in the VTOC of a disk volume. Inform support staff.
The job used more CPU time than it should have.
Either the estimate is wrong or the program is in an uncontrollable loop.
A volume was needed that could not be mounted.
Too many job steps.
Two jobs or DDNAMES wanting same tape at same time.
Job was waiting too long.
A bad tape label.
A bad concatenation, different types of devices were used.
An unreadable tape mark or label.
The program on the library was not executable.
See linkage editor report that put the program on library.
The tape was unexpired and the operator terminated the job.
Labels on the tape were bad.
Too many lines of print.
Region too small for the program.
Program not on the library. May need a JOBLIB or STEPLIB.
Region too small for the program.
Right tape volume, wrong dataset name.
Right dataset name, wrong tape volume.
Security violation.
Label=n states the wrong number.
No space in a library directory for this member's name.
Insufficient disk space.
Insufficient disk space.
Insufficient disk space.
the maximum number of extents would be exceeded. For instance, when exceeding 16
extents of a PDS.
An E37 on tape datasets is most often caused when the number of requested
volumes is exceeded. The default is 5,
therefore a request for the sixth volume will fail with a E37.
Executing a program with an unresolved external reference.
Calling a program and the program was not included during link edit.
An uncontrolled loop moved data on top of instructions.
Reading a file that is not open
Your SORTIN DCB was not correct
Mixing compile options RES and NORES in different modules
Read/write to unopened file
An uncontrolled loop moved data on top of instructions.
An uncontrolled loop moved data on top of instructions.
referencing a field in a record of a closed file
referencing an item in Linkage-Section when there was no PARM= in the JCL.
Calling/called programs have different length for items passed in Linkage
Section
with COBOL Sort, doing a STOP RUN or GOBACK while
an input or output procedure is still running
See reasons as for 0C4.
Falling through into an ENTRY statement
Transferring control into the middle of a SORT procedure.
Bad boundary alignment for binary data.
See reasons for 0C4
Program attempting to do math on illegal data.
Data is not numeric, but should be.
Moving ZEROS to group item whose subordinate items
are packed-decimal
Uninitialized packed-decimal fields.
Record description is wrong. Field starts or ends in the wrong place in the
record.
Find record description of creating program.
Attempting to divide by 0 and not using ON SIZE ERROR
Conflicting file attributes. See S013.
Executing with modules compiled both with RES and NORES
Subscript out of range
Missing DD statement in JCL for DISPLAY or ACCEPT verb
Problem opening or processing a file.
Check the file status.
COBOL sort failed.
Same as SB37 Abend
Conflicting DCB parameters. Same as S013.
Program control falls through the last physical statement
in program,
which is not GOBACK/STOP RUN.
Program didn't close a file before ending
Conflicting DCB information for file defined as EXTERNAL
Illegal numbers in reference modification
COBOL LE intercepted the Abend. Messages in SYSDBOUT.
COBOL LE intercepted the Abend. Messages in CEEDUMP.