The following characteristics describe extended-format sequential
data sets:
- Extended-format sequential data sets have a maximum
of 123 extents on each volume. (Basic format and large format sequential
data sets have a maximum of 16 extents on each volume.)
- Each extended-format sequential data set can have
a maximum of 59 volumes, which is the same as for basic format and
large format data sets. Therefore, an extended-format sequential data
set can have a maximum of 7257 extents (123 times 59).
- An extended-format data set can occupy any number
of tracks. If the volume is large enough, a basic format data set
can occupy up to 65␠535 tracks on each volume and a large
format data set can occupy up to 16␠777␠215 tracks
on each volume.
- An extended-format, striped sequential data set
can contain up to 4␠294␠967␠296 blocks.
The maximum size of each block is 32␠760 bytes.
- Extended-format sequential data sets can detect control unit padding. On input, the system provides an I/O error instead of returning
bad data when it detects an error due to control unit padding. This
type of data padding can occur in the following situations:
- when the processor loses electrical power while writing a block.
- when an operator issues the CANCEL command.
- during a timeout.
- during an ABEND when PURGE=QUIESCE was not specified on the active
ESTAE macro.
- The system can detect an empty extended-format sequential data
set. If an extended-format sequential data set is opened for input
and that data set has never been written to, the first read detects
end-of-data and the EODAD routine is entered. You may override this entry
to the EODAD routine and read past the end-of-data marker, using the
PASTEOD parameter of the DCBE macro.
- No space for user labels is allocated for extended-format data
sets. If you specify SUL in the LABEL value when creating an extended-format
sequential data set, the data set is treated by the system as standard
label (SL).
- All physical blocks in an extended-format sequential data set
are the same size but when a program reads a block, the access method
returns the length written by the writing program. The maximum block
size for the data set is in the BLKSIZE field in the DCB or DCBE,
depending on whether you are using LBI. The system determines the
block size of the data set to be BLKSIZE in the DCB or DCBE at OPEN
for QSAM, or the maximum of BLKSIZE at OPEN and BLKSIZE at first WRITE
for BSAM. For RECFM=U, the system can take the length from the DECB
instead of the DCB or DCBE at first WRITE. The system pads short blocks
that the user passes; the system writes full blocks. However, an attempt
to write a block with a larger value than the maximum for the data
set fails with ABEND 002-68.
- Because
all physical blocks in an extended format data set are the same size,
you cannot extend such a data set with a larger or smaller value for
BLKSIZE. This does not apply to a compressed format data set. The
BLKSIZE value must be unchanged in these cases:
- Opening with the OUTPUT or OUTIN option with DISP=MOD on the DD
statement unless the OPEN is the first one after the data set was
created
- Opening with the EXTEND or OUTINX option with any value for DISP
- Opening with the INOUT option.
- Each block in an extended-format data set has a 32-byte suffix,
which is added by the system. Your program does not see this suffix,
but you might need to consider it when you calculate disk space requirements.