You can use the CVAFFILT macro to retrieve sets of DSCBs into buffers
provided by the calling program. CVAF filter service supports both
indexed and nonindexed VTOCs.
CVAFFILT Macro Overview and Specification describes
the macro's format and parameters. The following section summarizes
this service and its requirements.
- Request DSCBs by specifying either one or more fully-qualified
data set names, or one partially-qualified name. See Filter Criteria List (FCL) and Partially-Qualified Names for CVAFFILT for
further information.
- Identify a single DASD volume in the CVPL.
- For each data set that has a format-1 DSCB, the
VTOC order returned by CVAFFILT is the format-1 DSCB, followed by
any format 3 DSCBs.
For each data set that has a format-8 DSCB,
the VTOC order returned by CVAFFILT is the format-8 DSCB, one or more
format-9 DSCBs, followed by any format-3 DSCBs. Currently, the minimum
buffer list entry size needed to read all DSCBs associated with a
data set is 12. This is one format-8 DSCB, one format-9 DSCB, and
10 format-3 DSCBs to reach the 123-extent limit.
- CVAF filter service returns DSCB information for one or more qualifying
data sets into caller-provided buffers. See Example of CVAFFILT Macro Sequences and Example of Using the CVAFFILT Macro for
further information. CVAF filter service does not return a partial
DSCB chain in the following cases:
- If you do not provide enough buffers to hold the requested DSCBs,
CVAF filter service returns one or more complete DSCB chains and/or
a status code (CVSTAT in the CVPL). The status code indicates if a
RESUME CVAF call can be used to retrieve the rest (or more) of the
DSCBs. See RESUME Capability for specific information.
- If the total number of buffers is insufficient to contain a data
set's complete DSCB chain, CVAF filter service sets the FCLDSNST byte
in the FCL, ignores the data set, and processes the next qualifying
data set. To avoid this situation, provide a minimum of eleven DSCB
buffers (enough for a data set at the 123 extent limit).
- For fully qualified data set names in the Filter Criteria
List, a CVAFFILT request issued to an extended address volume will
fail if the EADSCB=OK indicator is not set and the DSCB associated
with the fully qualified data set name is described by a format-8
DSCB. For partially qualified data set names in the Filter Criteria
List, a CVAFFILT request issued to an extended address volume will
fail if the EADSCB=OK indicator is not set and a DSCB associated with
a data set that matches the Filter Criteria List is described by a
format- 8 DSCB. In both these cases, the data set name status in
the FCL (FCLDSNST) will be set to a status value of (x'06'). This
status code indicates that a data set name is described by a format-8
DSCB and the caller did not specify support for it with the EADSCB=OK
keyword. It will be set only when other data set name status codes
are not applicable. CVAF status code (CVSTAT) of STAT086 (x'56') will
be set with these errors. This status code indicates all of the user
FCL entries were processed, a resume is not required, one or more
errors were found.