z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Rules for a Sequential Like Data Set

z/OS DFSMS Using Data Sets
SC23-6855-00

To be a like data set, a sequential data set must meet all the following conditions:
  • All the data sets in a concatenation should have compatible record formats. They are all processed with the record format of the first data set in the concatenation (see Persistence of DCB and DCBE Fields). For example a data set with unblocked records can be treated as having short blocked records. A data set with fixed-blocked-standard records (format-FBS) can be treated as having just fixed-blocked records (format-FB), but the reverse cannot work.

    Having compatible record formats does not ensure that like processing is successful. For example, if the record format of the first data set in the concatenation is fixed (format-F) and a concatenated data set has fixed-blocked records (format-FB), then unpredictable results, such an I/O errors or open ABENDs, can occur, but the reverse should work.

    The results of concatenating data sets of different characteristics can also depend on the actual data record size and on whether the data sets are system managed. For example, you can process two concatenated data sets successfully if the first data set is format-F with a BLKSIZE and LRECL of 80, the second data set is format-FB with a BLKSIZE of 800 and an LRECL of 80, the second data set is not system managed, and the actual data size of all the blocks in the second data set is 80 bytes. However, if the actual data size of a block is greater than 80 bytes, an I/O error occurs when the system reads that record from the second data set. Alternatively, if SMS manages the second data set, the system processes data from the first data set. An open failure (ABEND 013-60) occurs when EOV switches to the concatenated data set, however, even though the actual data size of all the records can be compatible.

    If incompatible record formats are detected in the concatenation and BSAM is being used, the system issues a warning message, see BSAM Block Size with Like Concatenation.

  • LRECL is same as the LRECL of the preceding data set. With format-V or -VB records, the new data set can have a smaller LRECL than is in the DCB.
  • All the data set block sizes should be compatible. For format-F or -FB records, each block size should be an integral multiple of the same LRECL value.
  • If you code the BLKSIZE parameter in the DCB or DCBE macro, or on the first DD statement, the block size of each data set must be less than or equal to that block size.

    Note: If you specify DCB parameters such as BLKSIZE, LRECL, or BUFNO when allocating a data set after the first one, they have no effect when your program uses like concatenation, except as described in BSAM Block Size with Like Concatenation.

    You can specify a large BLKSIZE for the first data set to accommodate a later data set with blocks of that size.

  • DASD data sets that are accessed by QSAM or BSAM can be concatenated in any order of block size. If you are using QSAM, you must use system-created buffers for the data set. The size of each system-created buffer equals the block sizes rounded up to a multiple of 8. For QSAM the system-created buffers are used to process all data sets in the concatenation unless the next data set's BLKSIZE is larger than the buffers. In that case, the buffers are freed by end-of-volume processing and new system-created buffers are obtained. This also means the buffer address returned by GET is only guaranteed valid until the next GET or FEOV macro is issued, because the buffer pool can have been freed and a new system-created buffer pool obtained during end-of-volume concatenation processing. For system-managed data set processing, see SMS-Managed Data Sets with Like Concatenation. For BSAM processing see BSAM Block Size with Like Concatenation.
  • For QSAM, if a data set after the first one is on magnetic tape and has a block size larger than all prior specifications, the volume must have IBM or ISO/ANSI standard tape labels or the BLKSIZE must be specified on the DD statement.
  • For BSAM, if a data set after the first one is on magnetic tape and has a block size larger than all prior specifications, the BLKSIZE must be specified on the DD statement.
  • The device is a DASD, tape, or SYSIN device, as is the device of the preceding data set. For example, you can concatenate a tape data set to a DASD data set, or you can concatenate a DASD data set to a tape data set. However, you cannot concatenate a tape data set to a card reader.

    Tip: Regard an extended-format sequential data set as having the same characteristics as a sequential data set.

  • If mixed tape and DASD, the POINT or CNTRL macros are not used.

Related reading: For more information, see Concatenating UNIX Files and Directories and Concatenating Extended-Format Data Sets with Other Data Sets.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014