The access methods pass control to the data management end-of-volume
(EOV) routine when another volume or concatenated data set is present
and any of the following conditions is detected:
- Tape mark (input tape volume).
- File mark or end of last extent (input direct access volume).
- End-of-data indicator (input device other than magnetic tape or
direct access volume). An example of this would be the last card read
on a card reader.
- End of reel or cartridge (output tape volume).
- End of last allocated extent (output direct access volume).
- Application program issued an FEOV macro.
If the LABEL parameter of the associated DD statement shows standard
labels, the EOV routine checks or creates standard trailer labels.
If you specify SUL or AUL, the system passes control to the appropriate
user label routine if you specify it in your exit list.
If your DD statement specifies multiple volume data sets, the EOV
routine automatically switches the volumes. When an EOV e condition
exists on an output data set, the system allocates additional space,
as indicated in your DD statement. If no more volumes are specified
or if more than specified are required, the storage is obtained from
any available volume on a device of the same type. If no such volume
is available, the system issues an ABEND.
If you perform multiple opens and closes without writing any user
data in the area of the end-of-tape reflective marker, then header
and trailer labels can be written past the marker. Access methods
detect the marker. Because the creation of empty data sets does not
involve access methods, the end-of-tape marker is not detected, which
can cause the tape to run off the end of the reel.
Exception: The system calls your optional
DCB OPEN exit routine instead of your optional EOV exit routine if
all of the following are true:
- You are reading a concatenation.
- You read the end of a data set other than the last or issued an
FEOV macro on its last volume.
- You turned on the DCB “unlike” attributes bit. See Concatenating Unlike Data Sets.
Recommendation: If EOV processing extends
a data set on the same volume or a new volume for DASD output, EXTEND
issues an enqueue on SYSVTOC. (SYSVTOC is the enqueue major name for
the GRS resource.) If the system issues the EOV request for a data
set on a volume where the application already holds the SYSVTOC enqueue,
this request abnormally terminates. To prevent this problem from occurring,
perform either step:
- Allocate an output data set that is large enough not to require
a secondary extent on the volume.
- Place the output data set on a different volume than the one that
holds the SYSVTOC enqueue.