Home | Mainframe Wiki | Free Downloads | Sample Programs | More References | Mainframe Forum

IBMMainframes.com

Quick References for IBM Mainframe Programming

MVS ABEND CODES

MVS SYSTEM ABEND CODES 

S001 | S002 | S012 | S013 | S03B | S03D | S031 | S04E | S0CA | S0CB | S0C1 | S0C2 | S0C4 | S0C5 | S0C6 | S0C7 | S0C8 | S0C9  

S213 | S214 | S222 | S237 | S314 | S322 | S30A | S413 | S513 | S522 | S613 | S637 | S706 | S713 | S714 

 S80A | S804 | S806 | S813 | S822 | S837 | S878 | S913 | SA13 | SB37 | SC13 | SD37 | SE37 | Uxxx 

 

 

S001

 An I/O error condition was encountered during BDAM, BISAM, BPAM, BSAM, QISAM, or QSAM processing
 

Possible causes:

    1. An attempt was made to read after end-of-file.
    2. An attempt to open an open file.
    3. There was a conflict between the program, the JCL DCB, and the data set DCB information.
    4. An incorrect block or record length was specified.
    5. An attempt was made to write to an input data set.
    6. There was physical damage to the recording medium.
    7. There was a hardware malfunction.

Solution:

    1. Verify that the program logic is correct.
    2. Compare the DCB attributes in the program with the JCL and the data set label. Correct any inconsistencies.
    3. Ensure that the length of the work area for a write is the same as the FD record length.
    4. Recreate the problem data set if necessary.

 

S002

Possible causes:

    1. An error occurred in processing a sequential or indexed sequential data set, or in creating a direct access data set.
    2. The record being processed exceeded the allowable size.  Very large record length/ wrong record length
       
    3. The variable record length was less than 4.
    4. The LRECL was greater than the DCB record length.
    5. An error occurred in sequential processing of variable length spanned records which were not in sequence.
    6. In writing to a sequential or direct access data set, the record length was greater than 32,767 bytes.
    7. In writing to a sequential or direct access data set, the record length was greater than the track capacity.
    8. In writing to a sequential or direct access data set, the variable length record was longer than 32,752 bytes (the data set used track overflow).
    9. In writing to a sequential or direct access data set, the record length exceeded the DCB block size.
    10. In writing to a sequential data set with variable length records, an invalid length field was encountered:
      1. It was less than 4 (or 5 with ASA control characters)
      2. It was greater than the DCB blocksize or 32,767 bytes.
    11. An error occurred in writing a record longer than the track capacity (the data set did not use track overflow).
    12. An error occurred in obtaining a secondary extent, when writing to a direct access file. There was not enough secondary space to hold the block being written.

Other causes:


An error occurred in writing a block larger than the primary extent on the pre-allocated direct access data set in opening a direct data set, it was determined that the blocksize was larger than the primary extent.
An error occurred in opening an indexed sequential data set:
1. Too many tracks were requested for cylinder overflow.
2. The DCB BLKSIZE was not a multiple of the DCB LRECL.

 

Solution:


1. Change the JCL and/or program DCB information to be consistent with that of the data set.
2. Recreate the data set specifying the correct DCB information.
3. Recreate the data set so that the spanned records are in the correct sequence.
4. Verify the record definition, particularly the number of occurrences in an occurs clause.
5. If the record length exceeds the track length, specify a different device in the unit parameter.

 

S012

A program incorrectly issued a TIMEUSED macro. A reason code in register 15 explains the error:

reason code 4 - The program issued TIMEUSED with LINKAGE=SYSTEM, but the program was not in task control block (TCB) mode.

reason code 8 - The program issued TIMEUSED with LINKAGE=SYSTEM, but the program held one or more locks.

reason code C - The program issued TIMEUSED with LINKAGE=SYSTEM when enabled unlocked task (EUT) recovery routine was running.

 

Solution:


1.
Modify the code so that TIMEUSED will be issued in the correct environment. Run the program again.


 

S013

An error occurred in opening a data set because of conflicting or unspecified data set attributes.


