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


Relative Addresses

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

BDAM, BSAM and BPAM optionally use relative addresses to identify blocks in the data set.

BSAM and BPAM relative addresses are relative to the data set on the current volume. BDAM relative addresses are relative to the data set and go across all volumes.

BDAM relative block addresses. The relative block address is a 3-byte binary number that shows the position of the block, starting from the first block of the data set. Allocation of noncontiguous sets of blocks does not affect the number. The first block of a data set always has a relative block address of 0.

BDAM, BSAM, and BPAM Relative Track Addresses. With BSAM you can use relative track addresses in basic or large format data sets. With BPAM you can use relative track addresses in PDSs. The relative track address has the form TTR or TTTR:
TT or TTT
An unsigned two-byte or three-byte binary number specifying the position of the track starting from the first track allocated for the data set. It always is two bytes with BDAM and it is two bytes with BSAM and BPAM when you do not specify the BLOCKTOKENSIZE=LARGE parameter on the DCBE macro. It is three bytes with BSAM and BPAM when you specify the BLOCKTOKENSIZE=LARGE parameter on the DCBE macro. The value for the first track is 0. Allocation of noncontiguous sets of tracks does not affect the relative track number.
R
1-byte binary number specifying the number of the block starting from the first block on the track TT or TTT. The R value for the first block of data on a track is 1.

With some devices, such as the IBM 3380 Model K, a data set can contain more than 32 767 tracks. Therefore, assembler halfword instructions could result in non-valid data being processed.

Relative Block Addresses for Extended-Format Data Sets. For extended-format data sets, block locator tokens (BLTs) provide addressing capability. You can use a BLT transparently, as if it were a relative track record (TTR). The NOTE macro returns a 4-byte value. If you do not code BLOCKTOKENSIZE=LARGE on the DCBE macro, then the three high-order bytes are the BLT value and the fourth byte is a zero. If you code BLOCKTOKENSIZE=LARGE on the DCBE macro, then the four bytes are the BLT value. Your program uses the value from the NOTE macro as input to the POINT macro, which provides positioning within a sequential data set through BSAM. The BLT is essentially the relative block number (RBN) within each logical volume of the data set (where the first block has an RBN of 1). For compressed format data sets, the relative block numbers represent uncompressed simulated blocks, not the real compressed blocks.

A multistriped data appears to the user as a single logical volume. Therefore, for a multistriped data set, the RBN is relative to the beginning of the data set and incorporates all stripes.

Relative Track Addresses for PDSEs. For PDSEs, the relative track addresses (TTRs) do not represent the actual track and record location. Instead, the TTRs are tokens that define the record's position within the data set. See Relative Track Addresses (TTR) for a description of TTRs for PDSE members and blocks. Whether the value is three bytes or four bytes depends on whether you specify BLOCKTOKENSIZE=LARGE on the DCBE macro.

Relative Track Addresses for UNIX files. For UNIX files, the relative track addresses (TTRs) do not represent the actual track and record location. Instead, the TTRs are tokens that define a BPAM logical connection to a UNIX member or the record's position within the file. Whether the value is three bytes or four bytes depends on whether you specify BLOCKTOKENSIZE=LARGE on the DCBE macro.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014