High-performance Prefix Resolution function


The High-performance Prefix Resolution function operates much like the IMS compatible Prefix Resolution function, except that it does not create the DFSURWF2 data set.

The High-performance Prefix Resolution function passes the output of the first sort directly to the second sort using an internal buffer. The High-performance Prefix Resolution function provides significant performance improvements over the IMS compatible Prefix Resolution function, but it increases the amount of sort work space required to approximately the amount required for the IMS Prefix Resolution utility.

To run the High-performance Prefix Resolution function, you can use existing IMS Prefix Resolution utility JCL by making minor changes.

Figure 1 shows the system flow of the High-performance Prefix Resolution function.

Figure 1. High Performance option (with Concurrent Prefix Update) system flow

GUID-FAA39297-CBDE-4B71-AB8F-986057FBF792-low.png

The High-performance Prefix Resolution function works as follows:

  1. The High-performance Prefix Resolution function reads the DBD library to get information about the relevant logical relationships.
  2. The High-performance Prefix Resolution function reads the control data set (DFSURCDS) that was generated by the IMS Prereorganization utility.
  3. If DBRC is active, the High-performance Prefix Resolution function reads and writes recovery control information to the RECON data sets.
  4. The DFSURWF1 or SORTIN data set supplies the logical relationship records and can supply the secondary index records that were created during the database load, reload, or scan.

    The DFSURWF1 data set always contains IMS format logical relationship and can also contain secondary index (type 40) records.

    The SORTIN data set can contain either (but not both) of the following record types:

    • BMC format logical relationship records. The SORTIN data set cannot contain secondary index records when it contains BMC format logical relationship records. Specify SORTIN(N) to indicate that the records are in BMC format.
    • IMS format logical relationship records and secondary index records. Specify SORTIN(Y) to indicate that the records are in IMS format.
  5. The High-performance Prefix Resolution function (program name DFSURG10 or PRPURG10) consists of two sort phases, PRPURG20 and PRPURG30, that run concurrently. To run the phases concurrently, you must specify HIPO(Y). Both phases invoke your site’s sort utility.
    • The first phase, Parent-Child Resolution (program name PRPURG20), sorts logical child relationship records with their corresponding logical parent records and resolves the logical child and logical parent pointers. This phase uses the SORTWKnn data sets for sorting. It passes the partially resolved work file records directly to the second sort phase, using an internal buffer.
    • The second phase, Logical Twin Resolution (program name PRPURG30), sorts the records into physical database sequence (within the data set) and resolves any logical twin forward and backward pointers. This phase uses the SRT2WKnn data sets for sorting. This phase creates and sorts logical relationship work file (DFSURWF3) records, which you use as input to the Prefix Update function (PRPURGP0). You can run the Prefix Update function concurrently with PRPURG30 if you supply a DD statement defining the data set to be updated and specify UPDATE (Y).
  6. The High-performance Prefix Resolution function extracts any index records from the DFSURWF1 or SORTIN data set during the input phase of PRPURG20.
    • If you specify SORTIDX(Y), the High-performance Prefix Resolution function sorts the records by internally invoking the Secondary Index Resolution function (PRPURG40). It creates a temporary PRPURIDX work data set for use during the sort.
    • If you specify SORTIDX(N), you must process the index records by using the Secondary Index Resolution function (PRPURG40), the Index Build function, or the IMS Prefix Resolution utility.
  7. The High-performance Prefix Resolution function captures and reports statistics. It writes these reports to the SYSPRINT data set, and it can write them to the PDX data set.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*