Possible causes:

    1. There was a conflict between the program, the JCL, and the data set label DCB information required.
    2. Some required DCB information was omitted.
    3. Directory space was not allocated for a partitioned data set.
    4. The BLKSIZE DCB sub-parameter was missing for a dummy data set.
    5. A specific member of a partitioned data set could not be located.
    6. For fixed block records, the LRECL=0, or the data set was empty.
    7. For fixed length records, the BLKSIZE was not a multiple of the LRECL.
    8. For variable length records, the blocksize was not four bytes greater than the logical record length.
    9. RECFM=F was specified and the logical record length was not the same as the block size.


Solution:

    1. Check the DCB attributes of the problem data set and correct any inconsistencies. Check for inconsistencies between the program, the JCL, and the data set DCB characteristics.
    2. Verify that all the DCB information required for the data set is specified.
    3. Recreate the partitioned data set specifying a value for directory blocks in the space parameter.
    4. Specify a BLKSIZE that matches the program DCB information.
    5. Check the spelling for any programs to be executed.
    6. Verify that the appropriate STEPLIB data sets have been provided.

 

S03B

An error occurred in opening an indexed sequential data set.

Possible causes:


1. A write to the data set was attempted when DISP=SHR was coded in the JCL.
2. A write to the file was attempted when it was not opened for output.
3. The data set was not created or it was not closed after it was created.
4. The block sizes or logical record lengths in the program were inconsistent with the JCL.
5. The data set was already open.  

Solution

1. If the data set is to be updated, ensure that DISP=OLD is specified in the JCL, and that the data set is opened for output.
2. Ensure that the data set is closed after it is created.
3. Verify that the program is consistent with the DCB information and that the block size is a multiple of the LRECL.

 

S03D  

An error occurred in opening an indexed sequential or direct access data set.

Possible causes:


1. There was a conflict between the program and the JCL data set organization.
2. The volume parameter for a multi-volume data set was incorrect.
3. Not all of the volume serial numbers of the data set were specified.
4. The volume serial numbers were specified in wrong sequence.
The DD statement did not specify indexed sequential organization.
Can open was issued for a direct access data set, but the data set had indexed sequential organization.

Solution:


1. Ensure that the data set organization specified in the program is consistent with the DSORG sub-parameter in the JCL.
2. Verify that all the volumes that the data set resides on are specified in the sequence in which the data set exists.

1. For indexed sequential data sets, specify the volume containing the index first.
2. Verify that all the volumes which the data set resides on are specified in the sequence in which the data set exists.
3. Ensure that all the requested volumes are mounted.
Specify either dsorg=is or dsorg=isu in the DCB parameter.
Determine the organization of the data set, and make the appropriate program or JCL changes.  

 

S031

An error occurred while sequentially processing an indexed sequential data set.

Possible causes:


1. A stop run or goback was executed before a data set was closed.
2. An out-of-sequence or duplicate key was detected while loading the data set.
3. An attempt was made to write an invalid length record or block.
4. There was a hardware malfunction.
5. The recording medium was defective.

Solution

1. Change the program logic so that the data set is closed before the stop run or goback is executed.
2. Recreate the data set ensuring that the keys are in proper sequence.
3. Be sure that the JCL LRECL is consistent with the program and data set label.

 

S04E 

DB2 related abend. Check the messages in SYSPRINT.

Possible causes & Solution:

    1. Resource unavailable.
    2. A decimal packed field contained non-numeric data when an INSERT or an UPDATE SQL statement was executed.
    3. An SQL WHERE clause in a cursor contains a packed numeric working storage field that contains non-numeric data when the OPEN CURSOR statement is executed. Initialize the field or remove it from the SQL statement if not used.

 

S0CA

Decimal overflow exception. The result of an arithmetic operation was too large for the receiving field.

 Possible causes & Solution:


 
1. An attempt was made to divide by too small of a number 2. An attempt was made to multiply by too large of a number.
 3. A program loop containing an arithmetic instruction caused an invalid result.
 

 

S0CB

          Decimal divide exception. An invalid divide was attempted.

Possible causes:


1. Division by Zero

2. The quotient exceeded the allowed data field size.

3. Attempting to divide by 0 and not using ON SIZE ERROR

         Solution:

1. Determine why the divisor is zero.

2. Expand the size of the dividend field, or reduce the size of the divisor field.


