IEC145I: 413 abend, open failed on tape or disk volume
IEC145I means z/OS couldn't open a data set on tape or disk because of a problem with its volume or device, and ended the step with system abend 413. The return code says what the problem was, for example no volume serial (18) or a volume sequence number past the last volume (1C).
Other names for this code
Also written as IEC145I 413-18, IEC145I 413-1C, IEC145I 413-04, 413-18, abend 413, S413, IEC145I.
What it means
IEC145I is written during open processing for a data set on magnetic tape or a direct access device. Most of its return codes deal with getting the right volume on the right device. Many of them are tape problems. The step ends with abend 413 unless a DCB abend exit chooses to ignore the error, and IEF450I follows with ABEND=S413.
The message gives the abend and return code, the module that found the problem if known, the job name, step name and DD name, the device number, the volume serial and the data set name with any member. The volume serial is left out if no volume was mounted.
Return codes you are likely to meet:
- 04 means no usable device was available. The volume may be permanently resident or reserved, in use by another job, or another DCB in the step may already hold the tape drive. The device type may also not match the data set organization.
- 08, 0C and 10 are I/O errors while positioning the tape, reading a label or writing a tape mark.
- 18 means a data set was opened for input and the DD statement gave no volume serial.
- 1C means the volume sequence number asked for is higher than the number of volumes the data set has.
- 24 means the density in the DCB doesn't fit the tape drive allocated.
- 34 means LABEL=(n) with n greater than 1 was coded for a tape with no volume serial.
- 48 means the data set name in the JFCB is blank.
There are more, for example for tape recording modes and multivolume tapes read in the wrong direction. Check the full list under IEC145I in z/OS MVS System Messages for your release.
Common causes
- An input data set was opened and the DD statement gave the open no volume serial to ask for (return code 18).
- The JCL asks for a volume sequence number past the last volume of a multivolume data set, often after the data set was recreated on fewer volumes (return code 1C).
- Two DD statements in the step share one tape drive, and the second open finds the drive in use (return code 04).
- A label number greater than 1 was coded for a tape without a volume serial (return code 34).
- The tape couldn't be positioned or its label couldn't be read because of a media or drive error (return codes 08 and 0C).
- The DCB density doesn't match the drive (return code 24).
How to find the problem
- In SDSF, open JESYSMSG and find IEC145I. Note the return code, the DD name and the volume serial if one is shown.
- Find the DD statement and look at DSN, DISP, UNIT, VOL and LABEL. For 18 and 34, check whether a volume serial is coded and whether the data set is cataloged with
LISTCAT ENTRIES('PROD..PAYROLL. ARCHIVE') VOLUME - For 1C, compare the volume sequence number in the JCL with the number of volumes in the catalog entry or your tape management system.
- For I/O errors, look for IOS or IEA messages about the drive just before IEC145I, and ask operations whether the drive or tape has a history of errors.
- For 04, check which other DD statements in the step use the same unit.
How to fix it
- Catalog the data set or code its volume serial on the DD statement.
- Correct or remove the volume sequence number.
- Give each DD statement its own drive, or change the program so it closes one file before it opens the next file on the same drive.
- Code a volume serial when you use LABEL with a file number greater than 1.
- For a tape I/O error, retry on another drive. If the tape itself is bad, recreate the data set from its source or a backup.
IBM documentation
IBM documentation: IEC145I. Use the documentation for your installed release.
Related codes
Questions
What does 413-18 mean?
A data set was opened for input and the DD statement didn't give a volume serial. Catalog the data set or code VOL=SER on the DD statement.
Is S413 always a tape problem?
No, but most return codes are about tape. Return code 20, for example, is a volume label or VTOC read error on disk.
What is the difference between S413 and S813?
S413 means the open couldn't get the right volume onto a usable device. S813 means the tape was mounted but the data set name in its label didn't match the one in the JCL.