PROC control statement
The PROC control statement specifies the type of processing to be done by IMS™ Index Builder.
This statement is required. If you specify PROC statements to build both a primary and a secondary index database in the same job, the statements must apply to the same database.
The following diagrams show the format of the PROC statement for specifying secondary, primary, ILDS, or all index databases (respectively).
>>-PROC--BLD_PRIMARY--,--database------------------------------><
.-,ALL------. .-,LOAD---. >>-PROC--BLD_SECONDARY--,--database--+-----------+--+---------+->< '-,SELECTED-' '-,UPDATE-'
>>-PROC--BLD_ILDS--,--database---------------------------------><
.-,LOAD---. >>-PROC--BLD_ALL--,--database--+---------+--------------------->< '-,UPDATE-'
- PROC
- Specifies that this is a PROC statement.
- BLD_PRIMARY
- Specifies that the primary index of the HIDAM and PHIDAM databases must be built. You can specify only one PROC BLD_PRIMARY statement per job.
- BLD_SECONDARY
- Specifies that secondary index databases must be built. If the prime database
does not have secondary indexes, an error is indicated, and IMS Index Builder stops at the initialization phase.
If you specify INPUT IBSCAN, you can specify only one PROC BLD_SECONDARY statement per job.
If you specify INPUT DFSURWF1 or INPUT DFSURIDX, you can specify one or more PROC BLD_SECONDARY statements per job.
- ALL
- Builds all secondary indexes of the database. If you specify ALL, any INDEX statements that are associated with the database named in the PROC statement are ignored. ALL is used as the default.
- SELECTED
- Builds the secondary indexes that are selected by the INDEX statement.
- LOAD
- Builds the secondary index in load mode. IMS Index Builder builds and loads all the secondary index records. LOAD is used as the default.
- UPDATE
- Updates the PSINDEX in update mode. IMS Index Builder builds and
loads only the PSINDEX records that point to certain HALDB partitions.
Use this mode when HALDB partitions are selectively reorganized. The VSAM data sets of the PSINDEX must fully contain index records for all the HALDB partitions before the reorganization.
IMS Index Builder determines the target HALDB partitions from the following statements:- If INPUT IBSCAN statement is specified, IMS Index Builder refers
to the PARTNAME statement. If no PARTNAME statement is specified, IMS Index Builder processes the PSINDEX records for all the HALDB
partitions.
PROC BLD_SECONDARY,HMPORDP1,ALL,UPDATE INPUT IBSCAN PARTNAME HORDP1B,HORDP1C
- If INPUT HPSRWFP statement is specified, IMS Index Builder dynamically allocates all the WFP files for the HALDB partitions that IMS High Performance Load reloaded and processes the records found in the WFP files.
PROC BLD_SECONDARY,HMPORDP1,ALL,UPDATE INPUT HPSRWFP WFPHLQ IMSTOOLS.WORK.HMPORDP1
Usage notes for update mode:- If the DDEFPDS DD statement is specified, the IDCAMS commands for PSINDEX are not performed.
- CI or CA splits in VSAM data sets remain.
- If IMS Index Builder cannot find an index record that should be updated, IMS Index Builder inserts a new index record.
- If INPUT IBSCAN statement is specified, IMS Index Builder refers
to the PARTNAME statement. If no PARTNAME statement is specified, IMS Index Builder processes the PSINDEX records for all the HALDB
partitions.
- BLD_ILDS
- Specifies that the indirect list data sets be built. You can specify only one PROC BLD_ILDS statement per job.
- BLD_ALL
- Specifies that the primary index, secondary indexes, and ILDS be built. You can
specify only one PROC BLD_ALL statement per job. It will build only indexes appropriate to the
database you specified.
The UPDATE option can be specified. This option is applied only when building PSINDEX.
- database
- Is the DBD name of the IMS physical database whose primary, secondary, or ILDS index must be built.