Note:  a comp-3 field may not exceed 15 digits.

 

S0C1

Operation Exception. The current machine instruction was invalid.

Possible causes:


 1. A JCL DD statement was either invalid or missing.
 2. An attempt was made to open a data set which was already open.
 3. A read/write was attempted to an unopened data set.
 4. An attempt was made to execute a subroutine which was not link edited into the load module.
 5. The select clause was invalid for an ISAM data set.
 6. Same name given for an array or subroutine
 7. Tried to call subroutine which did not exist
 8. Using sort verb, DDNAME was not SORTOUT when the�giving� option was used
 9. Incomplete DCB for SORTIN file.

 

S0C2

Privileged operation exception. Unintentional branch to invalid instruction due to subscript error.

Possible causes:

1. Missing period at end of paragraph or paragraph names
2. Missing GOBACK after sort verb. Logic fell into input procedure
3. ACCEPT verb was executed when no SYSIN DD was available.
4. 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.
5. A subscript or index contained an invalid value.

 

S0C3

An attempt was made to make the EXECUTE machine instruction the target of an EXECUTE instruction, which is not allowed

Possible causes & Solution:

     Not Applicable.  

 

S0C4

Protection exception. An invalid machine address was calculated by the program.

Possible causes:


1. A subscript or index contained an invalid value.
2. Using GOBACK in the SORT output procedure.
3. The blocksize and record size were specified as equal for variable length records.
4. An attempt was made to read/write an unopened data set.
5. An attempt was made to read after end-of-file.
6. A stop run occurred before all opened data sets were closed.
7. Missing Select statement (during compile)
8. Tried moving variable length record that was larger than target field size
9. Used DD DUMMY with logic that moves high values to FD
10. Tried to call within COBOL SORT I/O procedure
11. Linkage Area Ordering is not in sync with calling and called program

In the input or output procedure of a sort.

1. An attempt was made to reference an input/output area but no open or read had occurred for the data set.
2. Invalid parameters were passed through the linkage section.
3. The file-control select clause was missing for the data set that was being processed.
 

Solution:


Correct the program logic error that generated the invalid address or storage reference.

When analyzing the dump, remember that the PSW saved when an S0C4 abend occurs may point at the failing instruction or it may point at the next instruction after the failing instruction.

Check to ensure that your program is obtaining, using, and freeing storage properly.

Moving data to a zero address or to an address less than 512 (decimal) is a very frequent cause of this abend.

 

S0C5

Index or subscript out of range. An address developed and used by the ABENDing program lies outside of the available virtual storage on the processor.

Possible causes & Solution:

1. A close statement was issued twice for the same file.
2. A procedure which was operated on by a Perform statement contained an improper exit.
3. An attempt was made to reference an input/output area, but no open or read had occurred for the data set.
4. A subscript or index contained an invalid value or Un-initialized index.
5. Indexing, Subcripting outside the program�s assigned limits.
6. Improper exit of a PERFORM statement.
7. 88 level cannot be last statement before Report section.
8. Reference to a field in a record before OPEN or after CLOSE.
 

S0C6

Specification exception. An attempt was made to execute a machine instruction which had invalid operands.

Possible causes & Solution:

1. The program fields and/or data sets were incorrectly defined.
2. A multiplier or divisor was too large (exceeds 15 digits and sign)
3. The first operand field is shorter than or equal to the second operand field in a decimal (packed) multiplication or division instruction.
4. A subscript or index contained an invalid value.
5. An incorrect boundary was specified. Usually caused by unintentional branch to invalid instruction.
6. DDname/Select statement conflict.
7. ACCEPT statement with SYSIN DD and data missing.
8. An instruction specifies an odd register number when it should specify the even numbered register of an even- odd register pair.
9. A floating point register other than 0, 2, 4, or 6 was specified in a floating point instruction.
10. No GO TO statement in a paragraph named in an ALTER statement.

 

S0C7

Data exception. Data was incorrect format for the instruction that attempting to process it. For example, A numeric field contained non-numeric data.

Possible causes:

