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


Using the BLDL Macro to Construct a Directory Entry List

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

The BLDL macro reads one or more directory entries into virtual storage. Place member names in a BLDL list before issuing the BLDL macro. For each member name in the list, the system supplies the relative track address (TTR) and any additional information contained in the directory entry. Note that if there is more than one member name in the list, the member names must be in collating sequence, regardless of whether the members are from the same or different PDSs or PDSEs in the concatenation.

BLDL also searches a concatenated series of directories when (1) a DCB is supplied that is opened for a concatenated PDS or (2) a DCB is not supplied, in which case the search order begins with the TASKLIB, then proceeds to the JOBLIB or STEPLIB (themselves perhaps concatenated) followed by LINKLIB.

You can alter the sequence of directories searched if you supply a DCB and specify START= or STOP= parameters. These parameters allow you to specify the first and last concatenation numbers of the data sets to be searched.

You can improve retrieval time by directing a subsequent FIND macro to the BLDL list rather than to the directory to locate the member to be processed.

Figure 1 shows the BLDL list, which must begin with a 4-byte list description that specifies the number of entries in the list and the length of each entry (12 to 76 bytes). If you specify an option such as NOCONNECT, BYPASSLLA, START=, or STOP=, an 8-byte BLDL prefix must precede the 4-byte list descriptor. The first 8 bytes of each entry contain the member name or alias. The next 6 bytes contain the TTR, K, Z, and C fields. The minimum directory length is 12 bytes.

The BLDL macro, unless the NOCONNECT option is specified, establishes a connection to each member of a PDSE when that member is found in the PDSE.

Like a BSAM or QSAM read of the directory, the BLDL NOCONNECT option does not connect the PDSE members. The BLDL NOCONNECT option causes the system to use less virtual storage. The NOCONNECT option is appropriate when BLDLs are issued for many members that might not be processed.

Do not use the NOCONNECT option if two applications will process the same member. For example, if an application deletes or replaces a version of a member and NOCONNECT was specified, that version is inaccessible to any application that is not connected.

For PDSE program libraries, you can direct BLDL to search the LINKLST, JOBLIB, and STEPLIB. Directory entries for load modules located in the link pack area (LPA) cannot be accessed by the BLDL macro.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014