MainframeKit

S637

Concatenation or multivolume read error (IEC026I)SYSTEM ABEND

Reading moved on to the next data set in a concatenation, or the next tape volume, and failed. The IEC026I return code says why.

MOST LIKELY

A DD concatenation that mixes tape and disk data sets.

FIRST CHECK

Read the IEC026I return code, DD name and the concatenation number or volume it names.

TRY IT ▸

JCL checker

What it means

Abend 637 comes with message IEC026I, which gives a return code, the DD name, the device, the volume and the data set. It shows up when a program reads past the end of one data set or volume and the system cannot carry on into the next one.

Return code 0C means the concatenated data sets are unlike, for example a tape data set joined to a disk data set when the program opened the file with a seek (repositioning) option that tape cannot support. IBM has also reported return code 10 when reading a multivolume tape data set backward, where the system positioned the tape wrongly; that case was fixed by IBM service.

Typical causes

  • A DD concatenation that mixes tape and disk data sets.
  • A program that opens the input with a seek (repositioning) option a tape cannot honour, for example C or LE fopen with SEEK.
  • Reading a multivolume tape data set backward on a system without the IBM fix for backward positioning (637-10).

How to fix it

  1. Read the IEC026I return code, DD name and the concatenation number or volume it names.
  2. For 0C, keep tape and disk data sets out of the same concatenation, or copy the odd one so all are on the same device type.
  3. If the program uses C or LE file I/O, see if it can open the file without seek (NOSEEK).
  4. For 10 on a backward read of a multivolume tape, ask the system programmer whether the IBM fix for backward tape positioning is installed.
  5. Search IBM support for the return code with the product or utility you are running.

Example

Illustrative only; names and values are invented.

IEF450I LOADJOB1 STEP020 - ABEND=S637 U0000 REASON=0000000C