z/OS DFSMS Using Magnetic Tapes
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Determining volume switch

z/OS DFSMS Using Magnetic Tapes
SC23-6858-00

For a multivolume input data set, you must specify the serial numbers of all the volumes to be processed. Specify the serial numbers either directly in the DD statement or indirectly through the catalog procedure. You specify the serial numbers in forward sequence, regardless of whether the tapes are to be read forward or backward.
  • For noncataloged data sets, you specify the volume serial numbers in the VOLUME parameter of the DD statement. The system processes the group of volumes in whatever order you specify and processes only the volumes you specify. If you specify volumes out of order or omit volumes, you will get warning messages IEC709I or IEC710I.
  • For cataloged data sets, the system processes the group of volumes in sequential order.

However, you can begin processing at any volume of the group by specifying a volume sequence number in the VOLUME parameter of the DD statement.

For input, the label identifier of the trailer labels determines whether the system continues processing the data set. When the system finds an EOV label, it performs volume switching. When the system finds an EOF label, it passes control to the user's end-of-data routine, with these exceptions:
  • If the data set is being turned into a concatenation, OPTCB=B generates the concatenation to allow this to occur. If the application is turning on the unlike concatenation bit causing a multivolume data set to be treated as threeseparate data sets, then there is a resrtiction. If you have a VBS data set that spans volumes in such a way that one segment (for example, the first segment) is at the end of the first volume and the next segment (for example, the middle segment) is at the beginning of the next volume, and you attempt to treat these volumes as separate data sets, the integrity of the data cannot be guaranteed. QSAM will abend. QSAM is designed to ensure that all of the segments can be put together, but will be unable to do so. This restriction will also be based on the data and whether or not the segments are split between volumes.
  • If the DD statement specifies OPTCD=B, and if an additional volume is available, then the system performs volume switching. If you specify OPTCD=B, no volumes are available for switching, and no data set concatenated after the current one, then the system passes control to the user's end-of-data routine.
  • If another data set is concatenated after this one, the system processes it. If the user has not set on the unlike-attributes bit (the DCBOFPPC bit), then the system treats the concatenated data set as if it began another volume of the current data set. If the user defined an EOV exit, the system calls it (not a DCB open exit). If the unlike-attributes bit is on, then the system closes the current data set and opens the concatenated data set. If the user defined a DCB open exit, the system calls it (not an EOV exit). For more information on using concatenated data sets, see z/OS DFSMS Using Data Sets.
To determine whether additional volumes are required, the system maintains a volume sequence number in the DEB in storage.
  • For read forward operations, the volume sequence number in the DEB increases as each volume is processed. This count is compared to the total number of volumes requested, as shown in the JFCB.
  • For RDBACK operations, the volume sequence number in the DEB is initialized to the total number of volumes requested, as shown in the JFCB. The DEB count is decreased as each volume is processed, until the count reaches 0.

If another volume is not required (end-of-data-set condition), control is given to the user's end-of-data-set routine that is specified in the DCB or DCBE. Subsequently, the processing program or the operating system closes the data set. The user's end-of-data-set routine is not entered until the last specified volume or the last concatenated data set is processed. If an input data set is closed before the end of the data set is reached, the user's end-of-data-set routine is not entered.

If another volume is required (end-of-volume condition), the system obtains the next volume serial number from the JFCB and performs volume switching. If the new volume is not already mounted, the EOV routine issues a mount message to the operator.

When multiple tape units are being used, the EOV routine also checks to see if there is a next-plus-one volume specified, and if the volume just completed can be rewound and unloaded. If so, the EOV routine issues a message directing the operator to mount the next-plus-one volume on the tape unit just used. This is a premounting aid; the next-plus-one volume label is not verified at this time. This lookahead or parallel mounting results in an IEC501E mount message.

The next-plus-one volume mount is referred to as the lookahead mount. Lookahead mount processing is disabled when the volume sequence number that EOV is currently processing equals either the number of volsers in the JFCB or the JCL volume count. To ensure that lookahead mount processing stays enabled up to the maximum allowed volume sequence, specify a JCL volume count equal to this maximum volume sequence. You can add multiples of 15 to the smallest maximum JCL volume count, 5. For example, the JCL volume count should be 5, or 20, or 35, and so forth.)

Note: The IEC501E message has a type 2 descriptor code that causes the message to be retained on the screen.
If you do not want message retention, turn off the message retention attribute. You can stop message retention by either:
  • Specifying RETAIN(NO) for the message id in an MPFLSTxx record
  • Using a WTO message exit (an MPF specific exit or IEAVMXIT) to alter the message descriptor code or to request "do not retain this message"

For tape mounts, the IEC501E message remains on the screen until the mount is satisfied or until EOV has occurred on the previous volume. EOV deletes the IEC501E message and issues the IEC501A message.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014