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


Relative Track Addresses (TTR)

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

The starting location of each member is recorded by the system as a relative track address (TTR). The TTRs do not represent the actual track or record location. Instead, the TTRs are tokens that simulate the track and record location also known as Member Locator Tokens (MLT) and Record Locator Tokens (RLT).

TTRs used with PDSEs have the following format:
  • TTRs represent individual logical records, not blocks or spanned record segments.
  • Start of change The TTR for the PDSE directory is X'00000001'. End of change
  • Start of change TTRs for PDSE members are randomly generated to be unique within a PDSE. TTRs for members that are deleted can be reused by the system for newly created members. End of change
  • TTRs for PDSE members range from X'00000002' to X'0007FFFF'.
  • The TTR of a block is the record number for the first logical record of that block. TTRs for a block are unique within a member, but not unique within the PDSE.
  • Start of change Record numbers start at X'00100001' within a PDSE member. End of change
  • Start of change Record numbers range from X'00100001' to X'7FFFFFFF'. Note: the high record limit for a POINT is X'00FFFFFF' unless BLOCKTOKENSIZE=LARGE is used. End of change
  • Record numbers are contiguous within a PDSE member.

While the preceding notes can be used to define an algorithm for calculating PDSE TTRs, it is strongly recommended that you not do TTR calculations because this algorithm might change with new releases of the system.

Figure 1 shows examples of TTRs for unblocked records.

Figure 1. TTRs for a PDSE Member (Unblocked Records)

Figure 2 shows examples of TTRs for blocked records.

Figure 2. TTRs for Two PDSE Members (LRECL=80, BLKSIZE=800)

In both examples, PDSE member A has a TTR of X'000002'. In Figure 1, the records are unblocked, the record number1 for logical record 1 is X'100001' and logical record 2 is X'100002'.

In Figure 2, the records are fixed length, blocked with LRECL=80 and BLKSIZE=800. The first block is identified by the member TTR, the second block by a TTR of X'10000B', and the third block by a TTR of X'100015'. Note that the TTRs of the blocks differ by an amount of 10, which is the blocking factor.

To position to a member, use the TTR obtained from the BLDL or NOTE macro, or a BSAM read of the directory, or DESERV FUNC=GET or FUNC=GET_ALL. To locate the TTR of a record within a member, use the NOTE macro (see Using the NOTE Macro to Provide Relative Position).

1 The first record in a member can be pointed to using the TTR for the member (in the examples above, X'000002').

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014