Understanding customization processing

As discussed in the preceding Overview, the utility obtains values for processing databases from various places--internal defaults, options modules, and control statement keywords.

The following steps describe the order in which the utility uses the default values, options modules, and control statement keywords to build a control block that it uses during processing. During this discussion, remember that the function control statements are IC, AIC, OIC, AOIC, CIC, ACIC, IIC, AIIC, and (for the ICP Database Recovery function) REC and AREC.

  1. When the utility begins processing a job, it looks for a GLBL control statement. If it finds a PARMBLK keyword on the GLBL statement, it loads the values for the associated module as the default values.

    • GLBL PARMBLK(ICP@TEST)

      Load the module named ICP@TEST. This might be a global module for your test system.

    • GLBL PARMBLK(ICP@PROD)

      Load the module named ICP@PROD. This might be a global module for your production system.

  2. If the utility does not find a PARMBLK keyword on the GLBL control statement, it looks for a module named ICP@imsi where imsi is your IMSID. The utility uses your IMSID from the RESLIB to create the module name, unless you explicitly specify the IMSID keyword on the GLBL control statement.

    • GLBL IMSID(X023)

      Load the module named ICP@X023. If you have multiple IMS systems and have set up a global options module for each system, this identifies the specific module to use.

  3. If the utility does not find an ICP@imsi module, it looks for a module named ICPPARMS. You would have created this module to be your personal copy of the internal defaults rather than using the defaults supplied with the utility.

  4. If the utility does not find any of the modules discussed in the previous steps, it uses the internal defaults supplied with the utility.

  5. The global default values are now loaded in the control block. Any additional keywords on the GLBL control statement will override the values in the control block.

    The utility uses the values in the control block for each function control statement unless a value is modified as described in the following steps.

  6. When the utility begins processing a function control statement, it first looks for a database-specific options module that corresponds to the database identified by the DBD keyword. It searches the PDX data set specified by the PDX DD statement or the PDX keyword on a GLBL control statement.

    • GLBL PDX(NODE.ICPPDX)

      Use the PDX library from which database-specific options modules are obtained.

    The database-specific module is named with a concatenation of the IMSID and the DBD name. The utility uses the IMSID from the RESLIB to create the module name, unless you have explicitly specified the IMSID keyword on the GLBL control statement. If the utility cannot find a module for the database with the specific IMSID, it searches for one with @@@@, meaning any valid IMSID, in place of the IMSID.

  7. When you explicitly specify a keyword on one of the function control statements, the utility uses the value of that keyword. Any other values assigned to that keyword in the options modules or in the internal defaults are overridden.

    In this example, the utility compresses the image copy of the ABCD123 database during the Image Copy function regardless of any specification in a global or database-specific options module. You have explicitly instructed the utility to compress the image copy data set.

    //ICPSYSIN DD *
      IC    DBD(ABCD123) ICCOMP(Y)
  8. For keyword values not explicitly stated on a function control statement, the utility uses the values for keywords specified on a GROUP control statement and applies these values to all processes for the group. Values specified on a function control statement override values specified on the GROUP control statement.

    In this example, the utility compresses the image copies of the ABCD123 and ABCD234 databases but does not compress the image copies of the ABCD345, ABCD456, and ABCD567 databases. Even though database ABCD345 is part of the GROUP statement specifying ICCOMP(Y), its image copy is not compressed because of the explicit ICCOMP(N) keyword on the function control statement.

    //ICPSYSIN DD *
      GROUP ICCOMP(Y)
      IC    DBD(ABCD123)
      IC    DBD(ABCD234)
      IC    DBD(ABCD345) ICCOMP(N)
      GROUP ICCOMP(N)
      IC    DBD(ABCD456)
      IC    DBD(ABCD567)
  9. For keyword values not explicitly stated on a function control statement, the utility uses the values for keywords specified on a GLBL control statement and applies these values to all processes in the job. Values specified on the GROUP and function control statements override values specified on the GLBL control statement.

    In this example, the utility compresses image copies for all databases except the ABCD345 database:

    //ICPSYSIN DD *
      GLBL  ICCOMP(Y)
      IC    DBD(ABCD123)
      IC    DBD(ABCD234)
      IC    DBD(ABCD345) ICCOMP(N)
      AIC   DBD(ABCD456)
      AIC   DBD(ABCD567)

    In this example, the utility does not compress image copies for the ABCD345, ABCD456, and ABCD567 databases:

    //ICPSYSIN DD *
      GLBL ICCOMP(Y)  GROUP
      IC    DBD(ABCD123)
      IC    DBD(ABCD234)
      IC    DBD(ABCD345) ICCOMP(N)
      GROUP ICCOMP(N)
      IC    DBD(ABCD456)
      IC    DBD(ABCD567)
  10. In these examples, you may have noticed that the image copy for the ABCD345 database is always left uncompressed. Rather than having to remember to explicitly specify ICCOMP(N) for each execution, you might choose to create a database-specific options module. The utility would use the module each time it processed the database.

    Remember that explicitly specifying a keyword on a function, GROUP, or GLBL control statement overrides the value specified with a global or database-specific options module.

Was this page helpful? Yes No Submitting... Thank you

Comments