[USflag] The American Programmer [USflag]

Books on Mainframe Programming
Mainframe Manuals and Tutorials
System Abend codes, Sqlcodes, VSAM/QSAM codes
  Mainframe Abend Codes.
  VSAM and QSAM file status keys/codes
  SQLCODES and their Causes
  REXX error codes (RC)
Everything about the IBM AS/400 Midrange Computer
Everything about CICS
Everything about COBOL
Everything about DB2 and SQL
Everything about IMS
Everything about Java and JavaScript
Everything about JCL and JES
Everything about REXX
Everything about zOS, VSAM, Tivoli, Assembler
Everything about TSO, ISPF, Spufi
Site Map and Site Search

           Home   > Error Codes   > System, zOS, SQLCODES, Abend Codes

MVS Abend Codes and Their Causes

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

CICS Messages and Codes from IBM Large PDF. R3 1999.

CICS Messages and Codes from Oreilly.com Same as the previous. Large PDF.

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.

IMS Status Codes from IBM

VSAM and QSAM File Status Codes/keys

VSAM and QSAM File Status Codes/keys from IBM manual

Abend: Books on Application Debugging

Tutorial on abend codes At U of SC

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

Compliments of Gabe Gargiulo, author of several recent books on programming and modern languages, available at Amazon.com.

S001-4 Abend

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.

S001-5 Abend

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.

S002 Abend

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

S013-10 Abend

A dummy file with no blocksize.

S013-14 Abend

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.

S013-18 Abend

A library member was specified in the JCL but was not found.

S013-20 Abend

The block size is not a multiple of record length.
Check record length in program, compare to actual record length of file

S013-34 Abend

The block size was found to be 0.
A new file is being created but block size was not in the JCL.

S013-40 Abend

Reading a file whose JCL has SYSOUT=

S047 Abend

The program is on a library/PDS that is not authorized, (APF authorizaion) or one of the libraries in the concatenation is not authorized.

S106 Abend

The program on the program library was unreadable. Recompile and link.

S122 Abend

The job was canceled because it violated some restriction.
A dump was requested

S137 Abend

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.

S213 Abend

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.

S222 Abend

The job was cancelled because it violated some restriction.
No dump was requested.

S237 Abend

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.

S313, 314 Abend

An Input/output error in the VTOC of a disk volume. Inform support staff.

S322 Abend

The job used more CPU time than it should have.
Either the estimate is wrong or the program is in an uncontrollable loop.

S413 Abend

A volume was needed that could not be mounted.

S422 Abend

Too many job steps.

S513 Abend

Two jobs or DDNAMES wanting same tape at same time.

S522 Abend

Job was waiting too long.

S613 Abend

A bad tape label.

S637 Abend

A bad concatenation, different types of devices were used.
An unreadable tape mark or label.

S706 Abend

The program on the library was not executable.
See linkage editor report that put the program on library.

S713 Abend

The tape was unexpired and the operator terminated the job.

S714 Abend

Labels on the tape were bad.

S722 Abend

Too many lines of print.

S804 Abend

Region too small for the program.

S806 Abend

Program not on the library. May need a JOBLIB or STEPLIB.

S80A Abend

Region too small for the program.

S813 Abend

Right tape volume, wrong dataset name.
Right dataset name, wrong tape volume.

S913 Abend

Security violation.

SA13 Abend

Label=n states the wrong number.

SB14 Abend

No space in a library directory for this member's name.

SB37 Abend

Insufficient disk space.

SD37 Abend

Insufficient disk space.

SE37 Abend

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.

S0C1 Abend

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

S042Privileged Operation Abend

Read/write to unopened file
An uncontrolled loop moved data on top of instructions.

S0C4 Protection Abend

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

S0C5 Addressing Abend

See reasons as for 0C4.
Falling through into an ENTRY statement
Transferring control into the middle of a SORT procedure.

S0C6 Specification Abend

Bad boundary alignment for binary data.
See reasons for 0C4

S0C7 Abend

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.

S0CB Abend

Attempting to divide by 0 and not using ON SIZE ERROR

U1002 Abend

Conflicting file attributes. See S013.

U1005 Abend

Executing with modules compiled both with RES and NORES

U1006 Abend

Subscript out of range

U1017 Abend

Missing DD statement in JCL for DISPLAY or ACCEPT verb

U1020 Abend

Problem opening or processing a file.
Check the file status.

U1026 Abend

COBOL sort failed.

U1034 Abend

Same as SB37 Abend

U1035 Abend

Conflicting DCB parameters. Same as S013.

U1037 Abend

Program control falls through the last physical statement in program,
which is not GOBACK/STOP RUN.

U1056 Abend

Program didn't close a file before ending

U1066, U1075 Abend

Conflicting DCB information for file defined as EXTERNAL

U1072, U1073, U1074 Abend

Illegal numbers in reference modification

U3000 Abend

COBOL LE intercepted the Abend. Messages in SYSDBOUT.

U4038 Abend

COBOL LE intercepted the Abend. Messages in CEEDUMP.

Compliments of Gabe Gargiulo, author of several recent books on programming and modern languages, available at Amazon.com.

Top of Page

List of books on Mainframe topics

[Books Computer]

Home Books for Computer Professionals Privacy Terms |
Site Map and Site Search Programming Manuals and Tutorials The REXX Files Top of Page |