Catalog Search Interface VSAM

Catalog Search Interface
The Catalog Search Interface (CSI) is shipped as a component of base since DFSMS/MVS 1.5. As its use is not wide spread, we take this opportunity to remind you of its availability and to point out its advantages over other methods of obtaining catalog information. The following section describes:

  • CSI setup
    – CSI programming considerations
    – IBM supplied sample program

CSI setup
The CSI is a general-use programming interface for obtaining information from ICF catalogs. It provides great flexibility in specifying the selection criteria for the data that is to be returned. The CSI may be invoked by assembler programs, high-level language programs and REXX execs. See the appendix in Managing Catalogs, SC26-4914, for a complete description of the interface.

Much of the information you can obtain from the CSI you could also obtain using an IDCAMS LISTCAT command. However, there are some advantages using CSI that you may want to consider when accessing catalog information:

  • Using a Generic Filter Key:
    When requesting information from the CSI for specific catalog entries, you may specify a generic filter key. This key can contain the following symbols used to filter the entry names:

    CSI setupCSI setup

  • Using selection criteria fields
    When requesting information from the CSI for specific catalog fields, you may specify a list of field names. For example, if you were only interested in the volume and the file sequence number for specific data sets, you could specify the catalog field names VOLSER and FILESEQ in the field name list when calling the CSI. Obtaining this information from IDCAMS would require you to use the IDCAMS LISTCAT ALL command and to scan the output to retrieve the desired information.

  • Performance benefits
    Using the CSI generally results in significantly better performance compared to using IDCAMS LISTCAT, which does a catalog call for each entry processed. The flexibility in requesting only the information that you are interested in using the CSI results in additional performance improvements, since you eliminate the retrieval of unneeded information.

  • CSI programming considerations
    The CSI is distributed as load module IGGCSI00 in SYS1.LINKLIB. It is reentrant and reusable, can be invoked in 24-bit or 31-bit addressing mode, in any PSW key, and in either problem or supervisor state.

    CSI requires three parameters to process your request:
    – A 4-byte reason area used to return error or status information
    – A variable length selection criteria list (for input)
    Work area used to return the requested catalog data

  • IBM supplied sample programs
    IBM provides three sample assembler programs and one REXX exec in SYS1.SAMPLIB. Here we provide a short summary of their functions:
  • IGGCSILK produces output similar to that of an IDCAMS LISTCAT CAT(catname) command.
  • IGGCSIVG identifies unused space at the end of VSAM data sets defined in a given catalog. This is calculated as the difference of the high-allocated and the high-used relative byte address (HARBA-HURBA)
  • IGGCSIVS produces a list of data set names defined in a given catalog that reside on a specific volume. Such a list might be helpful in a volume recovery situation.
  • IGGCSIRX is a REXX exec that produces a list of data set names matching a generic filter key. When you call it from a TSO/E session, it will prompt you for the filter key, and return matching data set names, their type, and volume definition.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

VSAM Topics