IBM Support

PK16212: HD POINTER CHECKER ENHANCES TO ISSUE ENQUEUE MACRO FOR A HISTORY DATA SET.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • HD Pointer Checker issues ENQ (enqueue macro) for preventing a
    HISTORY data set from inconsistency updates. Prior to this APAR,
    HDPC issues ENQ with QNAME=FAB@HIST, RNAME=FAB@HIST and
    SCOPE=SYSTEMS. When more than one HDPC jobs run, and every job
    uses different HISTORY data sets, this ENQ macro gives an
    exclusive access control to a group of HISTORY data sets. The
    ENQ makes HD Pointer Checker wait longer for updating the
    HISTORY record.
    .
    With this APAR, HD Pointer Checker can issue an ENQ macro for
    each HISTORY data set by using RNAME=data set name.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: IBM IMS High Performance Pointer Checker for *
    *                 z/OS Version 2 Release 1 (FMID=HPC2210)      *
    *                 users who use the HISTORY option.            *
    ****************************************************************
    * PROBLEM DESCRIPTION: HD Pointer Checker issues ENQ and DEQ   *
    *                      MACROs for serialization of updating a  *
    *                      HISTORY data set.                       *
    *                      All of HD Pointer Checker jobs issue    *
    *                      ENQ with the same resource name         *
    *                      "FAB@HIST", even if they use individual *
    *                      History data set.                       *
    *                      This APAR makes HD Pointer Checker to   *
    *                      issue ENQ MACRO to HISTORY data set     *
    *                      name.                                   *
    ****************************************************************
    * RECOMMENDATION: Apply the maintenance for this APAR.         *
    ****************************************************************
    HISTORY data set update processing of HD Pointer Checker is
    enclosed by ENQ and DEQ MACROs with QNAME=FAB@HIST
    RNAME=FAB@HIST SCOPE=SYSTEMS.
    The MACROs serialize the HD Pointer Checker jobs for updating
    the HISTORY data set.
    However, all of HD Pointer Checker jobs issue ENQ macros with
    the same QNAME and RNAME, even if they uses each individual
    HISTORY data set. It makes All HD Pointer Checker jobs put in
    the queue waiting for a group of HISTORY data sets.
    Therefore, only one HD Pointer Checker job can update the
    HISTORY data set at a time.
    
    This APAR adds new optional attribute HISTLOCK to the HISTORY
    data set. By the HISTLOCK option, a user can selects a data set
    name or FAB@HIST for RNAME. When the data set name is specified,
    HD Pointer Checker specify the HISTORY data set name to RNAME.
    By this change, HD Pointer Checker jobs can process each HISTORY
    data set in parallel.
    
    Please refer to the documentation changes below for details.
    +--- !!!! NOTE !!!! -------------------------------------------+
    | If a user selects HISTLOCK=DATASET, it is required to do the |
    | follows:                                                     |
    | - Specify the same HPPC load module library that applied a   |
    |   PTF of this APAR to all of the HD Pointer Checker JCLs.    |
    | - If "FAB@HIST" is defined as a minor name in Global Resource|
    |   Serialization (GRS) or the equivalent product, change the  |
    |   minor name from "FAB@HIST" to HISTORY data set names.      |
    +--------------------------------------------------------------+
    

Problem conclusion

Temporary fix

