The FIND macro causes the system to use the address of the first block of a specified partitioned data set member as the starting point for the next READ macro for the same data set. All previous input and output operations that specified the same data control block must have been tested for completion before the FIND macro is issued.
When used with a PDSE, the FIND macro establishes a connection to a PDSE member. If FIND by relative address (C option) was specified, the connection remains until the PDSE is closed. If FIND by name (D option) was specified, the connection remains until you position to another member.
If the PDSE is open for output, close it and reopen it for input or update processing before issuing the FIND macro. See z/OS DFSMS Using Data Sets for more information on using the FIND macro and PDSE connections.
You can issue the FIND macro in 24- or 31-bit addressing mode. When issued in 31-bit addressing mode, all addresses must be valid 31-bit addresses. If the DCB points to a DCBE that resides above the 16MB line, you must issue the FIND macro in 31-bit addressing mode.
The format of the FIND macro is:
[label] | FIND |
dcb address |
Offset | Length | Contents |
---|---|---|
X'00' | 2 | Length of plist=20 |
X'02' | 1 | Must be zero |
X'03' | 1 | Must be zero |
X'04' | 4 | Length of the member name |
X'08' | 8 | Member name |
X'10' | 4 | Generation number (returned by DESERV) or a negative relative generation number |
Rule: Do not use the FIND macro after WRITE and STOW processing without first closing the data set and reopening it for INPUT processing.