1. Numeric operation on non-numeric data.
2. Numeric data was not initialized, blanks were read into a field designed to be processed with packed decimal instruction.
3. A subscript or index contained an invalid value or Un-initialized.
4. Coding past the maximum allowed sub script.
5. A comp-3 field had an invalid sign.
6. A group move overlaid a numeric field with non-numeric data.
7. Fields in decimal arithmetic overlap incorrectly.
8. The decimal multiplicand has too many high-order significant digits.

 

           Solution:

1. Check your decimal data being used in program. Mainly SOC7 abend occurs due to invalid digit / sign present at last byte of comp-3 value. And some cases it will due to incorrect overlap in decimal field, table overflow, alphanumeric field is being moved to numeric fields and null values being moved and using for some calculation in the code.
2. Data being passed is not initialized correctly.
3. Array index is not valid. It is a kind of subscript error.
4. Value being passed is not available in table.
5. COBOL working storage section is not initialized with given variable.
6. 'Parm' used in subroutine or program is not in correct order or missing.

 

S0C8

          Fixed Point Overflow Exception. The result of an arithmetic operation was too large for the receiving field.

Possible causes & Solution:

1. An attempt was made to divide by too small of a number.
2. An attempt was made to multiply by too large of a number.
3. A program loop containing an arithmetic instruction caused an invalid result.

 

S0C9

Fixed Point Divide Exception. A division gave a quotient which was too large for the program defined field.

Possible causes:

1. An attempt was made to divide by zero.
2. An attempt was made to divide by too small of a number.
3. A program loop containing an arithmetic instruction caused an invalid result.
4. A sort operation was missing a SORTIN or SORTOUT JCL DD card.
5. A quotient has exceeded the register size in a DIVIDE instruction, or the result of a CONVERT TO BINARY instruction is more than 31 bits long.

An error occurred in end-of-volume processing on a magnetic tape volume.
1. An error occurred in header or trailer label processing.
2. An error occurred in positioning the magnetic tape.
3. The recording medium was defective.

          Solution:

1. Verify that the data on the data set appears correct. If so, specify a different volume or device, and recreate the data set.
2. Change region to 0M in JCL.
3. If there is no data on the data set, recreate the data set, and resubmit the job.

 

S213

An error occurred in opening a data set on a direct access device.


Possible causes & Solution:

1. A specific data set could not be located.
2. DISP=OLD or DISP=SHR was specified for an output data set.
3. DISP=MOD was specified but the data set did not exist.

1. Ensure that the data set name and volume serial number are correct and that the disposition of the data set is consistent with its usage.
2. If a data set is used from a preceding job step, be sure that the data set was created and passed correctly.

 

S214

An error occurred in volume disposition or in tape positioning when closing a magnetic tape data set

Possible causes & Solution:

1. There was an invalid user label.
2. There was no tapemark following the data.
3. A hardware error occurred.
4. The recording medium was defective.

1. Verify that the label formats are correct.
If they are invalid, recreate the data set.
2. Determine if there is a tapemark following the data.
If not, recreate the data set.
3. Rerun the job specifying a different volume or device.

 

S222

The job was cancelled because it violated some restriction.

Possible causes & Solution:

1. The operator, or an authorized time sharing option, extensions (TSO/E) user, canceled the job without requesting a dump

2. The system ends the job. In some cases, the system might write a dump even though a dump was not requested, depending on which system routine has control.

3. Find out why the operator or TSO/E user canceled the, job. Correct any errors and resubmit the job. If you want a dump, have the,
operator resubmit the job and then cancel it using the command CANCEL, jobname, DUMP., .

 

S237

An error occurred in end-of-volume processing of a magnetic tape data set.

Possible causes & Solution:

1. The block count of the tape label did not agree with that of the DCB.
 One or more blocks may have been skipped during processing.
2. An incorrect volume serial number was specified in the volume parameter of the DD statement.
3. An incorrect volume was mounted.
4. The DSN was misspelled.
 
1. Verify that the DSN is spelled correctly, and that the correct volume(s) are specified and mounted. Correct any errors, and resubmit the job.
2. If all the data set information appears correct, resubmit the job specifying a different device in the unit parameter of the JCL.
If this does not correct the error, re-create the data set.

 

S314

An input/output error occurred in closing a data set on a direct access device.

Possible causes:
The volume or the device was defective.

Resolution:
Rerun the job specifying another volume or device.
 