Comments

  • Documentation Changes:
    
    Note: The section numbers are those of the BookManager (BKMGR)
    book.
    
    ==============================================================
      IMS High Performance Pointer Checker for z/OS, V2R1,
      User's Guide Vol.1 (SC18725701)
    ==============================================================
    
    ==============================================================
    2.1.6.1   FABPMAIN PROCCTL Data Set
    ==============================================================
    ==============================================================
    2.1.6.1.7 OPTION Statement
    ==============================================================
    The following statement is added at the last of explanation
    of a HISTORY= option:
    
    |Serialization of HISTORY data sets
    
    |  HD Pointer Checker jobs are serialized for updating the
    |  HISTORY data sets by using ENQ macro.
    |  The RNAME parameter of the macro depends on a HISTORY lock
    |  option.
    |  The HISTORY lock option is set by HISTLOCK parameter of
    |  FABGHIST program of DB Historical Data Analyzer.
    |
    |  For more details of the HISTLOCK option, see
    |  "IMS High Performance Pointer Checker for z/OS, V2R1,
    |  User's Guide Vol.2 (SC18-7258)"
    
    ==============================================================
      IMS High Performance Pointer Checker for z/OS, V2R1,
      User's Guide Vol.2 (SC18725801)
    ==============================================================
    1.1.3  Compatibility
    ==============================================================
    
    The following section is added:
    
    ==============================================================
    1.1.3.5  Compatibility between HISTLOCK=GROUP and
            HISTLOCK=DATASET
    ==============================================================
    
    |HD Pointer Checker jobs are serialized for update a HISTORY
    |data set by ENQ macro.
    |The RNAME parameter of ENQ macro is changed by the HISTLOCK
    |option.
    |If you defines resources of HISTORY data sets
    |in Global Resource Serialization (GRS) or the equivalent
    |product, it is required to specify correct names.
    
    |For details of parameters of HISTLOCK option, see "OPTION
    |Control Statement" in topic 2.2.3.2.7.
    
    ==============================================================
    2.0  DB Historical Data Analyzer
    ==============================================================
    ==============================================================
    2.2.1  Preparation for Running DB Historical Data Analyzer
    ==============================================================
    The following statement is added:
    
     2. At the time of initialization, attributes of the HISTORY
        data set are follows:
          - MULTIENT option is "NO"
              The multiple entries option is inactive. In this
              status, one database data set entry per day is
              recorded in the HISTORY data set.
    
          - EXPORTABLE option is "NO"
              The HISTORY data set is not exportable. In this
              status, Export Utility does not export data from the
              HISTORY data set.
    
    |     - HISTLOCK option is "GROUP"
    |         The HISTORY lock attribute is set to "GROUP".
    |         In this status, HD Pointer Checker job issues ENQ
    |         MACRO with QNAME=FAB@HIST, RNAME=FAB@HIST, and
    |         SCOPE=SYSTEMS, before updating the HISTORY data set.
    
    
    ==============================================================
    2.2.3.1  HISTORY Data Set (HISTORY)
    ==============================================================
    The following statement is modified:
    
     The user can invoke the above functions with the control
     statements specified in HISTIN data set (see "HISTIN Data Set"
     in topic 2.2.3.2).
    
    |The HISTORY data set has three optional attributes,
    |EXPORTABLE, MULTIENT, and HISTLOCK. For details of the options,
     see "OPTION control statement" in topic 2.2.3.2.7.
    
    ==============================================================
    2.2.3.1.3 Changing Options of HISTORY Data Set
    ==============================================================
    "Figure 5" is modified as follows:
        __________________________________________________________
       |                                                          |
     | | //UPDATE  EXEC PGM=FABGHIST                              |
     | | //STEPLIB   DD DISP=SHR,DSN=HPS.SHPSLMD0                 |
     | | //HISTORY   DD DISP=OLD,DSN=HIST.HISTORY                 |
     | | //HISTPRT   DD SYSOUT=A                                  |
     | | //HISTMSG   DD SYSOUT=A                                  |
     | | //SYSUDUMP  DD SYSOUT=A                                  |
     | | //HISTIN    DD *                                         |
     | |   PROC TYPE=UPDATE                                       |
     | |   OPTION MULTIENT=YES,EXPORTABLE=YES,HISTLOCK=DATASET    |
     | |   ENDPROC                                                |
       |                                                          |
       |__________________________________________________________|
     | Figure 5. Sample JCL for Changing Options for a HISTORY Data
     | Set
    
    ==============================================================
    2.2.3.1.5 Migrating from DBT Version 2 Release 3 Format
    ==============================================================
    The following description is modified:
    
     Figure 6 presents a sample JCL for converting the HISTORY data
     set from DBT Version 2 Release 3 format to the required format.
    
    |If you want to change optional attributes of the HISTORY data
    |set, change them after migration.
    
    ==============================================================
    2.2.3.2.5 PROC Control Statement
    ==============================================================
    The following statement is added:
    
     CREATE
       Specifies to initialize a new HISTORY data set. A DATABASE
       control statement is not required (if coded, it is ignored).
    
         Notes:
    
           1. The multiple entries option is inactive at
           initialization time. If you want to store multiple
           database data set entries per day, you need to run the
           FABGHIST program with the TYPE=UPDATE and OPTION
           MULTIENT=YES control statement.
    
           2. The exportable option is inactive at initialization
           time. If you want to run Export Utility, you must run the
           FABGHIST program with the TYPE=UPDATE and OPTION
           EXPORTABLE=YES control statement.
    
    |      3. The HISTORY lock option is set as GROUP
    |      at initialization.
    |      If you use more than one HISTORY data set among HD
    |      Pointer Checker jobs, it is recommended to change the
    |      HISTORY lock option by running the FABGHIST program with
    |      the TYPE=UPDATE and OPTION HISTLOCK=DATASET control
    |      statement.
    
    ==============================================================
    2.2.3.2.7  OPTION Control Statement
    ==============================================================
    The following statement is added to "Figure 11":
    
    |   , HISTLOCK= { GROUP | DATASET }
    
    The following is added to the last of a section:
    
    |HISTLOCK=
    |
    |  Specifies the HISTORY lock option.
    |  HD Pointer Checker jobs are serialized for update a HISTORY
    |  data set by ENQ and DEQ macros.
    |  The HISTORY lock option is an optional funtion for selecting
    |  a minor name of ENQ macro for serialization of updating
    |  HISTORY data sets.
    |
    |  GROUP
    |   HD Pointer Checker issues ENQ macro with the following
    |   parameters:
    |    QNAME (major name) = CL8'FAB@HIST'
    |    RNAME (minor name) = CL8'FAB@HIST'
    |    CONTROL TYPE       = EXCLUSIVE
    |    SCOPE              = SYSTEMS
    |
    |  DATASET
    |   HD Pointer Checker issues ENQ macro with the following
    |   parameters:
    |    QNAME (major name) = CL8'FAB@HIST'
    |    RNAME (minor name) = CL44'(HISTORY data set name)'
    |    CONTROL TYPE       = EXCLUSIVE
    |    SCOPE              = SYSTEMS
    
    | At the time the HISTORY data set created, HISTLOCK is set to
    | GROUP.
    |
    |  If more than one HISTORY data set has the GROUP attribute,
    |  HD Pointer Checker jobs issue ENQ macro with the same RNAME.
    |  It makes all HD Pointer Checker jobs get into the same queue
    |  that is for a group HISTORY data sets, and only one HD
    |  Pointer Checker job can update the HISTORY data set at the
    |  time.
    |
    |  By specifying HISTLOCK=DATASET to HISTORY data sets,
    |  HD Pointer Checker jobs get into individual queue of each
    |  HISTORY data set, and the updating HISTORY data set processes
    |  run in parallel.
    
    |  GROUP is for keeping backward compatibility with lower level
    |  HD Pointer Checker.
    |  It is recommend to select HISTLOCK=DATASET.
    
    ==============================================================
    2.2.4.2.6 History Attribute Report
    ==============================================================
    The following statement is added:
    
     - MULTIENT
    
       YES
         By running HD Pointer Checker with history option multiple
         times a day, more than one database data set entries can
         be stored in the HISTORY data set for each day.
    
       NO
         Only one database data set entries can be stored in the
         HISTORY data set for each day.
    
    |- HISTLOCK
    |
    |  GROUP
    |    GROUP is selected for the HISTORY lock option.
    |
    |  DATASET
    |    DATASET is selected for the HISTORY lock option.
    
    The following line is added to "Figure 23":
    
        OPTION               STATUS
        -----------------    -----------------------
        EXPORTABLE           YES
        MULTIENT             YES
    |   HISTLOCK             DATASET
    

APAR Information

  • APAR number

    PK16212

  • Reported component name

    IMS POINTER CHE

  • Reported component ID

    5655E0900

  • Reported release

    210

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2005-12-05

  • Closed date

    2005-12-28

  • Last modified date

    2006-01-04

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UK10435

Modules/Macros

  •    FABGFUNC FABGHAP  FABGHIR  FABGRHT  FABGUPDT
    FABGXCB0 FABGXREP FABPHPT  FABPUPHR
    

Publications Referenced
SC18725701SC18725801   

Fix information

  • Fixed component name

    IMS POINTER CHE

  • Fixed component ID

    5655E0900

Applicable component levels

  • R210 PSY UK10435

       UP05/12/29 P F512

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Line of Business":{"code":null,"label":null},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCX89G","label":"IMS HP Pointer Checker"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"210"}]

Document Information

Modified date:
04 October 2020