S322

Description: The time limit was exceeded for a job or job step.

Possible causes:

1. An endless loop occurred in the executing program.
2. The time parameter on the job card did not allow enough time for the job to complete.
3. The time parameter on the exec card did not allow enough time for the step to complete.
4. If the time parameter was not specified, the default time limit was exceeded.

Resolution:

1. Check for program errors, especially endless loops that cause the job or job step to exceed the time limit.
2. Verify that the time limits for the given job are realistic.
 If necessary, specify a longer time in the time parameter, and rerun the job.  To resolve this issue give TIME = MAXIMUM in job card.

 

S30A

Memory error

1.  The EZTVFM file is not large enough for the report being generated.
2.  You have a subscript or index that is going out-of-bounds on an table or occurs clause .
3.  A file or table size is greater than the JCL/file LRECL.
4.  DCB mismatch.  

 

S413

An error occurred in opening either a direct access or a magnetic tape data set.

1. An input/output error occurred in processing a tape data set.
2. The specified data set could not be located.
3. The label or DCB parameters were incorrect.
4. A requested device was unavailable.

1. No unit was available for mounting the volume which contained the data set being opened.
2. The volume on the allocated unit (as specified by ser) could not be demounted because it was either reserved or permanently resident.
The volume serial number was not specified on the DD statement for a data set which was opened for input.
An invalid volume sequence number in the JCL specified a value greater than the number of volumes contained on the data set.
An error occurred while opening a magnetic tape data set.
The density specified in the DEN sub parameter was incompatible with the recording density of the device allocated.
An error was caused by a subsystem interface problem.
The mass storage system did not mount the requested volume.
 Tape data set sequence number was specified greater than 1, but the volume serial number did not specify a tape data set.
 1. Verify that the JCL is correct.
 2. Rerun the job specifying a new volume or device.
Specify another device in the unit parameter of the DD statement. Determine how many volumes the data set spans, and request the appropriate volume.  

 

S513

An error occurred in opening two data sets on the same magnetic tape volume.

This only works with SYSOUT data sets.
1. Two data sets were assigned to the same device.
2. An open was issued for a second data set on the same tape device before the first one was closed.

1. Verify that the JCL is correct
2. Check the file usage in the program.

 

S522

The wait time limit was exceeded for a job or job step.

1. The operator did not respond to a console request.
2. The program was waiting for a resource that was not available at execution time.
3. The CPU resource was not available at execution time.
4. The operator did not mount the require tape within allowed time limit.

1. Check with the operator to determine if there were any outstanding requests for your job.
2. Check with the operator to determine if there were any problem jobs running at the same time as yours.
3. Try TIME=1440 on the exec statement to bypass all job step timing

 

S613

An error occurred in tape related input/output.

1. The JCL DD statement was incorrect.
2. An input/output error occurred in label processing.
3. The standard header labels were missing for an input data set.
4. There was a hardware malfunction.
An error occurred in tape positioning.
An error occurred in reading a tape label.
The tape label was invalid.
An error occurred in writing a tape label.
An error occurred in writing a tapemark after the header labels.
1. Verify that the JCL specifies the correct volume and device.
2. Verify that the volume contains standard labels.
3. Resubmit the job specifying a different volume or device.

 

S637

An error occurred in end-of-volume processing.

An input/output error was encountered in
1. Writing a tapemark.
2. Positioning the tape.
3. Reading a label.
4. Sensing for a file protection ring.
An error occurred in either:
1. Reading a tape label.
2. Writing a tapemark.
3. Positioning a tape volume. The user trailer label processing caused a tape positioning error.
Data sets with unlike attributes were concatenated.
A tape positioning error occurred for a data set to be read backwards.
 If the tape contained labels, the error occurred in positioning the labels; otherwise, the error occurred in positioning the data. The error occurred in the open instruction with the leave option specified.
An error occurred in tape positioning for a data set using the reread option.
An error occurred while rewinding a tape prior to verifying the volume label.
An error occurred in reading a tape volume label.
An error occurred because the tape had nonstandard labels or none at all.
An error occurred while positioning at the labels, (or if there were no labels, while positioning at the data) of a concatenated data set.
An error occurred while positioning at the labels, (or if there were no labels, while positioning at the data) of a data set opened with input or inout to be read forward.
An I/O error occurred in sensing for a file protection ring.
An error occurred in tape positioning following header label processing.
 1. Check the JCL for any inconsistencies in the label, the vol=ser, or the dsn.
 2. Rerun the job specifying another volume or device.
 3. Make sure that the file protection ring is available for an output data set.

 

S706

A non-executable load module was requested by the program. The module did not link edit successfully.

Link edit the offending module again, and resubmit the job.

 

S713

An error occurred in opening a data set on tape.

1. An attempt was made to output to the data set, before the expiration date specified had been reached.
2. The incorrect volume was requested.

1.      Verify that the correct data set and volume will be accessed.  

 

S714

An error occurred in closing a tape data set.

1. An I/O error occurred while writing a trailer label or tape mark.
Rerun the job specifying another volume or device.

 

S722

The maximum number or output lines has been exceeded.

1. The program contained an invalid write loop.
2. The number of output lines was underestimated in the JCL.

1. Check for and fix program logic error causing a loop.

 

S804

The storage needed to execute the program was not available.

1. The region parameter did not specify enough storage.
2. The region parameter was omitted, and the default storage amount was too small to run the correct program.
3. Block sizes were increased or buffers were added, and the region size was not increased.
4. A logic error caused excessive storage to be obtained but not freed.

1. Increase the region size.
2. Look for logic errors which may cause excessive calls to other programs or requests for storage.

 

S806

A load module requested by the program could not be found.

1. The module requested did not exist in the data sets specified in the STEPLIB or JOBLIB.
2. A JCL STEPLIB or JOBLIB DD statement was missing or incorrect.
3. The module name was misspelled.
4. An I/O error occurred in searching for the module in the library directory.

1. Verify that the correct program is being requested. Make sure your load module is available in the given load lib.
2. Ensure that the appropriate STEPLIB or JOBLIB DD statements are in the JCL. Check whether PDS name given in step lib is spelled correct.
3. The member name given in SYSIN card should be available in given library. If necessary, recreate the data set.

 

S813

The data set name in the JCL did not match the data set name on the tape.

1. The JCL volume serial number was wrong.
2. The data set name in the JCL was misspelled.
3. The wrong tape was mounted.
4. The incorrect data set sequence number was specified in the label parameter.
5. The data set does not exist on the magnetic tape.


Verify that the JCL is correct, and resubmit the job.

 

S822

A region required to run the step could not be obtained.

1. Unable to obtain to obtain enough space to satisfy a REGION= request May need to change REGION statement in the JCL.

 

S837

Tape volume error occurring only for tape datasets. At end of tape volume.

1. The error occurred at an end-of-volume for a sequential data set.

 

S878

GET MAIN error not enough virtual storage on region statement. .

1. 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.

 

S913

An error occurred in opening a magnetic tape data set. You are trying to access a dataset which you are not authorized to use.

1. The error occurred during open or end-of-volume processing.
 The data set was password protected, and a correct password was not entered.
2. The error occurred in opening a checkpoint data set which was concatenated to a non-checkpoint data set.

1. Supply the correct password, and resubmit the job.
2. Eliminate any concatenations of checkpoint and non-checkpoint data sets.

 

SA13

An error occurred in opening a tape data set.

1. The file sequence number was wrong on a multi-volume tape data set.
2. The file sequence number was wrong, or it was less than that of the first data set on the tape.
3. The volume serial number was wrong.
4. The job which wrote the tape did not write all the data sets.

1. Verify that the JCL is correct, and resubmit the job.
2. If the desired data set does not exist on the tape, recreate the tape.

 

SB37

 An error occurred during end-of-volume processing of a data set.
 The system was unable to fulfill a request for more space.

1. A program loop caused too many records to be written to the output data set.
2. Insufficient space was allocated to this data set in the JCL.
3. There was no more room available to receive any more output on the output volume, and another volume could not be mounted.

1. Verify that there are no program loops or logic errors.
2. When the dataset is out of secondary extended space, or even the the 15 secondary extended volume provided to you for each primary extended space is used up. Increase the primary and/or secondary allocations for the data set. If still you are getting the same SB37, then you need to change the Tracks to Cylinders.
3. Change the JCL to request that the data set be created on a volume with more space.

 

SC13

An error occurred in opening a concatenated partitioned data set.

1. A concatenated data set was opened for output.
2. A data set was opened twice.

Be sure that the concatenated partitioned data set is being opened properly.

 

SD37

 An error occurred in writing to a data set which had not been allocated enough space.

1. A secondary allocation was not specified, and all of the primary space had been used.
2. There was a program loop.

1. Check through the program logic for a loop.
2. Allocate more space to the data set by specifying larger primary and/or secondary quantities in the space parameter in the JCL DD statement. If the dataset is out of primary extended volume space provided by
you as per your JCL, it shows SD37 abend

 

SE37

An error occurred during output to a direct access or magnetic tape data set.

1. The data set used all the space on the current volume.
2. There were not enough volumes allocated for the data set.
3. For a PDS, either all 16 extents were used, or the volume that it resided on was filled.
4. For a multi-volume sequential data set, the data set already existed on a subsequent volume.

SE37 is related to directory block, if there is no space for an extra member in the PDS. the PDS need to be compressed.

 

SF37

Hardware error.

 

Uxxx

User error.

 

U0004 GO step of FORTRAN - subrountine fileno - non sequential dataset.
U0008 GO step of FORTRAN - subrountine fileno - IDSRN out of range.
U0012 GO step of FORTRAN - subrountine fileno - dataset reference number has not been used.
U0016 Standard abend code for SYNC SORT failure.
U0020 GO step of FORTRAN - subroutine fileno - previous file not closed.
U0024 GO step of FORTRAN - subroutine fileno - device is not a tape.
U0030 GO step of FORTRAN - missing FT06F001 DD card.
U0040 RPG - input file out of sequence.
U0044 RPG - undefined record type.
U0064 Archived or inactive GDG.
U0100 FDR - open error - unable to open disk or tape file.
U0101 FDR - disk I/O Error.
U0200 FDR - tape I/O Error.
U0201 FDR - tape End-Of-File before dataset or trailer record found.
U0204 SYSPRINT DD statement missing.
U0240 Possible program looping. Program time out due to looping problem.
U0261 Improper program linkage (IMS program linked used LNKTEST Clist); IMS program not linked using LNKTESTI.
U0402 FDR - SYSPRINT or SYSPRIN-N error.
U0428 PSB not found. No IMS gen. U456 Program stopped.
U0452 Transaction stopped. SUGGESTION: Restart using IMSRM.
U0456 Program/PSB stopped. SUGGESTION: Restart using IMSRM.
U0457 The same program is being run in two different jobs concurrently.
U0458 Database stopped.
U0474 Maximum time.; Message region stopped - contact data center.
U0476 Invalid PSB or no PSB. SUGGESTION: Check IMSGen and PSBDump./ Data Exception, Non numeric data in numeric field.
U0502 FDRDSF - Input control statement error.
U0519 Missing GO BACK, EXIT or STOP RUN.
U0688 IMS not active./ JOB cancelled (JOB ran in the wrong JOB class). SUGGESTION: Rerun job with CLASS=J.
U0775 BMP program abended due to exceeding IMS calls between checkpoints./ Program has made too many calls without taking a checkpoint.
U0777 IMS step lock out.
U0778 Blocksize or LRECL problem
U0844 Production database out of space.
U0852 Another concurrent IMS job has the database locked for update. /Batch program is accessing a database that is being updated.
U0888 FDR - Diagnostic warning associated with text on SYSPRINT.
U0999 SYNCSORT - I/O error has occurred.
U1020 I/O Logic error. Typical reasons are; trying to write to a file opened as input; Rewrite without a previous read.
U1035 Inavlid OPEN/CLOSE. Check there is a DD statement for the file.
U3303 Database stopped.
U3699 Invalid dump code used. Outside abend code range.

 

 

^Note: If the ABEND Code not listed above, please use our Free ABEND ASSIST software.

For more technical support, ask our Experts in our Mainframe Forum

 

Back to QUICK REFERENCES

Copyright 2003-2016 � IBMMAINFRAMES.com

Home | Mainframe Wiki | Downloads | Programs | JCLs | Info | References | Mainframe Forum