Updates to IMS High Performance Pointer Checker V3.1 User's Guide

Product documentation


Abstract

Updates that apply to IMS High Performance Pointer Checker V3.1 User's Guide (SC19-2401-01)

Content

The most recent update is listed first.



Update 13
Date of change: December 2012
Change description: Documentation changes by APAR PM79078. By applying this APAR, you can use the FABKCTL data set to specify control statements for the Space Monitor utility.
Topics: Changes apply to the following multiple topics.

> 5.0 Space Monitor
>> 5.1 Overview of Space Monitor
>>> 5.1.4 Data flow

The following list item has been updated as follows:
  • The user must specify the database data sets and/or OS data sets to be monitored. They are specified by the control statements in the FABKCTL data set, the SPMNIN data set, or in the SPMNMBR data set. SPMNMBR data set (also called control member data set) is a partitioned data set whose members contain one or more control statements.
    Tip: FABKCTL supports keyword-style control statements, therefore, coding the control statements in the FABKCTL data set is easier than coding the control statements in other data sets.

---------------------------------------------
>> 5.2 Operating instructions for Space Monitor

Step 2 has been updated as follows:

The following steps describe how to use Space Monitor. In order to use Space Monitor, follow the steps described below:
  1. If IMS database data sets are to be monitored, ensure that HD Pointer Checker (with HISTORY=YES option) is run against the database data sets in advance (at least once) to create entries in the HISTORY data set. Otherwise, the database data sets are treated as OS data sets.
  2. Specify the data sets to be monitored in the FABKCTL data set, the control member data set (SPMNMBR), or in the SPMNIN data set.
  3. Code the JCL. An IBM-supplied cataloged procedure FABKSPMP is provided.
  4. Run the Space Monitor job.

---------------------------------------------
>>> 5.2.1 Job control language
>>>> 5.2.1.1 FABKSPMN JCL

New DD statements have been added to the following table:

Table 109. Space Monitor DD statements
DDNAME Use Format Need
... ... ... ...
IMS Input PDS Optional
IMSDALIB Input PDS Optional
RECON1, RECON2, RECON3 Input VSAM Optional
FABKCTL Input LRECL=80 Optional (*)
SPMNMBR ... ... Optional (*)
SPMNIN ... ... Optional (*)
... ... ... ...
Note: You must specify a FABKCTL, an SPMNMBR, or an SPMNIN DD statement.

The following DD statement descriptions have been updated:

STEPLIB DD
    This DD defines the following input data sets:
    • IMS HP Pointer Checker production library (mandatory)
    • IMS Tools Online System Interface load module library (optional)
    • IMS MDA library (optional)
    • IMS RESLIB (optional)

    Note: When you want to monitor the latest VSAM statistics about the IMS online full-function database data sets, you must specify
    the IMS Tools Online System Interface load module library in the STEPLIB concatenations, and the libraries that are specified in the STEPLIB DD statement must be APF-authorized.

    If you use the FABKCTL data set, you must specify the IMS RESLIB. In addition, specify the MDA library that has the definitions for the database and the data sets to be monitored in the STEPLIB or the IMSDALIB.

IMS DD
    This optional input data set defines the IMS DBD library.
    If you use the FABKCTL data set, you must specify the IMS DBDLIB that contains the DBD load module specified in the DATABASE statements.

IMSDALIB DD
    This optional input data set defines the IMS MDA library.

    If you use the FABKCTL data set, you must specify the MDA library that has the data set definitions for the data sets to be monitored in the STEPLIB or the IMSDALIB.

    When you use the IMS Tools Online System Interface, all the data sets that are defined in the STEPLIB concatenation, which include the MDA library, must be APF-authorized. However, if you do not want to APF authorize the MDA library, you can specify the MDA library on IMSDALIB DD. If both STEPLIB and IMSDALIB contain the MDA library, IMSDALIB is used.

RECONx DD
    Specify RECON1, RECON2, and RECON3 data sets. These data sets are optional input data sets.
    When you use the FABKCTL data set, Space Monitor retrieves the names of HALDB and DEDB data sets to be monitored from RECON1, RECON2, and RECON3 data sets.

    When the RECON data set names are defined in the MDA library that is specified on the IMSDALIB or STEPLIB, you can omit the RECONx DD statements.

FABKCTL DD
    This optional input data set contains the control statements. When you specify the FABKCTL data set, you cannot specify the SPMNMBR or the SPMNIN data set.

SPMNMBR DD
    This optional input partitioned data set (PDS) contains the member whose name is specified by the EXEC PARM= parameter. This DD statement is effective when the EXEC PARM= is specified and the FABKCTL DD statement is not specified. This DD statement is required only when the EXEC PARM= parameter is specified; otherwise, this DD statement is ignored even if it is coded.

SPMNIN DD
    This optional input data set contains the control statements. This DD statement is effective when both the EXEC PARM= and the FABKCTL DD statement are not specified. This DD statement is required only when the EXEC PARM= parameter is not specified; otherwise, this DD statement is ignored even if it is coded.

---------------------------------------------
>>>> 5.2.1.2 JCL procedure

Description of the MEMBER= parameter has been updated as follows:

MEMBER=
    Specifies the member name of the SPMNMBR data set that contains control statements. This parameter is optional. If this parameter is omitted or no member name is specified, control statements must be specified in the data set defined by the FABKCTL or the SPMNIN DD statement.

---------------------------------------------
>>> 5.2.2 Input

The following description has been updated:

Space Monitor uses one of the three input data sets (FABKCTL, SPMNMBR, or SPMNIN), in which the user specifies control statements. The following topics describe these data sets and the control statement format.

The following new topic has been added:

5.2.2.3 FABKCTL data set

This topic describes the FABKCTL data set.

Subtopics:
  • 5.2.2.3.1 Function
  • 5.2.2.3.2 Format
  • 5.2.2.3.3 PROC statement
  • 5.2.2.3.4 OPTION statement
  • 5.2.2.3.5 DATABASE statement
  • 5.2.2.3.6 END statement

5.2.2.3.1 Function

Use the FABKCTL data set to specify the name of the IMS database to monitor.

With FABKCTL, you can use keyword-style control statements to specify Space Monitor control statements. In addition, you do not need to specify data set names but only a database name. Therefore, compared to using SPMNMBR or SPMNIN, FABKCTL simplifies the coding of Space Monitor control statements.
Space Monitor retrieves the data set names from the IMS resources, which are the IMS DBDLIB library, the MDA library, and RECON data sets. Therefore, you must specify these IMS resources in Space Monitor JCL.

For more information about how to specify the IMS resources, see 5.2.1.1 FABKSPMN JCL.

Restrictions:
  • FABKCTL does not support data sets that are not defined in the IMS resources.
  • The supported versions of IMS resources are of IMS Version 10 and higher versions.


5.2.2.3.2 Format

This data set usually resides in the input stream. However, it can be defined either as a sequential data set or as a member of a partitioned data set. It must contain 80-byte fixed-length records. BLKSIZE, if coded, must be a multiple of 80.

There are four types of statements; PROC, OPTION, DATABASE, and END statements.
When "*" is put in the first column, the line is treated as a comment line.

The following figure shows an example of the FABKCTL data set:


//FABKCTL DD *
*
 PROC USER=(USER001,USER002),TOSIXCFGRP=TOIZZZZ,IMSID=SYSA
 OPTION THRESHOLDS=(EXTENTS=14,DSSIZE%=98)
   DATABASE DB=HDAM,DD=*ALL
   DATABASE  DB=HDAMDB2
    OPTION THRESHOLDS=DSSIZE%=90
   END
/*


5.2.2.3.3 PROC statement

The PROC statement specifies the function to be run. One PROC statement can be specified at a time.

The PROC statement contains the following keywords:

PROC
 USER= userid |( userid1 , userid2 ,......)| *NO
 IMSID= imsid ,
 TOSIXCFGRP= XCF group name of IMS Tools Online System Interface  | *NO


USER=
    This optional keyword specifies TSO user IDs. Space Monitor sends a notification message to the TSO users when an exceptions is detected in database data sets.

    userid or ( userid1,userid2,....., userid20)
      Specify up to 20 TSO user IDs. If the specified TSO user is not logged on to TSO or is disconnected from the terminal, the message is discarded. You can also specify the value *JOBUSR as one of these user IDs. This value will be converted to the user ID of the submitter of the Space Monitor job.
      Space Monitor does not check whether the specified TSO user IDs are correct. If an incorrect ID is specified, Space Monitor attempts to send the notification to the user ID and the message will be discarded.
    *NO
      Notification message is not sent to the TSO user. USER=*NO is the default value.

IMSID=
    This optional keyword specifies the IMSID to capture the database historical records from the History data set. One IMSID can be specified. IMSID= keyword is effective only when the History data set has the Multiple-IMSID option enabled.

TOSIXCFGRP=
    This optional keyword specifies whether to monitor the latest VSAM statistics of online database data sets by using the IMS Tools Online System Interface. Because this keyword is effective only for online databases, you can omit this keyword when you process offline databases.
    TOSI XCF group name
      Specify the XCF group name for the IMS Tools Online System Interface. The XCF group name is an alphanumeric character string, which begins with TOI and is followed by the characters that are defined on the XCFGROUP= parameter in the IMS Tools Online System Interface PROCLIB member. For more information about the XCFGROUP= parameter and the IMS Tools Online System Interface PROCLIB member, see the Tools Base IMS Tools Common Services User's Guide.
    *NO
      The latest VSAM statistics of online database data sets are not monitored. TOSIXCFGRP=*NO is the default value.


5.2.2.3.4 OPTION statement

The OPTION statement is an optional statement that specifies the threshold values for monitoring data sets.

This statement can be specified following a PROC statement or a DATABASE statement.

Explicitly specified option parameters and default option values in an OPTION statement that follows a PROC statement specify the options for the entire database to be processed.

Explicitly specified option parameters in an OPTION statement that follows a DATABASE statement overrides a previously specified option of an OPTION statement that follows a PROC statement. These override options affect only one database that is specified in the preceding DATABASE statement.

The OPTION statement contains the following keywords:


OPTION
   THRESHOLDS= keyword = value |( keyword1 = value1 , keyword2 = value2 ,...)


THRESHOLDS=
    Specifies the threshold values for Space Monitor. You can specify the following keyword and its value as a pair. When you specify more than two pairs, separate each pair with a comma and enclose the entire specification of the pairs with parentheses. The following table shows the values you can specify.

Table x. Keywords and values for the THRESHOLDS parameter
Keyword Value Default value Description HISTORY is required to monitor the factor?
EXTENTS= 0-99 or NO 10 Specifies the warning threshold value for the number of extents. No
FREESPC%= 0-100 or NO 10 Specifies the warning threshold value for the percentage of free space. Yes
AVAILEXT= 0-50 or NO 10 Specifies the warning threshold value for the number of available extents. No
LASTEXT= YES or NO YES If YES is specified and the data set uses the last extent, a warning message for this data set is shown in the Space Monitor Exception report. No
USEDSPC%= 0-100 or NO 90 Specifies the warning threshold value for the percentage of space used. Yes
VOLEXT= YES or NO YES If YES is specified and not enough space is left on the DASD volume for the data set to extend, a warning message for this data set is shown in the Space Monitor Exception report. No
CASPLIT%= 0-100 or NO 50 Specifies the warning threshold value for the percentage of CA splits. No
CISPLIT%= 0-100 or NO 50 Specifies the warning threshold value for the percentage of CI splits. No
REORGINTVL= 0-999 or NO NO Specifies the warning threshold value for the number of days that can pass without a database reorganization. Yes
DSSIZE%= 0-100 or NO 90 Specifies the warning threshold value for the percentage of the space used by data sets within the maximum size. Yes
DSSIZE= <value><unit> or NO
  • value is 0-9999
  • unit is M, G, or T
NO Specifies the warning threshold value for the data set size in the units of MB, GB, or TB. If a unit is not specified, M (MB) is used. No
HDPCDAYS= 0-99 or NO NO Specifies the warning threshold value for the number of days that can pass without running HD Pointer Checker with the HISTORY=YES option. Yes

DEDB, Fast Path secondary index, and HALDB ILDS data sets are treated simply as VSAM data sets.
The monitoring factors that require a HISTORY record, which is generated by the HD Pointer Checker utility, cannot be monitored for DEDBs, Fast Path secondary indexes, and HALDB ILDS data sets because such resources are not supported by the HD Pointer Checker utility.

Threshold values are meaningless for DEDB for the following reasons:
  • Extents are allocated at the DEDB initialization time by the IMS DEDB Initialization utility and no extents are dynamically obtained after the initialization.
  • The IMS DEDB Initialization utility initializes all space allocated and no OS free space exists.

5.2.2.3.5 DATABASE statement

A DATABASE statement is a required statement that specifies the database name.

Space Monitor monitors the database data sets that belong to the database.
You do not need to specify the data set names. Space Monitor retrieves the data set names from RECON and MDA.
  • In case of HALDB, Space Monitor obtains the names of database data sets, index data sets, and ILDS data sets from RECON.
  • In case of full-function databases, Space Monitor obtains the names of database data sets and index database data sets from MDA.
  • In case of DEDB, Space Monitor obtains the area data set names from RECON first, and then from MDA.
  • In case of Fast Path Secondary index, Space Monitor obtains the data set names from MDA.

One or more DATABASE statements can be specified in any order in the FABKCTL data set, but must follow a PROC statement. The DATABASE statement contains the following keywords:

DATABASE   DB= dbdname
                 [,PART= partition name | *ALL ]
                 [,AREA= area name | *ALL ]
                 [,DD= ddname | dsg-id | *ALL ]


DB=
    Specifies a database with the dbdname as coded in your DBD. This keyword is required. Space Monitor monitors the database data sets that belong to the specified database.

    You can specify the following database organizations:
    • HISAM, SHISAM, HDAM, HIDAM
    • HIDAM primary index
    • Secondary index
    • PHDAM, PHIDAM
    • Partitioned secondary index (PSINDEX)
    • DEDB
    • Fast Path secondary index

PART=
    Specifies the name of the partition to be processed. This statement can be used for HALDBs, that is, PHDAM, PHIDAM, or PSINDEX.

    *ALL
      All partitions are processed. PART=*ALL is the default.
    partition name
      Only the specified partition is processed.

AREA=
    Specifies the DDname of the area to be processed. This statement can be used for DEDBs only.

    *ALL
      All areas are processed. AREA=*ALL is the default.
    area name
      Only the specified area is processed.

DD=
    Specifies the data set group to be processed.

    *ALL
      For a non-HALDB, this option specifies to process all data sets in a database. For a HALDB, it specifies to process all data sets in the partition specified by PART=. DD=*ALL is the default.
    ddname
      Specifies the ddname (as coded in your DBD) of the HDAM, HIDAM, HISAM data set group, the HIDAM primary index, or secondary index database to be processed.
    dsg-id or ( dsg-id1, dsg-id2,...)
      Specifies data set group to be processed. This option can be used for HALDBs only.
      The following letters can be specified.
      • A through J or M through V, which are symbols of data set groups.
      • L, which is the symbol of ILDS.
      • X or Y, which is a symbol of PHIDAM primary index.
      Consideration for the Online Reorganization capable HALDB
      When the HALDB is Online Reorganization capable, Space Monitor determines the active side by RECON information and monitors the active side data sets. If you need to monitor the other side, specify the letters explicitly.


5.2.2.3.6 END statement

The END statement can be specified in any order in the FABKCTL data set. The END statement is used to discontinue reading the FABKCTL data set. It is not necessary to specify the END statement, unless you want to specify the end of the FABKCTL data set explicitly. The END statement is an optional statement that does not have any parameter.

---------------------------------------------
>>> 5.2.3 Output
>>>> 5.2.3.4 SPMNMSG data set
>>>>> 5.2.3.4.1 Space Monitor Messages report

The following figure has been added after figure 214:

In the following figure, the control statements that were specified in the FABKCTL data set are printed.


Figure x. SPMNMSG--Space Monitor Messages report

---------------------------------------------
>> 5.3 JCL examples for Space Monitor

The following new topic has been added:

5.3.4 Example 4: Using the FABKCTL data set to monitor space

The following figure presents an example of a job in which the FABKCTL input data set is used to monitor the data sets of IMS full-function database, HALDB, and DEDB.

In this example:
  • The first DATABASE statement DB=COURSEDB specifies to monitor the database data sets that belong to the COURSEDB database.
  • The second DATABASE statement DB=CUSTHDB,PART=CUSTP1 specifies to monitor the database data sets (including ILDS) that belong to the CUSTP1 partition of the CUSTHDB database.
  • The third DATABASE statement DB=NAMEDB specifies to monitor the area data sets that belong to the NAMEDB database.
  • Multiple OPTION statements are specified in this JCL. These OPTION statements work as follows:
    • The first OPTION statement specifies the EXTENTS and DSSIZE% threshold values. These threshold values are applied to all DATABASE statements.
    • Other OPTION statements are applied to the DATABASE statement that immediately precedes each OPTION statement.
    • The EXTENTS and DSSIZE% parameters in the first OPTION statement are overridden by other OPTION statements.

Note: Monitoring DSSIZE% requires a HISTORY record to be generated by the HD Pointer Checker utility. However, because the HD Pointer Checker utility does not support DEDBs, HISTORY records cannot be created for DEDBs, and, therefore, DSSIZE% monitoring factor is not valid for DEDBs.


//SPMN  EXEC PGM=FABKSPMN
//STEPLIB DD DISP=SHR,DSN=
HPS.SHPSLMD0
//           DISP=SHR,DSN=
IMSVS.SDFSRESL  
//IMS     DD DISP=SHR,DSN=
dbd library
//IMSDALIB DD DISP=SHR,DSN=
mda library
//RECON1 DD DISP=SHR,DSN= recon1 data set
//RECON2 DD DISP=SHR,DSN=
recon2 data set
//RECON3 DD DISP=SHR,DSN=
recon3 data set
//HISTORY DD DISP=SHR,DSN=
history data set
//SPMNSPDT DD DISP=SHR,DSN= spmnspdt data set
//FABKCTL DD  *
PROC USER=(USER001,USEER002),TOSIXCFGRP=TOIZZZZ,IMSID=SYSA 

 OPTION THRESHOLDS=(EXTENTS=14,DSSIZE%=98)
*    Non-HAL FFDB
   DATABASE DB=COURSEDB
     OPTION THRESHOLDS=DSSIZE%=90
*    HALDB
   DATABASE DB=CUSTHDB,PART=CUSTP1
     OPTION THRESHOLDS=(FREESPC%=20)
*    DEDB
   DATABASE DB=NAMEDB,AREA=*ALL  
 END  
/*  


Figure x. Example 4: Using the FABKCTL data set to monitor space

---------------------------------------------
>> 5.5 Operating instructions for Space Monitor Site Default Generation utility

The following paragraph has been updated:

The Space Monitor Site Default Generation utility (SPMN Site Default Generation utility) enables you to use your own default value for the Space Monitor control statements. It runs as a batch job. For the description of the control statements, see "Control member data set (SPMNMBR)" in topic 5.2.2.1 and FABKCTL data set in topic 5.2.2.3.
...

---------------------------------------------
>>> 5.5.2 Job control language
>>>> 5.5.2.1 FABKTGEN JCL

FABKCTL DD has been added to the following table:

Table 113. FABKTGEN DD statements
DDNAME Use: Input (In), Output (Out) Format EXEC PARM=
Required (R) or optional (O)
PARM='GEN' PARM='REPORT'
... ... ... ... ...
SPMNIN or FABKCTL In LRECL=80 R
... ... ... ... ...

SPMNIN DD or FABKCTL DD
    This is a required data set when PARM='GEN' is specified in the EXEC statement. Specify this input data set to include your own default values for the control statements.
    The format of SPMNIN is the same as the SPMNIN control statement. The format of FABKCTL is the same as the FABKCTL control statement.

---------------------------------------------
>>> 5.5.2 Job control language

The following new topic has been added:

5.5.2.3 FABKTGEN FABKCTL data set

Specify your own value to the column that you want to change the default values from the Space Monitor's system default value.

You can specify the PROC and OPTION control statements. You can specify all keywords except for IMSID. If a DATABASE statement is specified, it is ignored.

If you specify multiple OPTION control statements, only the first OPTION statement is used. The second and the subsequent OPTION statements are ignored.

The SPMN Site Default Generation utility analyzes the control statements, and stores the site default values in the SPMN site default table (FABKCTL0).

For a description of each statement, see "FABKCTL data set" in topic 5.2.2.3.

Example:

   //FABKCTL DD *
      PROC USER=USER001
      OPTION THRESHOLDS=(EXTENTS=14,DSSIZE%=98)
   /*



=================================
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.4 Space Monitor
>>>> 8.1.4.3 Messages

The following new messages have been added:

FABK0056I xxxxxxxxxxxx [STATEMENT|PARAMETER] IS IGNORED

Explanation: The indicated statement or the parameter cannot be used for FABKTGEN. FABKTGEN ignores the statement or the parameter.
System action: Processing continues.
User response: None.


FABK0121E MEMBER member IS NOT FOUND IN THE STEPLIB CONCATENATION

Explanation: The indicated IMS load module member does not exist in the data sets that are concatenated to the STEPLIB DD.
System action: Space Monitor ends with a return code of 8.
User response: Add IMS RESLIB to the STEPLIB DD concatenation and rerun the job.


FABK0122E ddname DD IS NOT FOUND IN MDA MEMBER member

Explanation: The indicated ddname DD is not defined in the MDA member.
System action: Space Monitor ends with a return code of 8.
User response: Ensure that the MDA member contains the data set definition for the indicated ddname DD. Specify the MDA member to the IMSDALIB or STEPLIB and rerun the job.


FABK0123E THE dbdname DATABASE IS DEFINED DIFFERENTLY IN DBDLIB AND RECON

Explanation: The database definitions for the indicated database do not match between DBDLIB and RECON.
System action: Space Monitor ends with a return code of 8.
User response: Specify the DBDLIB data set to IMS DD, and RECON data sets to RECON1, RECON2, and RECON3 DD statements. Review the contents of DBDLIB and RECON, and ensure that the database definitions are consistent between DBDLIB and RECON.


FABK0124E UNSUPPORTED IMS VERSION DETECTED IN IMS RESLIB. VERSION: version

Explanation: The IMS version of IMS RESLIB that is specified in the STEPLIB DD is not supported.
System action: Space Monitor ends with a return code of 8.
User response: To use FABKCTL control statements, IMS version must be higher than 10. Specify a valid version of IMS RESLIB to the STEPLIB DD, and rerun the job.


FABK0125E SPMNIN OR SPMNMBR CANNOT BE SPECIFIED WHEN FABKCTL IS SPECIFIED

Explanation: You cannot specify SPMNMBR or SPMNIN when you specify a FABKCTL DD statement.
System action: Space Monitor ends with a return code of 8.
User response: Correct the error and rerun the job.


FABK0126E THE NUMBER OF DATABASE DATA SETS EXCEEDED THE MAXIMUM NUMBER ALLOWED

Explanation: The number of database data sets has exceeded the maximum allowed number of 15,000.
System action: Space Monitor ends with a return code of 8.
User response: Decrease the number of data sets and rerun the job.


FABK0130E parameter=operand SPECIFICATION IS INCORRECT

Explanation: The indicated parameter=operand specification contains a syntax error.
System action: Space Monitor ends with a return code of 8.
User response: See 5.2.2.3 FABKCTL data set and correct the syntax error. Rerun the job.


FABK0131E operand IS ALREADY SPECIFIED FOR THE parameter PARAMETER

Explanation: The indicated operand is specified multiply for the parameter.
System action: Space Monitor ends with a return code of 8.
User response: Correct the error and rerun the job.


FABK0132E THE parameter PARAMETER CANNOT BE SPECIFIED BECAUSE THE DATABASE ORGANIZATION OF dbdname IS dborg

Explanation: The indicated parameter cannot be specified for the indicated database organization.
System action: Space Monitor ends with a return code of 8.
User response: See 5.2.2.3 FABKCTL data set. Correct the error and rerun the job.


FABK0133E THE statement STATEMENT IS INCORRECT

Explanation: The indicated FABKCTL control statement, which is printed immediately before this message, is incorrect.
System action: Space Monitor ends with a return code of 8.
User response: See 5.2.2.3 FABKCTL data set. Correct the error and rerun the job.


FABK0134E resource IS NOT FOUND IN [DBDLIB | RECON]

Explanation: The indicated resource is not defined in the DBDLIB or RECON.
System action: Space Monitor ends with a return code of 8.
User response: Ensure that the resource is defined correctly in the DBDLIB data set on IMS DD or in RECON data sets on RECON1, RECON2, and RECON3 DD statements. Specify the correct DBDLIB or RECON data sets, and rerun the job.


FABK3991E THE FORMAT OF THE RECON DATA SET DOES NOT MATCH THE IMS RESLIB VERSION (version)

Explanation: The version of RECON is not the same as the IMS version of IMS RESLIB that is specified in the STEPLIB DD.
System action: Space Monitor ends with an abend code of 3991.
User response: Specify the correct RECON data set, and rerun the job.


FABK3992E MINVERS IN THE RECON DATA SET IS GREATER THAN THE IMS RESLIB VERSION (version)

Explanation: The MINVERS value in the RECON data set does not match the IMS version of IMS RESLIB that is specified in the STEPLIB DD.
System action: Space Monitor ends with an abend code of 3992.
User response: Specify the correct RECON data set, and rerun the job.


FABK8001E STATEMENT FORMAT ERROR

Explanation: An error was detected in the specifications of statements.
System action: Space Monitor ends with a return code of 8.
User response: Correct the error and rerun the job.


FABK8002E parm-name IS INVALID AS STATEMENT PARAMETER

Explanation: An incorrect word parm-name was specified for the statement in the FABKCTL data set.
System action: Space Monitor ends with a return code of 8.
User response: Correct the error and rerun the job.


FABK8003E parm-name PARAMETER IS INVALID FOR ctl-stmt-name STATEMENT

Explanation: An incorrect parameter (parm-name) was specified for the statement (ctl-stmt-name).
System action: Space Monitor ends with a return code of 8.
User response: Correct the error and rerun the job.


FABK8004E THE NUMBER OF parm-name PARAMETERS EXCEEDS THE LIMIT, MAX IS nnn

Explanation: Too many parameters (parm-name) were specified. The parameter in error is shown on the message. The maximum number of specifications for the parameter is nnn.
System action: Space Monitor ends with a return code of 8.
User response: Correct the error and rerun the job.


FABK8005E parm-name PARAMETER IS REQUIRED FOR ctl-stmt-name STATEMENT

Explanation: A required parameter (parm-name) is missing for the control statement (ctl-stmt-name).
System action: Space Monitor ends with a return code of 8.
User response: Specify the required parameter for the control statement, and rerun the job.


FABK8006E THE NUMBER OF OPERANDS FOR parm-name PARAMETER EXCEEDS THE LIMIT, MAX IS nnn

Explanation: Too many parameter values were specified for the parameter (parm-name). The maximum number of parameter values is nnn.
System action: Space Monitor ends with a return code of 8.
User response: Correct the error and rerun the job.


FABK8007E LENGTH ERROR IN n-th OPERAND OF PARAMETER: parm-name

Explanation: The length of the n-th parameter value for the parameter (parm-name) is not correct.
System action: Space Monitor ends with a return code of 8.
User response: Correct the error and rerun the job.


FABK8008E n-th OPERAND IS REQUIRED FOR PARAMETER: parm-name

Explanation: The n-th operand was not specified for the parameter (parm-name).
System action: Space Monitor ends with a return code of 8.
User response: Specify the missing parameter value. Rerun the job.

---------------------------------------------
The following message explanations have been updated:

FABK0005E NO CONTROL STATEMENT FOUND IN SPMNMBR/SPMNIN DATA SET

Explanation: Program FABKSPMN Space Monitor found that there was no valid control statement in the member of the SPMNMBR data set or in the SPMNIN data set. Valid control statement here means a control statement that is not a comment.
System action: FABKSPMN Space Monitor with a return code of 8.
User response: Ensure that the member you specified by the EXEC parameter contains correct control statements, or that you specified the correct data set on the SPMNMBR DD statement, or that correct control statements are specified in the SPMNIN data set. Correct the error and rerun the job.


FABK3501E "OPEN" FAILED FOR DDNAME ddname (RC=nn)

Explanation: OPEN processing failed for the data set associated with the ddname. Refer to z/OS DFSMS Macro Instructions for Data Sets for the explanation of the return code (nn).
System action: Program FABKSPMN Space Monitor ends with an abend code of 3501.
User response: Ensure that a DD statement is present for the ddname, and that it is correctly specified. Correct any errors. Rerun the job.


FABK3550E INSUFFICIENT STORAGE: INCREASE REGION SIZE

Explanation: Program FABKSPMN Space Monitor issued a GETMAIN to acquire storage for internal control blocks. The return code indicated that the attempt was unsuccessful.
System Action: Program FABKSPMN Space Monitor ends with an abend code of 3550.
User Response: Increase the region parameter on the EXEC statement for FABKSPMN Space Monitor. Rerun the job.




Update 12
Date of change: September 2012
Change description: Documentation changes by APAR PM70216. This APAR enhances the Index Key Check function of the Standard Check function to support databases that have /CK fields, which are specified by the SUBSEQ= operand of the XDFLD statement.
Topics: Changes apply to the following multiple topics.

> 1.0 Introduction and product setup
>> 1.1 Overview of IMS HP Pointer Checker
>>> 1.1.5 Functional enhancements in IMS HP Pointer Checker Version 3
>>>> 1.1.5.1 HD Pointer Checker

The following new function has been added:

By APAR PM70216, the Index Key Check function of the Standard Check function has been enhanced to support databases that have /CK fields, which are defined by the SUBSEQ= operand of the XDFLD statement. You can specify the IXKEYCKCHK keyword on the PROC statement to check index keys of such databases. For more information, see "PROC statement".

=================================
> 2.0 HD Pointer Checker
>> 2.1 Overview of HD Pointer Checker
>>> 2.1.4 Restrictions and considerations

The following restriction items have been changed:

Restrictions and considerations for the HASH Check function:
    When the HASH Check function is used, the following restrictions should be considered:
    • ...
    • Errors on the following pointer types cannot be detected by the HASH Check function:
      • ...
      • ...
    • If /CK fields are defined by the SUBSEQ= operand of the XDFLD statement of the primary database, the Index Key Check cannot be done between that database and its associated secondary index databases.

Restrictions and considerations for analyzing secondary index databases:
    When the Index Key Check function is used, the following restriction applies:
    • When the /CK field is specified on the SUBSEQ= operand of the XDFLD statement to make key fields unique, the Index Key Check option is not effective.
    On checking the suppressed index pointer segment, the following restriction applies:
    • The suppressed segment is checked during the scan of the INDEXed database.
    • When a /CK field is specified on the SUBSEQ= operand of the XDFLD statement, HD Pointer Checker cannot get the field data. If the Secondary Index Database Maintenance Exit routine refers to a /CK field, the result is unpredictable.

---------------------------------------------
>> 2.2 Operating instructions for the HD Pointer Checker processor
>>> 2.2.2 Input
>>>> 2.2.2.1 FABPMAIN PROCCTL data set

PROC statement

The IXKEYCKCHK keyword has been added to Figure 12 as follows:

Figure 12. PROC statement syntax

The description of IXKEYCHK=YES has been changed as follows:

IXKEYCHK=
    Specifies whether you want to check the pointers and the key data by use of the Index Key Check function. ...
    YES
      Specifies that the Index Key check is to be applied to the databases. Index databases and associated primary databases must be specified in the succeeding DATABASE statements. If a primary database is indexed in more than one index database or vice versa, this option applies only to the specified database.
      If /CK fields are defined by the SUBSEQ= operand of the XDFLD statement, the Index Key Check is done only when IXKEYCHK=YES and IXKEYCKCHK=YES are specified.

    NO
      ...
The following description has been added:

IXKEYCKCHK=
    Specifies whether to run the Index Key Check function to check the keys in the primary database that has /CK fields defined by the SUBSEQ= operand of the XDFLD statement and the keys in the associated secondary index databases.

    When IXKEYCKCHK=YES is specified, HD Pointer Checker processes each index key as follows:
    1. Decomposes the index key of the index pointer segment into the following two portions:
    • Concatenated key in the subsequence field
    • Other portions of the key
    2. Decomposes the concatenated key into the segment level.
    3. Compares the other portions of the key with the portion of the corresponding key in index source segments.
    4. Compares the decomposed keys with the keys of the corresponding segments in the primary database.

    Note: Concatenated keys in the subsequence field are compared at the segment level. Index keys are not compared as a whole.

    The following figure is a conceptual diagram that shows how HD Pointer Checker checks the index keys when IXKEYCKCHK=YES is specified.

    Figure x. Conceptual diagram: How HD Pointer Checker checks index keys when IXKEYCKCHK=YES
    This keyword is effective when TYPE=ALL, HASH=NO, and IXKEYCHK=YES are specified.
    YES
      Specifies to run the Index Key Check function to check the keys in the primary database that has /CK fields defined and the keys in the associated secondary index databases.
      Secondary index databases and its associated primary databases must be specified on the DATABASE statements.
    NO
      Specifies not to run the Index Key Check function against databases that have /CK fields. This is the default value.


The following tables have been changed:

Summary of index database checking

...

Table 15. Secondary index for non-HALDB
Function HD Pointer Checker processor (FABPMAIN) Single Step HASH Check option run from IMS HP Image Copy HASH Check option run from IMS Parallel Reorganization or IMS Database Reorganization Expert HASH Check option run from IMS Online Reorganization Facility HASH Check option run from IMS Database Recovery Facility
PROCCTL PROC HASH=NO PROCCTL PROC HASH=YES ICEIN HDPC=Y ICEIN HDPC=N ICEIN HDPC=Y or PTRCHECK(Y) ADD PC()
... ... ... ... ... ... ...
Index Key Check
* Validate the key values of the index pointer segments.
Yes
(PROC IXKEYCHK=YES)
(See notes 5 and 8)
... ... ... ... ...
... ... ... ... ... ... ...
Notes:
1. ...
2. ...
...
8. If /CK fields are defined by the SUBSEQ= operand of the XDFLD statement, the Index Key Check is done only when IXKEYCHK=YES and IXKEYCKCHK=YES are specified.

Table 17. Secondary index HALDB (PSINDEX)
Function HD Pointer Checker processor (FABPMAIN) Single Step HASH Check option run from IMS HP Image Copy HASH Check option run from IMS Parallel Reorganization or IMS Database Reorganization Expert HASH Check option run from IMS Online Reorganization Facility HASH Check option run from IMS Database Recovery Facility
PROCCTL PROC HASH=NO PROCCTL PROC HASH=YES ICEIN HDPC=Y ICEIN HDPC=N ICEIN HDPC=Y or PTRCHECK(Y) ADD PC()
... ... ... ... ... ... ...
Index Key Check
* Validate the key values of the index pointer segments.
Yes
(PROC IXKEYCHK=YES)
(See notes 2, 4, and 5)
... ... ... ... ...
... ... ... ... ... ... ...
Notes:
1. ...
2. ...
3. ...
4. The Index Key Check is done only when EPSCHK=YES is also specified.
5. If /CK fields are defined by the SUBSEQ= operand of the XDFLD statement, the Index Key Check is done only when IXKEYCHK=YES and IXKEYCKCHK=YES are specified.


---------------------------------------------
>>> 2.2.3 Output
>>>> 2.2.3.4 STATIPRT data set

The Separator page for DB/DSG reports (Figure 27) has been changed as follows:

Figure 27. STATIPRT--Separator page for DB/DSG reports (General format)


---------------------------------------------
>>>> 2.2.3.6 EVALUPRT data set

The description for the KEY VALUE (HEX) field has been updated as follows:
...
Evaluation of Index Pointers and Keys report
...
KEY VALUE (HEX)
    The key value (in hexadecimal) extracted from database
    SRC=
      The key value extracted from index target database. It is contained in type A (TA) record.
    IDX=
      The key value extracted from index database. It is contained in type 6 or 7 (T6 or T7) record.

    If IXKEYCKCHK=YES is specified and if an error is found in the portion of the index key other than the concatenated key (defined by the /CK operand), this field shows information about the index key in which the error is found. In this case, the concatenated key field is displayed with asterisks (*). For information about how the index keys are checked, see the diagram provided in the IXKEYCKCHK keyword description in 2.2.2.1 FABPMAIN PROCCTL data set.

The following description has been added:

When IXKEYCKCHK=YES is specified on the PROC statement, the report shown in Figure xx is also printed. This report shows information about the portions of the keys that were detected as errors after checking the decomposed keys with their corresponding segment keys in the primary database. If no errors are found, only the header of the report is shown.

The following fields are shown in the report:

DBNAME DB# PARTNAME PART ID REORG# DSG# DSNAME DBORG
    The name of the DBD, the database number (in hexadecimal), the name of the partition, partition ID, partition reorg number, the data set group number (in hexadecimal) or the data set group ID (in an alphabetic character), the name of the data set, and the database organization.
ERROR MESSAGE
    If an error is found while checking the concatenated keys that are defined by /CK fields, this field shows the corresponding error message ID.
TP
    The type of record that is printed on this line. The HD Pointer Checker classifies its work records into types (TK or TL).
TARGET
    This field provides information about the segment in the primary database. The indicated segment is expected to contain the segment key that corresponds to the decomposed key, but the segment key is not found in the segment. The field consists of the following items:
    DB
      The database number (in hexadecimal) that identifies the database that contains the segment.
    DG
      The data set group number (in hexadecimal) that identifies the database that contains the segment.
    SC
      The segment code (in hexadecimal) of the segment.
    SEGNAME
      The name of the segment.
SOURCE
    This field provides information about the index pointer segment that contains the decomposed key, which its corresponding key was not found in the target segment in the primary database. This field consists of the following items:
    DB
      The database number (in hexadecimal) that identifies the database that contains the index pointer segment.
    PID
      The partition ID (in decimal) that identifies the partition that contains the index pointer segment.
    DG
      The data set group number (in hexadecimal) that identifies the database data set that contains the index pointer segment.
    SC
      The segment code (in hexadecimal) of the index pointer segment.
    RBA
      The RBA (in hexadecimal) of the index pointer segment.
    OFST
      The offset (in hexadecimal) from the beginning of the index pointer segment to the start position of the decomposed key.
    KL
      The length (in hexadecimal) of the decomposed key.
VALUE (HEX) OF CK IN SUBSEQUENCE FIELD OF INDEX SEGMENT
    The value (in hexadecimal) of the decomposed key. The decomposed key value is extracted from the subsequence field of the index pointer segment.
TOTALS
    The error or information message issued during this process. The number of messages issued is also shown.


Figure xx. EVALUPRT--Evaluation of Index Pointers and Keys report when IXKEYCKCHK=YES

---------------------------------------------
>> 2.4 Operating instructions for the HD Pointer Checker Site Default Generation utility
>>> 2.4.2 Job control language
>>>> 2.4.2.2 FABPTGEN PROCCTL data set

The IXKEYCKCHK keyword has been added to Table 70 as follows:

Table 70. The keywords available for the site default in the PROC control statement
Keyword System default value of HD Pointer Checker Can specify site default value?
... ... ...
IXKEYCKCHK NO Yes
... ... ...


=================================
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.1 HD Pointer Checker
>>>> 8.1.1.3 Messages

The following messages have been added:

FABP2009W "IXKEYCKCHK=YES" IS VALID ONLY WHEN IXKEYCHK=YES IS SPECIFIED

Explanation: IXKEYCKCHK=YES was specified on the PROC statement. However, HD Pointer Checker did not run the Index Key Check function because IXKEYCHK=NO was specified. When IXKEYCKCHK=YES is specified, IXKEYCHK=YES must also be specified.
System Action: Processing continues as IXKEYCKCHK=NO.
User Response: If you want to run the Index Key Check function, specify IXKEYCHK=YES on the PROC statement.
Problem Determination : None.


FABP2033E THE TARGET SEGMENT THAT CONTAINS THE KEY WAS NOT FOUND

Explanation: A concatenated key, which is defined by a /CK field, was found in the subsequence field of the index pointer segment in the secondary index database. HDPC decomposed the concatenated key into the segment level to check the decomposed keys against the corresponding keys of the target segment, but the target segment that has the key was not found in the primary database. This key is printed in the Evaluation of Index Pointers and Keys report.
User response: The database is corrupted. Repair the database and rerun the HD Pointer Checker job.
Problem determination: See "Database repair guidelines".


FABP3609E SORT FOR CHECKING THE CK OF THE INDEX KEY FAILED

Explanation: DFSORT ended abnormally or returned a non-zero return code. An internal sort error occurred in the process indicated in the message.
System action: HD Pointer Checker issues a USER 3609 abend.
User response: Check the message in the SYSOUT nn data set generated by DFSORT, take necessary actions, and rerun HD Pointer Checker.
Problem determination: Check the SYSOUT nn for any run-time errors. Register 15, at an abend, contains the abend code or return code of DFSORT.


The following message description has been changed:

FABP2072W INDEX KEY CHECK NOT ALLOWED FOR DBNAME: dbdname REASON: MISSING PRIME DB STATEMENT
FABP2072W INDEX KEY CHECK NOT ALLOWED FOR DBNAME: dbdname REASON: /CK FIELD IS SPECIFIED
FABP2072W INDEX KEY CHECK NOT ALLOWED FOR DBNAME: dbdname REASON: "SPIXCHK=NO" IS SPECIFIED
FABP2072W INDEX KEY CHECK NOT ALLOWED FOR DBNAME: dbdname REASON: "EPSCHK=NO" IS SPECIFIED
FABP2072W INDEX KEY CHECK NOT ALLOWED FOR DBNAME: dbdname REASON: "IXKEYCKCHK=YES" IS NOT SPECIFIED

Explanation: The index key checking option is not effective for the indicated database dbdname for the reason given.
System action: Processing continues as if IXKEYCHK=NO is specified for the indicated database dbdname.
User response: If you did not specify the DATABASE statement for the primary database, correct the error and rerun the HD Pointer Checker job.
If you want to run the Index Key Check function for the databases that have /CK fields, run the HD Pointer Checker job with HASH=NO, IXKEYCHK=YES, and IXKEYCKCHK=YES options.
If you did not specify SPIXCHK=YES, EPSCHK=YES, or IXKEYCKCHK=YES option, rerun the HD Pointer Checker job by specifying one or more of these options.
Problem determination: Index databases and associated primary databases must be specified by the succeeding DATABASE statements. None.



Update 11
Date of change: September 2012
Change description: User's Guide update
Topics: Changes apply to the following multiple topics.

> 2.0 HD Pointer Checker
>> 2.1 Overview of HD Pointer Checker
>>> 2.1.4 Restrictions and considerations

The following change has been made:

Restrictions
The following data sets are not supported:
    • ...
    • Extended-format striped VSAM data set

=================================
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.4 Space Monitor
>>>> 8.1.4.3 Messages

The explanation section of the following messages have been modified as follows:

FABK0036I SOME INFORMATION IS NOT REPORTED BECAUSE THE DATA SET IS A STRIPED DATA SET: dsname

Explanation: Space Monitor found that the data set identified by dsname is a striped VSAM data set. Some fields of the reports cannot be printed because striped VSAM data sets are not supported.
System action: Processing continues.
User response: None.

FABK0037I NUMBER SIGNS # ARE PRINTED IN THE FIELDS WHERE INFORMATION IS NOT REPORTED

Explanation: This message is preceded by one or more FABK0036I messages. For the striped VSAM data set that is identified by the FABK0036I message, some fields of the reports cannot be printed. For these fields, number signs (#) are printed.
System action: Processing continues.
User response: None.



Update 10
Date of change: June 2012
Change description: Documentation changes by APAR PM64745. This APAR enhances HD Pointer Checker to support IMS catalog databases.

Topics:
> 1.0 Introduction and product setup
>> 1.1 Overview of IMS HP Pointer Checker
>>> 1.1.5 Functional enhancements in IMS HP Pointer Checker Version 3
>>>> 1.1.5.1 HD Pointer Checker

The following new function has been added:

By APAR PM64745, HDPC has been enhanced to support IMS catalog databases. You can run HDPC stand-alone jobs to check the pointers in IMS catalog databases. For more information about coding JCL to process IMS catalog databases, see FABPMAIN JCL on page xx.

=================================
> 2.0 HD Pointer Checker
>> 2.1 Overview of HD Pointer Checker
>>> 2.1.4 Restrictions and considerations

The following item has been added:

Consideration for processing IMS catalog databases:
When you run HD Pointer Checker in a ULU region with DBRC=N for an IMS catalog database that is not registered in the RECON data set, specify DFSCD000 for the DBD name for the IMS catalog database. For example:


If you define an alias name for the IMS catalog database, specify the alias name instead of DFSCD000.

For more information, see the description for the HD Pointer Checker EXEC statement in "EXEC statement" on page xx.

---------------------------------------------
>> 2.2 Operating instructions for the HD Pointer Checker processor
>>> 2.2.1 Job control language
>>>> 2.2.1.1 FABPMAIN JCL

EXEC statement

The description of the EXEC statement has been changed as follows:

...

psbname
    Specifies the PSB name that contains the PCB of the processing databases. The PSB name must be defined as a PSB with LANG=ASSEM, LANG=COBOL, or LANG=PL/I. It must refer directly or indirectly to all input databases. The PSB, in which less than 2,500 of database data sets are referred to, can be used in the HD Pointer Checker run.

    To process an IMS catalog database, specify one of the IMS catalog PSBs (DFSCP000, DFSCP001, or DFSCP002) that are provided by IMS.
    ...

    Considerations for processing IMS catalog databases:
    When the IMS catalog database to be processed is registered in RECON and if alias is not defined for that database, you can run HD Pointer Checker for that IMS catalog database in the same manner as running for HALDBs.

    When you run HD Pointer Checker for an IMS catalog database that is not registered in the RECON data set or that has an alias defined for, specify the DFSDF= parameter for the PARM= parameter. The DFSDF= parameter must be specified inside the parentheses. The value must be the 3-character suffix ( xxx) of the DFSDF xxx member (in IMS.PROCLIB data set) that contains the names of unregistered IMS catalog databases. For example:


    When you run HD Pointer Checker in a ULU region with DBRC=N for an IMS catalog database that is not registered in the RECON data set, specify DFSCD000 for the DBD name for the IMS catalog database. For example:

    If you define an alias name for the IMS catalog database, specify the alias name instead of DFSCD000.

    If you specify the library that contains the Catalog Definition exit routine (DFS3CDX0) to the STEPLIB DD statement, the DFSDF= xxx parameter can be omitted.


DD statements

The description of STEP LIB DD has been changed as follows:

STEPLIB DD
This DD defines the following input data sets:
  • The IMS HP Pointer Checker production library or the IMS Database Solution Pack library (SHPSLMD0 data set, which includes IMS HP Pointer Checker) (mandatory)
  • IMS RESLIB (mandatory)
  • The library that contains the partition selection exit routine (optional)
  • The library that contains DFSMDA members for dynamic allocation (optional)
  • The library that contains the DBRC SCI Registration exit routine (optional)
  • The library that contains the Catalog Definition exit routine (optional)
    Note: This library can be optionally used when processing IMS catalog databases. See "Considerations for processing IMS catalog databases" in "EXEC statement" on page xx.


The following description has been added:

DFSHDBSC DD
This optional input data set is the IMS catalog partition definition data set. When you run HD Pointer Checker for an IMS catalog database that is not registered in the RECON data set, you must specify the data set in which the IMS catalog database is defined. If the DFSHDBSC data set is allocated dynamically by the DFSMDA macro, this DD statement can be omitted.

PROCLIB DD
This optional input data set is the IMS PROCLIB data set. When you specify the DFSDF= xxx parameter in parentheses of the PARM= on the EXEC statement, you must specify the IMS PROCLIB data set that contains the DFSDF xxx member.


=================================
> 6.0 DB Segment Restructure
>> 6.1 Overview of DB Segment Restructure
>>>6.1.5 Restrictions and considerations

The following restriction item has been added:

DB Segment Restructure does not support IMS catalog databases.

=================================
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.1 HD Pointer Checker
>>>> 8.1.1.3 Messages

The following message descriptions have been changed:

FABP2062E DBD NAME SPECIFIED IN "DB" PARAMETER NOT FOUND IN DMB

Explanation: The dbdname in the DB parameter or PRIMEDB parameter on the control statement is not present in the IMS DMB control block.
With dynamic PSB generation, this error message also appears if you specify a database whose DBD member does not exist in the IMS data set.
If the processing database is an IMS catalog database and the dbdname is an alias name of the IMS catalog database, this message indicates that the Catalog Definition exit routine (DFS3CDX0) is not found in the STEPLIB DD concatenation or that DFSDF= xxx is not specified on the EXEC statement of the HD Pointer job step.
System Action: Processing stops.
User Response: Correct the error, and rerun the HD Pointer Checker job.
Problem Determination: You may have entered the dbdname incorrectly on your control statement. It is also possible that you used the wrong PSB name on the EXEC statement PARM. (You can also get this error by running HD Pointer Checker under a different release of IMS than the one used to install IMS HP Pointer Checker.)
If the dbdname is an alias name of the IMS catalog database, add the library that contains the Catalog Definition exit routine (DFS3CDX0) to the STEPLIB DD concatenation or specify DFSDF= xxx in the PARM= parameter on the EXEC statement of the HD Pointer job step.
If this error resulted when an unrelated database was encountered on a control statement, remove the DATABASE statements that are not logically related to the first DATABASE statement. Put these statements, if related to each other, in a separate job and run it separately.


FABP2098E DBRC IS REQUIRED TO PROCESS HALDB DB: dbdname

Explanation: If the processing database is a HALDB or an IMS catalog database that is registered in the RECON data set, DBRC must be activated. However, DBRC was not active.
This error message also appears if the processing database is an unregistered IMS catalog database, and if the Catalog Definition exit routine (DFS3CDX0) is not found in the STEPLIB DD or DFSDF= xxx is not specified on the EXEC statement.
System Action: Processing stops.
User Response: If the processing database is a HALDB or an IMS catalog database that is registered in the RECON data set, specify Y for the 14th parameter on the EXEC statement of the HD Pointer job step. For example:


If the processing database is an unregistered IMS catalog database, specify the library that contains the Catalog Definition exit routine (DFS3CDX0), which the unregistered IMS catalog database names are defined in, to the STEPLIB DD statement. Alternatively, specify DFSDF= xxx for the 27th parameter on the EXEC statement of the HD Pointer job step. DFSDF= specifies the 3-character suffix xxx of the DFSDF xxx member that specifies the unregistered IMS catalog database names. For example:

Problem Determination: None.


FABP3996E UNABLE TO BUILD CONTROL BLOCKS FOR DBD: dbdname

Explanation: HD Pointer Checker requested construction of control blocks for Full Function Database. The request was not successfully completed.
System Action: HD Pointer Checker issues a USER 3996 abend.
User Response: Make sure that a valid DBD or RECON data set exists for the named database.
If the processing database is an IMS catalog database that is registered in the RECON data set, specify Y for the 14th parameter on the EXEC statement of the HD Pointer job step. For example:


If the processing database is an IMS catalog database that is not registered in the RECON data set, specify the library that contains the Catalog Definition exit routine (DFS3CDX0), which the unregistered IMS catalog database names are defined in, to the STEPLIB DD statement or specify DFSDF= xxx for the 27th parameter on the EXEC statement of the HD Pointer job step. DFSDF= specifies the 3-character suffix xxx of the DFSDF xxx member that specifies the unregistered IMS catalog database names. For example:

Then correct the error and rerun the job.
Problem Determination: None.


The following message has been added:

FABP3865E AN IMS CATALOG PSB IS REQUIRED TO PROCESS IMS CATALOG: dbdname

Explanation: HD Pointer Checker attempted to process the IMS catalog database in a DLI or DBB region. However, an IMS catalog PSB was not specified in parentheses of the PARM= parameter on the EXEC statement.
System Action: HD Pointer Checker issues a USER 3865 abend.
User Response: Specify an IMS catalog PSB (DFSCP000, DFSCP001, or DFSCP002) that is provided by IMS and rerun the job.
Problem Determination: None.




Update 9
Date of change: May 2012
Change description: Documentation changes by APAR PM61429. This APAR enables HD Pointer Checker to detect duplicate ILKs.
Topics: Changes apply to multiple topics.

> 1.0 Introduction and product setup
>> 1.1 Overview of IMS HP Pointer Checker
>>> 1.1.5 Functional enhancements in IMS HP Pointer Checker Version 3
>>>> 1.1.5.1 HD Pointer Checker

The following description has been added:

APAR PM61429 enables HDPC to check whether HALDB partition reorganization numbers are corrupted and whether incorrect ILKs exist. HALDB partition reorganization numbers can become corrupted by inappropriate reorganization procedures, and ILKs can become incorrect by corrupted HALDB partition reorganization numbers. A new keyword, DUPILKCHK=YES, can be specified on the PROC statement to enable this check. For more information, see "PROC statement".

=================================
> 2.0 HD Pointer Checker
>> 2.1 Overview of HD Pointer Checker
>>> 2.1.1 Program functions
>>>> 2.1.1.1 Detecting errors in a database

The following description has been added:

HALDB Duplicate ILKs Checking
    HDPC checks whether HALDB partition reorganization numbers are corrupted and whether incorrect ILKs exist. HALDB partition reorganization numbers can become corrupted by inappropriate reorganization procedures, and ILKs can become incorrect by corrupted HALDB partition reorganization numbers.

---------------------------------------------
>> 2.2 Operating instructions for the HD Pointer Checker processor
>>> 2.2.2 Input
>>>> 2.2.2.1 FABPMAIN PROCCTL data set

PROC statement

The DUPILKCHK keyword has been added to Figure 12 as follows:

Figure 12. PROC statement syntax

The following description has been added:

DUPILKCHK=
    Specifies to check whether HALDB partition reorganization numbers are corrupted and whether incorrect ILKs exist. HALDB partition reorganization numbers can become corrupted by inappropriate reorganization procedures, and ILKs can become incorrect by corrupted HALDB partition reorganization numbers.

    This keyword can be specified if TYPE=ALL or TYPE=SCAN is specified. When HASH=NO and EPSCHK=YES are specified, this keyword is effective.

    YES
      Specifies to check whether HALDB partition reorganization numbers are corrupted and whether incorrect ILKs exist.

    NO
      Specifies not to check HALDB partition reorganization numbers and ILKs. This is the default.

    Consider specifying DUPILKCHK=YES if any of the following conditions is met:
    • If a HALDB has logical relationships or secondary indexes (PSINDEXes).
    • If the database was being used without the HALDB reorganization number verification function.
      Especially, after performing one or more of the following tasks, consider specifying DUPILKCHK=YES:
      • Initialize the partitions of the HALDB after the partitions were used.
      • Add partitions to the HALDB.
      • Change a high key that defines a boundary between partitions of the HALDB.
      The HALDB reorganization number verification function is activated by specifying the REORGV parameter on the INIT.RECON command or the CHANGE.RECON command. If the REORGV parameter is not specified on these commands, the default, which is HALDB reorganization number verification deactivated, is used.
    • If you encounter errors that are related to indirect list data set (ILDS) during a HALDB reorganization and if you want to analyze the cause of the errors.

    For information about the HALDB partition reorganization number and how it can become corrupted, see the topic "HALDB partition reorganization numbers" in the IMS Database Administration Guide.


    When this check is enabled, HDPC processes the HALDB, its indirect list data sets (ILDS), and its related databases, which includes logically related databases and PSINDEXes, and detects the following incorrect ILKs:

    Duplicate ILKs
      If the HALDB partition reorganization number becomes corrupted and if the database was continuously used under such condition, ILKs might become duplicated. If you reorganize a database that has duplicate ILKs, either the reorganization fails or the data that has the duplicate ILK becomes inaccessible. HDPC detects duplicate ILKs to prevent such conditions.

    Incorrect ILKs that occur due to corrupted HALDB partition reorganization number
      If a HALDB is reorganized appropriately, the partition reorganization number in an ILK is equal to or lower than the HALDB partition reorganization number of the partition. However, if a HALDB is reorganized by inappropriate reorganization procedures, the HALDB partition reorganization number of the partition might become corrupted. In that case, the partition reorganization number in an ILK might become greater than the HALDB partition reorganization number of the partition. If a HALDB is continuously used under such condition, ILKs whose partition reorganization number is greater than the HALDB partition reorganization number of the partition can become duplicated. HDPC refers such ILKs as potentially duplicate ILKs. HDPC detects potentially duplicate ILKs and also detects, for each partition, what reorganization number of the partition should be. You can figure out the appropriate reorganization number of the partition from the Reorganization Number Information part of the Evaluation of ILKS report.

    As described in the topic "HALDB partition reorganization numbers" in the IMS Database Administration Guide, these two types of incorrect ILKs do not cause immediate problems. However, if you later reorganize the database partitions, the reorganization fails or you are likely to lose data.

    When HDPC detects these types of ILKs, it reports them as errors and prints the details in the Evaluation of ILKS report (the Duplicate ILKs Information part and the Reorganization Number Information part). These ILKs cannot be repaired by the standard IMS recovery methods or by reorganizing the database. Reorganizing a database that has such ILKs can cause database corruption, therefore, before reorganizing the database, repair these ILKs and the corrupted reorganization number of the partition.

    Considerations for specifying HALDBs and HALDB partitions on DATABASE statements
      To ensure that all the incorrect ILKs are detected, specify both the HALDB database and its related databases, which are the logically related databases and the PSINDEXes, on the DATABASE statement.
      Notes:
      • If a HALDB contains only the target segments of unidirectional logical relationships, PSINDEXes, or both, and if you specify to check only several partitions, HDPC quickly checks duplicate ILKs within the specified partitions. When the number of partitions is limited, the job runs faster, but HDPC cannot accurately determine whether the HALDB partition reorganization numbers are corrupted and whether potentially duplicate ILKs exist within the entire HALDB. Therefore, if you want to ensure that all the incorrect ILKs are detected, specify all the partitions of the HALDB.
      • If you are planning to add partitions, delete partitions, or change boundaries between partitions during a reorganization of a HALDB, you must detect all the incorrect ILKs prior to the reorganization even if the HALDB contains only the target segments of unidirectional logical relationships, PSINDEXes, or both. To ensure that all the incorrect ILKs are detected, specify all the partitions of the HALDB.

---------------------------------------------
>>> 2.2.3 Output
>>>> 2.2.3.4 STATIPRT data set

Separator page for DB/DSG reports

The Separator page for DB/DSG reports (Figure 27) has been changed as follows:


Figure 27. STATIPRT--Separator page for DB/DSG reports (General format)

---------------------------------------------
>>>> 2.2.3.8 EVALIPRT data set

Evaluation of ILKS report

The following description has been added:

When DUPILKCHK=YES is specified on the PROC statement, the following ILK information (see Figure xx) is printed for each PHDAM or PHIDAM database that contains the target segments of a logical relationship or a secondary index (PSINDEX). If a duplicate ILK or a potentially duplicate ILK is detected, message FABP2147E or FABP2148E is printed in this report.

The following fields are shown in this report when DUPILKCHK=YES is specified:

DBNAME DB#
    The name of the DBD and the database number (in hexadecimal).

DUPLICATE ILKS INFORMATION:
    This part shows information about duplicate ILKs or potentially duplicate ILKs.

The report fields of the Duplicate ILKs Information part are as follows:

ERROR MESSAGE
    If a duplicate ILK or a potentially duplicate ILK was found, this field shows the corresponding message ID.

TP
    The type of the record that is printed on this line. The HD Pointer Checker classifies its work records into types (T1, T3, and T6).

ILK VALUE(HEX)
    ILK value (in hexadecimal) in the prefix portion of the target segment or in the EPS of the source segment.
    If message FABP2147E is printed in the ERROR MESSAGE field, this field shows the duplicate ILK. If message FABP2148E is printed in the ERROR MESSAGE field, this field shows the potentially duplicate ILK.

TARGET
    This field provides information about the pointer target of EPS. It consists of five items:
    DB
      The database number (in hexadecimal) that identifies the database containing the target of EPS.

    PID
      The partition ID (in decimal) that identifies the partition containing the target of EPS.

    DG
      The data set group ID (in an alphabetic character) that identifies the database data set containing the target of EPS.

    SC
      The segment code (in hexadecimal) of the target of EPS.

    RBA
      The relative byte address (in hexadecimal) of the target of EPS.
SOURCE
    The segment that contains the EPS (also called the source of the EPS). It consists of five items:
    DB
      The database number (in hexadecimal) that identifies the database containing the segment that contains the EPS.

    PID
      The partition ID (in decimal) that identifies the partition containing the segment that contains the EPS.

    DG
      The data set group ID (in an alphabetic character) that identifies the database data set containing the segment that contains the EPS.

    RBA
      The relative byte address (in hexadecimal) of the segment that contains the EPS.

    SC
      The segment code (in hexadecimal) of the segment that contains the EPS.
PTR
    The type of pointer that resides in the EPS.


REORG# INFORMATION:
    This part shows information about the partitions whose partition reorganization number is corrupted. This part is printed only when duplicate ILKs or potentially duplicate ILKs are detected.

The report fields of the Reorganization Number Information part are as follows:

PARTITION NAME
    The name of the partition.

MAX REORG# OF ILK
    The maximum partition reorganization number among all the ILKs that contain the partition ID of this partition.

REORG# OF PARTITION
    The partition reorganization number that is stored in the partition data set of this partition.
    The partition reorganization number must be greater than the maximum partition reorganization number among all the ILKs that contain the partition ID of this partition.

TOTALS
    The error message issued during the Duplicate ILKs Check process. The number of the messages is also given.



Figure xx. EVALIPRT--Evaluation of ILKS report (Part 2 of 2)

---------------------------------------------
>> 2.4 Operating instructions for the HD Pointer Checker Site Default Generation utility
>>> 2.4.2 Job control language
>>>> 2.4.2.2 FABPTGEN PROCCTL data set

PROC control statement

The DUPILKCHK keyword has been added to the following table:

Table 70. The keywords available for the site default in the PROC control statement
Keyword System default value of HD Pointer Checker Can specify site default value?
... ... ...
DUPILKCHK NO Yes
... ... ...

=================================
> 2.9 Database repair guidelines
>> 2.9.2 How a database can become corrupted

The following topic has been added:

Improper reorganization procedures

Using improper reorganization procedures is a common way that databases get damaged. In this case, generally, you can recover the database from the image copy that was taken before the reorganization.

However, when a HALDB is reorganized by improper reorganization procedures, reorganization number in the partition can become corrupted or ILKs can become incorrect. For example, if the HALDB reorganization number verification function is not enabled and either a reorganization fails to increment the reorganization number of a partition correctly or a segment that has a low reorganization number in its EPS is moved into a partition and lowers the reorganization number of the destination partition, reorganization numbers can become corrupted.

In this case, you cannot repair the corrupted partition reorganization numbers by using the standard IMS recovery methods. For more information, see the description of the DUPILKCHK keyword in "PROC statement".

=================================
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.1 HD Pointer Checker
>>>> 8.1.1.3 Messages

The following messages have been added:

FABP1505E nnnnnnn ERRORS FOUND IN DUPLICATE ILK CHECK OF DB: dbname TIME= hh. mm. ss

Explanation: The Duplicate ILK Check process for the indicated database completed at the indicated time. nnnnnnn shows the number of errors that were reported.
System Action: Processing continues.
User Response: Repair the database, and rerun the HD Pointer Checker job.
Problem Determination: See the Evaluation of ILKS report for the indicated database and check the error message FABP2147E, FABP2148E, or FABP2149E in the report.


FABP2019W DUPLICATE ILKS CANNOT BE CHECKED WITH EPSCHK=NO

Explanation: DUPILKCHK=YES is specified on the PROC statement. However, HD Pointer Checker did not check duplicate ILKs in the HALDB because EPSCHK=NO is also specified.
System Action: Processing continues without the Duplicate ILKs Check process.
User Response: If you want to check duplicate ILKs in the HALDB, specify EPSCHK=YES in the PROC statement.
Problem Determination: None.


FABP2147E DUPLICATE ILKS WERE FOUND IN THE DATABASE

Explanation: The database is damaged. Duplicate ILKs were found in this database. A ILK must be unique for a segment type across an entire database.
System Action: Processing continues.
User Response: See the description in the DUPILKCHK keyword in "PROC statement" and "Database repair guidelines". Repair the duplicate ILKs so that ILKs become unique for the segment type across the entire database and rerun the HD Pointer Checker job.
Problem Determination: An ILK must be unique for a segment type across an entire database.


FABP2148E POTENTIAL DUPLICATE ILK WAS FOUND IN THE DATABASE

Explanation: A potentially duplicate ILK was found in this database. For information about potentially duplicate ILKs, see the description in the DUPILKCHK keyword in "PROC statement".
This message is issued along with message FABP2149E. Also see the description of messages FABP2149E.
System Action: Processing continues.
User Response: See the description in the DUPILKCHK keyword in "PROC statement" and "Database repair guidelines".
You do not need to repair the ILK and the segment that has the ILK, but must repair the partition reorganization number in the partition data set. Correct the partition reorganization number in the partition data set and rerun the HD Pointer Checker job.
Problem Determination: See the description of messages FABP2149E.


FABP2149E MAX REORG# OF ILK >= REORG# OF PARTITION

Explanation: The maximum partition reorganization number among all the ILKs that contain the partition ID of this partition is equal to or greater than the partition reorganization number that is stored in the partition data set of the partition. The partition reorganization number in the partition data set is corrupted. For more information, see the attention note in the topic "HALDB partition reorganization numbers" in the IMS Database Administration Guide.
System Action: Processing continues.
User Response: See the Reorganization Number Information part of the Evaluation of ILKS report and identify the partition whose reorganization number is corrupted. Then determine the correct partition reorganization number.
Repair the corrupted partition reorganization number in the partition data set and rerun the HD Pointer Checker job.
Problem Determination: None.


FABP3609E SORT FOR DUPLICATE ILK CHECK FAILED

Explanation: DFSORT ended abnormally or returned a non-zero return code. An internal sort error occurred in the process indicated in the message.
System Action: HD Pointer Checker issues a USER 3609 abend.
User Response: Check the message in the SYSOUT nn data set generated by DFSORT, take necessary actions, and rerun HD Pointer Checker.
Problem Determination: Check the SYSOUT nn for any run-time errors. Register 15, at an abend, contains the abend code or return code of DFSORT.

The User response section of the following message has been modified:

FABP2052W DB: dbdname DB#: nnn IS NOT SPECIFIED IN DATABASE STATEMENT FOR LOGICALLY RELATED DB DBLG#: xxx

Explanation: Multiple databases of the logically related database group xx was specified on the DATABASE statement, the indicated database dbdname (database number: nnn) was not specified on a DATABASE statement. This message is also issued when the database type specified on DBORG parameter prevents the indicated database dbdname (database number: nnn) from being processed, even if the database was specified on a DATABASE statement.
Logical pointers, index pointers, or EPSs between the indicated database dbdname and the logically related database are not checked. These pointers must be checked in other HD Pointer Checker jobs.
System Action: Processing continues.
User Response: Consider processing all logically related databases to check logical pointers, index pointers, or EPSs. If you omit a database, you are taking a risk that errors will go undetected.
If duplicate ILKs or potentially duplicate ILKs were detected in the related database group, also consider processing all related databases to identify the source segments that contain the duplicate ILK or the potentially duplicate ILK.
Problem Determination: None.



Update 8
Date of change: February 2012
Change description: User's Guide update.
Topics:
> 1.0 Introduction and product setup
>> 1.2 Installing and configuring IMS HP Pointer Checker V3
>>> 1.2.4 Configuring the environment to store reports in IMS Tools KB

Step 1 has been modified as follows:

1. Register IMS HP Pointer Checker with IMS Tools Knowledge Base.
    The registration process defines IMS HP Pointer Checker reports to IMS Tools Knowledge Base so that IMS HP Pointer Checker reports can be stored in the IMS Tools Knowledge Base repository.

    Use the IMS Tools Knowledge Base product administration utility (HKTAPRA0) to register IMS HP Pointer Checker with IMS Tools Knowledge Base as described in the Tools Base IMS Tools Knowledge Base User's Guide. The product definition table for registering IMS HP Pointer Checker is FABPITKB. Follow the instructions in topic "Registering IMS Tools products by using the product's definition table".

    Run the FABPIRG1 JCL to register IMS HP Pointer Checker and its reports. The IMS HP Pointer Checker load module library (SHPSLMD0) must be the first STEPLIB concatenation. If not, some reports are not registered although the job ends normally with RC=00. You can run this JCL multiple times to register all the reports that can be stored in the repository. For details about the reports that can be stored in the IMS Tools Knowledge Base repository, see Report reference for HD Pointer Checker.

    Figure "Sample JCL for registering IMS HP Pointer Checker and its reports" (Figure 1 in PDF and BookManager formats) has been deleted.
    The following figure shows the sample FABPIRG1 JCL.

    Figure 1. Sample JCL for registering IMS HP Pointer Checker and its reports

    The IMS Tools Knowledge Base product administration utility (HKTAPRA0) is invoked by the FABPIRG1 JCL. For more information about the utility, see the IMS Tools Base: IMS Tools Knowledge Base User's Guide or the IMS Tools Knowledge Base User's Guide.

    Note: Even if you are migrating from prior versions of IMS HP Pointer Checker, you need to register the new version of the product.

    Tip: IMS HP Pointer Checker provides a sample JCL (FABPIRG1 JCL). You can use this JCL to register IMS HP Pointer Checker with IMS Tools Knowledge Base.

    After you register IMS HP Pointer Checker with IMS Tools Knowledge Base, follow the instructions in topic "Listing registered products and reports" in the Tools Base IMS Tools Knowledge Base User's Guide to list the registered products and reports, and ensure that IMS HP Pointer Checker (product ID is DP) has been added.

2. ...



Update 7
Date of change: December 2011
Change description: Documentation changes by APAR PM50160. This APAR enables the following options:
  • HD Pointer Checker to call the Integrated DB Sensor function
  • Space Monitor called from HD Pointer Checker to monitor VSAM data sets of online databases
  • Space Monitor to monitor space utilization of a non-VSAM data set on an EAV
Topics:
> 1.0 Introduction and product setup
>> 1.1 Overview of IMS HP Pointer Checker
>>> 1.1.1 IMS HP Pointer Checker terminology

The following entries are added to the Product short names table:

Table 1. Product short names
Product short names Product name
Autonomics Director IBM Tools Base Autonomics Director for z/OS, Version 1 Release 3 (Program number: 5655-V93)
DB Sensor Database Sensor component in IBM IMS Database Solution Pack for z/OS, Version 1 Release 2
IMS Database Reorganization Expert The generic name for one of the following products:
  • IBM IMS Database Solution Pack for z/OS, Version 1 Release 1 or higher: IMS Database Reorganization Expert (Program number: 5655-S35)
  • IBM IMS Database Reorganization Expert for z/OS, Version 4 Release 1 (Program number: 5655-S35)
IMS Database Solution Pack IBM IMS Database Solution Pack for z/OS, Version 1 Release 1 or higher (Program number: 5655-S77)
IMS HP Image Copy or IMS HPIC The generic name for one of the following products:
  • IBM IMS Database Solution Pack for z/OS, Version 1 Release 1 or higher: IMS High Performance Image Copy (Program number: 5655-N45)
  • IBM IMS High Performance Image Copy for z/OS, Version 4 Release 1 or higher (Program number: 5655-N45)
IMS HP Pointer Checker The generic name for one of the following products:
  • IBM IMS Database Solution Pack for z/OS, Version 1 Release 1 or higher: IMS High Performance Pointer Checker (Program number: 5655-U09)
  • IBM IMS High Performance Pointer Checker for z/OS, Version 3 Release 1 (Program number: 5655-U09)
IMS Library Integrity Utilities or IMS LIU The generic name for one of the following products:
  • IBM IMS Database Solution Pack for z/OS, Version 1 Release 1 or higher: IMS Library Integrity Utilities (Program number: 5655-U08)
  • IBM IMS Library Integrity Utilities for z/OS, Version 2 Release 1 (Program number: 5655-U08)
Tools Base The generic name for one of the following products:
  • IBM Tools Base for z/OS, Version 1 Release 2 or higher (Program number: 5655-V93)
  • IBM IMS Tools Base for z/OS, Version 1 Release 1 (Program number: 5655-V93)
IMS Tools Online System Interface or TOSI IBM Tools Base IMS Tools Online System Interface for z/OS, Version 1 Release 3 (Program number: 5655-V93)


---------------------------------------------
>>> 1.1.5 Functional enhancements in IMS HP Pointer Checker Version 3
>>>> 1.1.5.1 HD Pointer Checker

The following description has been added:

APAR PM50160 enables the Integrated DB Sensor function for HD Pointer Checker. You can collect sensor data and store the data in the IMS Tools KB Sensor Data repository within HD Pointer Checker jobs. For more information, see "Collecting sensor data with Integrated DB Sensor" in topic 2.1.1.9.

This APAR also enables the Space Monitor process that is called from HD Pointer Checker to monitor the latest space utilization of VSAM data sets of online full-function databases through IMS Tools Online System Interface. For more information, see "Space Monitor" in topic 2.1.1.7.

---------------------------------------------
>>>> 1.1.5.3 Space Monitor

The following description has been added:

APAR PM50160 enables you to monitor space utilization of a non-VSAM data set that is allocated on an extended address volume (EAV).

---------------------------------------------
>>> 1.1.6 IMS HP Pointer Checker documentation and updates
>>>> 1.1.6.3 Related publications

The following IMS Tools publications have been added to the table:
  • IBM IMS Solution Packs: Database Sensor User's Guide (SC19-3283)
  • IBM Tools Base IMS Tools Common Services for z/OS, Version 1 Release 2 User's Guide (SC19-3266)
  • IBM Tools Base IMS Tools Common Services for z/OS, Version 1 Release 3 User's Guide (SC19-3396)
  • IBM Tools Base IMS Tools Knowledge Base for z/OS, Version 1 Release 2 User's Guide (SC19-3267)
  • IBM Tools Base IMS Tools Knowledge Base for z/OS, Version 1 Release 3 User's Guide (SC19-3397)
  • IBM Tools Base Policy Services for z/OS, Version 1 Release 3, User's Guide (SC19-3399)
  • IBM Tools Base Autonomics Director for z/OS, Version 1 Release 3, User's Guide (SC19-3265)
  • IBM Tools Base Administration Console for z/OS, Version 1 Release 3, User's Guide (SC19-3264)

---------------------------------------------
>> 1.2 Installing and configuring IMS HP Pointer Checker V3
>>> 1.2.1 Processing environment
>>>> 1.2.1.1 Software requirements

The Software requirements topic has been updated as follows:

IMS HP Pointer Checker for z/OS, Version 3 Release 1 operates in z/OS Version 1 Release 8 (5694-A01) or later.
IMS HP Pointer Checker for z/OS, Version 3 requires the currently supported versions of IMS.
HD Pointer Checker, Space Monitor, and HD Tuning Aid additionally require DFSORT (Data Facility Sort), which is a part of z/OS, or a functionally equivalent sort and merge program.
HD Pointer Checker requires the following products:
  • To use the MAPDBD or the DECODEDBD functions, you need one of the following products:
    • IBM IMS Library Integrity Utilities for z/OS, Version 2 Release 1 (5655-U08)
    • IMS Library Integrity Utilities (5655-U08) in IBM IMS Database Solution Pack for z/OS, Version 1 Release 1 or later
  • To use the full-function database HASH Check option with image copy job, you need one of the following products:
    • IBM IMS High Performance Image Copy for z/OS, Version 4 Release 1 or Release 2 (5655-N45)
    • IMS High Performance Image Copy (5655-N45) in IBM IMS Database Solution Pack for z/OS, Version 1 Release 1 or later
  • To use the HASH Check option in the IMS Parallel Reorganization job, you need IBM IMS Parallel Reorganization for z/OS, Version 3 Release 2 (5655-M28).
  • To use the HASH Check option in the IMS Database Reorganization Expert job, you need one of the following products:
    • IBM IMS Database Reorganization Expert for z/OS, Version 4 Release 1 (5655-S35)
    • IMS Database Reorganization Expert (5655-S35) in IBM IMS Database Solution Pack for z/OS, Version 1 Release 1 or later
  • To use the HASH Check option in the IMS Online Reorganization Facility job, you need IBM IMS Online Reorganization Facility for z/OS, Version 1 Release 2 (5655-H97).
  • To use the HASH Check option in IMS Database Recovery Facility, you need IBM IMS Recovery Solution Pack for z/OS, Version 1 Release 1 (5655-V84).
  • To use the Integrated DB Sensor function, you need Database Sensor that is included in IBM IMS Database Solution Pack for z/OS, Version 1 Release 2 (5655-S77)

DB Historical Data Analyzer additionally requires GDDM-PGF, which is a part of z/OS, to optionally produce charts on a display terminal.
Export Utility can process the historical records created by HD Pointer Checker that was run in the following environment:
  • IMS HP Pointer Checker Version 2 Release 1 or Release 2 (5655-K53), or Version 3 Release 1 (5655-U09)
  • IMS HP Image Copy Version 3 Release 2 (5655-K96) or later
  • IMS HP Image Copy Version 4 Release 1 (5655-N45) or later
  • IMS Parallel Reorganization Version 3 Release 1 (5655-M28) or later
  • IMS Database Reorganization Expert Version 4 Release 1 (5655-S35)

HD Pointer Checker and Space Monitor additionally require one of the following products to store reports in the IMS Tools KB Output repository:
  • IBM IMS Tools Knowledge Base for z/OS, Version 1 Release 1 (5655-R34)
  • IBM IMS Tools Base for z/OS, Version 1 Release 1: IMS Tools Knowledge Base (5655-V93)
  • IMS Tools Knowledge Base in IBM Tools Base for z/OS, Version 1 Release 2 (5655-V93) or later

Space Monitor additionally requires one of the following products to monitor space utilization statistics about IMS online full-function database data sets:
  • IBM IMS Tools Base for z/OS, Version 1 Release 1: IMS Tools Online System Interface (5655-V93) that has APAR PM17030 and PM21167 applied
  • IMS Tools Online System Interface in IBM Tools Base for z/OS, Version 1 Release 2 (5655-V93) or later

=================================
> 2.0 HD Pointer Checker
>> 2.1 Overview of HD Pointer Checker
>>> 2.1.1 Program functions
>>>> 2.1.1.7 Space Monitor

Description about monitoring the latest space utilization of VSAM data sets has been added as follows:

If you want to monitor the latest space utilization of VSAM data sets of online databases, you must run HD Pointer Checker with the following specifications:
  • PGM=FABPPC00 in the EXEC statement
  • TOSIXCFGRP= on a PROC statement in the PROCCTL data set
  • SPMN=YES on a DATABASE statement in the PROCCTL data set.

For more information, see "EXEC statement" in topic 2.2.1.1.1 and "FABPMAIN PROCCTL data set" in topic 2.2.2.1.

If you want to store the Space Monitor reports in the IMS Tools KB Output repository ...

---------------------------------------------
>>> 2.1.1 Program functions

The following new topic has been added:

Collecting sensor data with Integrated DB Sensor

You can invoke DB Sensor to store sensor data while running HD Pointer Checker.

DB Sensor collects statistics of IMS databases and stores the data in a central repository that is provided by IMS Tools Knowledge Base. The stored data can be used by Autonomics Director, Policy Services, and Administration Console for database analysis and tuning purposes.

To store statistics of IMS databases, DB Sensor scans databases and collects information about the characteristics of the organization of the data in each database. It also collects information from the system catalog, VSAM catalog, and Volume Table of Contents (VTOC). Then, DB Sensor stores the information as sensor data in the Sensor Data repository of IMS Tools Knowledge Base.

The data that is stored in the Sensor Data repository of IMS Tools Knowledge Base is used in Autonomics Director jobs to monitor and maintain the health, performance, and recoverability of the database. In the Autonomics Director jobs, policy evaluation of Policy Services is internally called to evaluate the database state based on the sensor data that is stored in the Sensor Data repository. When the jobs end, you can use Administration Console to view graphical visualization and charting of sensor data, the exceptions that were detected by the policy evaluations, and recommendations for resolving the exceptions.

IMS Tools Knowledge Base, Policy Services, Autonomics Director, and Administration Console are provided in IBM Tools Base for z/OS Version 1 Release 3. For more information about these tools, see the following information:
  • Tools Base IMS Tools Knowledge Base User's Guide
  • Tools Base Policy Services User's Guide
  • Tools Base Autonomics Director User's Guide
  • Tools Base Administration Console User's Guide

To invoke DB Sensor, specify PGM=FABPPC00 in the EXEC statement and SENSOR=Y on the PROC statement in the PROCCTL DD. For more information, see "EXEC statement" in topic 2.2.1.1.1 and "PROC statement" in topic 2.2.2.1.4.

---------------------------------------------
>>> 2.1.4 Restrictions and considerations

The following description has been added to the "Restrictions and considerations for HD Pointer Checker calling Space Monitor" section:

Restrictions and considerations for HD Pointer Checker calling Space Monitor:
    ...

    To monitor the latest space utilization of VSAM data sets of online databases, you must enable IMS Tools Online System Interface and run HD Pointer Checker with the following specifications:
    • PGM=FABPPC00 in the EXEC statement
    • TOSIXCFGRP= on a PROC statement in the PROCCTL data set (this specification designates the use of IMS Tools Online System Interface)
    • SPMN=YES on a DATABASE statement in the PROCCTL data set

    For more information about collecting the latest space utilization statistics, see the following topics:
    • "Configuring IMS Tools Online System Interface for Space Monitor" in topic 1.2.6 for information about configuring IMS Tools Online Interface.
    • "EXEC statement" in topic 2.2.1.1.1 and "FABPMAIN PROCCTL data set" in topic 2.2.2.1 for information about requesting IMS Tools Online System Interface.

    For the fields in the Space Monitor report that reflect the values obtained through IMS Tools Online System Interface, see "Space Analysis by Data Set report" in topic 5.2.3.2.1.

    If you specify the SPMNIN DD statement in FABPMAIN JCL, and if Space Monitor is called, Space Monitor cannot monitor the latest space utilization of VSAM data sets of online databases.

The following new section has been added:

Restrictions and considerations for HD Pointer Checker that calls Integrated DB Sensor:
    When DB Sensor is called from HD Pointer Checker, the following rules apply:
    • A real database (not an image copy) must be specified as an input database, and all of its database data set groups must be specified.
    • PGM=FABPPC00 must be specified in the HD Pointer Checker JCL, and the job must be run in the ULU or DLI region. For more information about the format of the EXEC statement, see "EXEC statement" in topic 2.2.1.1.1

    Certain considerations apply when collecting sensor data from online databases. For details, see the consideration topics in the IMS Solution Packs: Database Sensor User's Guide.

---------------------------------------------
>> 2.2 Operating instructions for the HD Pointer Checker processor
>>> 2.2.1 Job control language
>>>> 2.2.1.1 FABPMAIN JCL

The description of the EXEC statement has been changed as follows:

EXEC statement

You can run the HD Pointer Checker processor (FABPMAIN) with two methods.

The first method is to run the FABPMAIN program in the IMS region controller program (DFSRRC00). It is required that you run the FABPMAIN program in the IMS region controller program (DFSRRC00). To use this method, specify PGM=DFSRRC00 in the EXEC statement and specify parameters for the IMS region controller program as follows:


//     EXEC PGM=DFSRRC00,
//          PARM=(
region,FABPMAIN,psbname,,,,,,,,,,,dbrc,N)
//



The other method is to run the FABPMAIN program in the FABPPC00 program. To use this method, specify PGM=FABPPC00 in the EXEC statement and specify parameters for the IMS region controller program as follows. The FABPPC00 program invokes the IMS region controller program internally:


//     EXEC PGM=FABPPC00,
//          PARM=(region,FABPMAIN,psbname,,,,,,,,,,,dbrc,N)
//



Requirement: To use the Integrated DB Sensor function or to monitor the latest VSAM statistics of online databases with the Space Monitor process that is called within an HD Pointer Checker job, you must run the FABPMAIN program in the FABPPC00 program.

In both methods, the number of commas after psbname is 11. The PARM parameter has the same format as that used in the DLIBATCH or the DBBBATCH procedure. It is documented in the IMS System Definition.

The following are parameters in parentheses of PARM=:
region
    Specifies an IMS region type. It is a required parameter for specifying the region type. The possible values are ULU, DLI, or DBB.
    • ULU is for running HD Pointer Checker as utility batch program region (ULU region) by using the DBD library.
    • DLI is for running an offline DL/I batch processing program region (DLI region) by using the PSB and DBD libraries.
    • DBB is for running an offline DL/I batch processing program region (DBB region) by using the ACB library.
      Note: To use the Integrated DB Sensor function, specify ULU or DLI.
psbname
    ...
dbrc
    ...


The following description has been added:

DD statements

...

For other DD statements used by IMS Library Integrity Utilities when REPORT DECODEDBD=YES or MAPDBD=YES is specified, see the IMS Library Integrity Utilities User's Guide.

For DB Sensor DD statements (used when SENSOR=YES is specified), see the IMS Solution Packs: Database Sensor User's Guide.

The description of STEPLIB DD has been changed as follows:

STEPLIB DD
This DD defines the following input data sets:
  • The IMS HP Pointer Checker production library or the IMS Database Solution Pack library (SHPSLMD0 data set, which includes IMS HP Pointer Checker) (mandatory)
  • IMS RESLIB (mandatory)
  • IMS Library Integrity Utilities production library (optional)
  • The library that contains the partition selection exit routine (optional)
  • The library that contains DFSMDA members for dynamic allocation (optional)
  • The library that contains the DBRC SCI Registration exit routine (optional)

To use the following functions with HD Pointer Checker, you must concatenate the appropriate load module libraries to the STEPLIB DD:
  • The IMS Library Integrity Utilities library to print DBD source code or DBD map to the report
  • The IMS Tools Knowledge library to store the reports in the IMS Tools KB Output repository
  • The following additional libraries to use the Integrated DB Sensor function:
    • The IMS Tools Knowledge Base library
    • The IMS Tools Online System Interface library to collect the latest VSAM statistics from online databases
  • The IMS Tools Online System Interface library to monitor the latest VSAM statistics from online databases by using Space Monitor

Note s :
  • If the input you are using is an image copy data set compressed by IMS HP Image Copy for z/OS , the STEPLIB DD data set also needs to contain the data compression module, FABJCMP1 or FABJCMP2, that was used when the image copy was taken.
  • If you specify PGM=FABPPC00 on the EXEC statement, all of the libraries that are specified on the STEPLIB DD statement must be APF-authorized.

---------------------------------------------
>>> 2.2.1.2 JCL procedures

The following changes have been made to this topic:

To run HD Pointer Checker, use the IBM-supplied cataloged procedures shown in Figure 3 in topic 2.2.1.2.1 through Figure x6 in topic 2.2.1.2.13 or prepare a similar procedure of your own. The use of the IBM-supplied, cataloged procedures avoids the need for maintaining many large sets of HD Pointer Checker JCL.

...

Table 11 summarizes the use of cataloged procedures. Three sets of procedure names are shown: those of this HD Pointer Checker, those of DBT Version 2 Release 1, and those of DBT Version 2 Release 2/Release 3.

Table 11. Selection of HD Pointer Checker JCL procedure
Job function Name DBT V2R1 name DBT V2R2 or V2R3 name
... ... ... ...
Checking pointers in multiple job steps and root-segment locations (with PSB) ... ... ...
Checking pointers (with PSB and work data sets defined in the procedure)

Use this procedure if you want DB Sensor to store sensor data or Space Monitor to monitor IMS online full-function databases while checking pointers.
FABPC None None
Checking pointers (with DBD and work data sets not defined in the procedure. The work data sets are allocated by HD Pointer Checker dynamically.)

Use this procedure if you want DB Sensor to store sensor data or Space Monitor to monitor IMS online full-function databases while checking pointers.
FABPCD None None
Checking pointers and root-segment locations (with PSB)

Use this procedure if you want DB Sensor to store sensor data or Space Monitor to monitor IMS online full-function databases while checking pointers.
FABPCTA None None
Checking pointers in multiple job steps (with PSB)

Use this procedure if you want DB Sensor to store sensor data or Space Monitor to monitor IMS online full-function databases while checking pointers.
FABPCM None None
Checking pointers in multiple job steps (with DBD)

Use this procedure if you want DB Sensor to store sensor data or Space Monitor to monitor IMS online full-function databases while checking pointers.
FABPCMD None None
Checking pointers in multiple job steps and root-segment locations (with PSB)

Use this procedure if you want DB Sensor to store sensor data or Space Monitor to monitor IMS online full-function databases while checking pointers.
FABPCTAM None None
Finding disk addresses ... ... ...


...

Figure 6 in topic 2.2.1.2.4 is a typical example of a procedure running HD Pointer Checker and HD Tuning Aid in a same job. To run only the HD Pointer Checker, use a procedure similar to that in Figure 3 in topic 2.2.1.2.1, Figure 4 in topic 2.2.1.2.2, and Figure 5 in topic 2.2.1.2.3. To run HD Pointer Checker and store sensor data by DB Sensor or to run HD Pointer Checker and monitor IMS online full-function databases by Space Monitor, use a procedure that is similar to the procedures shown in Figure x1 in topic 2.2.1.2.8 and Figure x2 in topic 2.2.1.2.9. These procedures are examples of general-purpose procedures that can be used in verifying and analyzing IMS full-function databases.
...

---------------------------------------------
The following six topics have been added as 2.2.1.2.8 - 2.2.1.2.13:

Procedure FABPC

You can use the FABPC procedure, shown in Figure x1, to run HD Pointer Checker and to store sensor data by using the Integrated DB Sensor function, or to run HD Pointer Checker and monitor the latest space utilization of VSAM data sets of online databases by using Space Monitor and IMS Tools Online System Interface.

The user supplies the PSB used in this procedure.


//********************************************************************
//*   Licensed Materials - Property of IBM                           *
//*                                                                  *
//*   5655-U09                                                       *
//*                                                                  *
//*   Copyright IBM Corporation 2011. All rights reserved.           *
//*                                                                  *
//*   US Government Users Restricted Rights - Use,                   *
//*   duplication or disclosure restricted by GSA ADP                *
//*   Schedule Contract with IBM Corp.                               *
//*                                                                  *
//********************************************************************
//        PROC PSB=,                        PSBNAME                    
//        DBRC=N,                           DBRC=Y IF HALDB PROCESS    
//        KEYS='NULLFILE',                  DS NAME IF GENERATE KEYSIN
//        KEYSVOL=,                         VOL NAME OF KEYSIN        
//        KEYSU='SYSDA',                    UNIT  FOR  KEYSIN DATA SET
//        KEYSCYL='1,1',                    SPACE FOR  KEYSIN DATA SET
//        U=SYSDA,                          UNIT  FOR  WORK DATA SETS  
//        CYL='1,1',                        SPACE FOR  WORK DATA SETS  
//        SORT2=,            SORT2='DUMMY,' IF NO SORTEX2 DATA SET    
//        MERG2=,            MERG2='DUMMY,' IF NO MERGIN2 DATA SET    
//        SORTIL='&&SORTIL',                DS NAME IF HALDB PROCESS  
//        SORTOL='&&SORTOL',                DS NAME IF HALDB PROCESS  
//        PRTBLK=0,                         BLKSIZE OF PRINT DATA SETS
//        PRTBLK2=0,                        BLKSIZE OF FSESTAT DATA SET
//        SORTBLK=0,                        BLKSIZE OF SORT RECORS    
//        IXKBLK=0,                         BLKSIZE OF IXKEY RECORS    
//        HISTORY='NULLFILE',               HISTORY DATA SET          
//        USERLIB='USER.LOADLIB',           USER RANDOMIZER            
//        ITKBLIB='ITKB.LOADLIB',           ITKB LOAD LIBRARY          
//        TOSILIB='TOSI.SHKTLOAD',          TOSI LOAD LIBRARY          
//        DBDLIB='IMSVS.DBDLIB',            <<--------<                
//        PSBLIB='IMSVS.PSBLIB',            <<--------<                
//        RESLIB='IMSVS.RESLIB',            <<--------<                
//        DBTLIB='HPS.SHPSLMD0',            <<--------<                
//        DBTSRC='HPS.SHPSSAMP(FABPVSAM)'   <<--------<                
//*-------------------------------------------------------------------*
//HDPCPRO EXEC PGM=FABPPC00,                                          
//             PARM='DLI,FABPMAIN,&PSB,,,,,,,,,,,&DBRC,N'              
//STEPLIB   DD DSN=&DBTLIB,DISP=SHR                                    
//          DD DSN=&ITKBLIB,DISP=SHR                                  
//          DD DSN=&TOSILIB,DISP=SHR                                  
//          DD DSN=&RESLIB,DISP=SHR                                    
//          DD DSN=&USERLIB,DISP=SHR                                  
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS       DD DSN=&PSBLIB,DISP=SHR                                    
//          DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2      DD DSN=&RESLIB,DISP=SHR                                    
//          DD DSN=&USERLIB,DISP=SHR                                  
//DFSRESLB  DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP  DD DSN=&DBTSRC,DISP=SHR                                    
//IEFRDER   DD DUMMY                                                  
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//STATIPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//VALIDPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//EVALUPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//EVALIPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SNAPPIT   DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SUMMARY   DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SYSUDUMP  DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORICAL ANALYSIS DATA SETS                                      
//*-------------------------------------------------------------------*
//HISTORY   DD DSN=&HISTORY,DISP=SHR                                  
//*-------------------------------------------------------------------*
//* SORT RECORDS                                                      
//*-------------------------------------------------------------------*
//MERGIN01  DD DSN=&&MERGIN,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*-------------------------------------------------------------------*
//* SPECIFY SORTEX2 AND MERGIN2 FOR SCAN WITH IXKEYCHK = YES          
//*-------------------------------------------------------------------*
//SORTE201  DD &SORT2.DSN=&&SORTEX2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//MERGI201  DD &MERG2.DSN=&&MERGIN2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* FOR SCAN WITH HDAM/HIDAM PROCESS                                  
//*-------------------------------------------------------------------*
//KEYSIN    DD DSN=&KEYS,DISP=(NEW,CATLG,DELETE),                      
//             UNIT=&KEYSU,SPACE=(CYL,(&KEYSCYL)),VOL=SER=&KEYSVOL,    
//             DCB=(RECFM=VB)                                          
//*-------------------------------------------------------------------*
//* FOR EPS HEALING PROCESS                                           *
//*-------------------------------------------------------------------*
//SORTIL01  DD DSN=&SORTIL,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* FOR CHECK PROCESS                                                  
//*-------------------------------------------------------------------*
//SORTOL    DD DSN=&SORTOL,DISP=(NEW,DELETE,DELETE),                  
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//IXKEY     DD DSN=&&IXKEY,DISP=(NEW,DELETE,DELETE),                  
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&IXKBLK)                                  
//FSESTAT   DD DSN=&&FSESTAT,DISP=(NEW,DELETE,DELETE),                
//             UNIT=&U,SPACE=(CYL,(2,2)),DCB=BLKSIZE=&PRTBLK2          
//*-------------------------------------------------------------------*
//* FOR CHECK AND BLKMAP PROCESS                                      
//*-------------------------------------------------------------------*
//JRM       DD DSN=&&JRM,DISP=(NEW,DELETE,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*-------------------------------------------------------------------*

Figure x1. HD Pointer Checker JCL procedure using the HD Pointer Checker processor (FABPC)

-------------------
Procedure FABPCD

You can also use the FABPCD procedure, shown in Figure x2, to run HD Pointer Checker and to store sensor data by using the Integrated DB Sensor function, or to run HD Pointer Checker and monitor the latest space utilization of VSAM data sets of online databases by using Space Monitor and IMS Tools Online System Interface. This procedure generates PSBs and allocates the sort work data set dynamically.


Note: The DBD parameter of the FABPCD procedure is not required.


//********************************************************************
//*   Licensed Materials - Property of IBM                           *
//*                                                                  *
//*   5655-U09                                                       *
//*                                                                  *
//*   Copyright IBM Corporation 2011. All rights reserved.           *
//*                                                                  *
//*   US Government Users Restricted Rights - Use,                   *
//*   duplication or disclosure restricted by GSA ADP                *
//*   Schedule Contract with IBM Corp.                               *
//*                                                                  *
//********************************************************************
//        PROC DBD=,                        DBDNAME                    
//        DBRC=N,                           DBRC=Y IF HALDB PROCESS    
//        KEYS='NULLFILE',                  DS NAME IF GENERATE KEYSIN
//        KEYSVOL=,                         VOL NAME OF KEYSIN        
//        KEYSU='SYSDA',                    UNIT  FOR  KEYSIN DATA SET
//        KEYSCYL='1,1',                    SPACE FOR  KEYSIN DATA SET
//        U=SYSDA,                          UNIT  FOR  WORK DATA SETS  
//        CYL='1,1',                        SPACE FOR  WORK DATA SETS  
//        PRTBLK=0,                         BLKSIZE OF PRINT DATA SETS
//        PRTBLK2=0,                        BLKSIZE OF FSESTAT DATA SET
//        SORTBLK=0,                        BLKSIZE OF SORT RECORS    
//        HISTORY='NULLFILE',               HISTORY DATA SET          
//        USERLIB='USER.LOADLIB',           USER RANDOMIZER            
//        ITKBLIB='ITKB.LOADLIB',           ITKB LOAD LIBRARY          
//        TOSILIB='TOSI.SHKTLOAD',          TOSI LOAD LIBRARY          
//        DBDLIB='IMSVS.DBDLIB',            <<--------<                
//        RESLIB='IMSVS.RESLIB',            <<--------<                
//        DBTLIB='HPS.SHPSLMD0',            <<--------<                
//        DBTSRC='HPS.SHPSSAMP(FABPVSAM)'   <<--------<                
//*-------------------------------------------------------------------*
//HDPCPRO EXEC PGM=FABPPC00,                                          
//             PARM='ULU,FABPMAIN,&DBD,,,,,,,,,,,&DBRC,N'              
//STEPLIB   DD DSN=&DBTLIB,DISP=SHR                                    
//          DD DSN=&ITKBLIB,DISP=SHR                                  
//          DD DSN=&TOSILIB,DISP=SHR                                  
//          DD DSN=&RESLIB,DISP=SHR                                    
//          DD DSN=&USERLIB,DISP=SHR                                  
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS       DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2      DD DSN=&RESLIB,DISP=SHR                                    
//          DD DSN=&USERLIB,DISP=SHR                                  
//DFSRESLB  DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP  DD DSN=&DBTSRC,DISP=SHR                                    
//IEFRDER   DD DUMMY                                                  
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//STATIPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//VALIDPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//EVALUPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//EVALIPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SNAPPIT   DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SUMMARY   DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SYSUDUMP  DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORICAL ANALYSIS DATA SETS                                      
//*-------------------------------------------------------------------*
//HISTORY   DD DSN=&HISTORY,DISP=SHR                                  
//*-------------------------------------------------------------------*
//* FOR SCAN WITH HDAM/HIDAM PROCESS                                  
//*-------------------------------------------------------------------*
//KEYSIN    DD DSN=&KEYS,DISP=(NEW,CATLG,DELETE),                      
//             UNIT=&KEYSU,SPACE=(CYL,(&KEYSCYL)),VOL=SER=&KEYSVOL,    
//             DCB=(RECFM=VB)                                          
//*-------------------------------------------------------------------*
//* FOR CHECK PROCESS                                                  
//*-------------------------------------------------------------------*
//FSESTAT   DD DSN=&&FSESTAT,DISP=(NEW,DELETE,DELETE),                
//             UNIT=&U,SPACE=(CYL,(2,2)),DCB=BLKSIZE=&PRTBLK2          
//*-------------------------------------------------------------------*
//* FOR CHECK AND BLKMAP PROCESS                                      
//*-------------------------------------------------------------------*
//JRM       DD DSN=&&JRM,DISP=(NEW,DELETE,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*-------------------------------------------------------------------*

Figure x2. HD Pointer Checker JCL procedure with dynamic allocation (FABPCD)

-------------------
Procedure FABPCTA

The FABPCTA procedure, shown in Figure x3, runs HD Pointer Checker and HD Tuning Aid sequentially. In the HD Pointer Checker process, sensor data is collected and stored by the Integrated DB Sensor function, or the latest space utilization of VSAM data sets of online databases is monitored by Space Monitor and IMS Tools Online System Interface.

The user supplies the PSB used in this procedure.


//********************************************************************
//*   Licensed Materials - Property of IBM                           *
//*                                                                  *
//*   5655-U09                                                       *
//*                                                                  *
//*   Copyright IBM Corporation 2011. All rights reserved.           *
//*                                                                  *
//*   US Government Users Restricted Rights - Use,                   *
//*   duplication or disclosure restricted by GSA ADP                *
//*   Schedule Contract with IBM Corp.                               *
//*                                                                  *
//********************************************************************
//        PROC PSB=,                        PSB NAME                  
//        DBRC=Y,                           DBRC=Y IF HALDB PROCESS    
//        HDTA02P=,                         PARAM FOR STEP HDTA02      
//        U=SYSDA,                          UNIT  FOR  WORK DATA SETS  
//        CYL='1,1',                        SPACE FOR  WORK DATA SETS  
//        SORT2=,            SORT2='DUMMY,' IF NO SORTEX2 DATA SET    
//        MERG2=,            MERG2='DUMMY,' IF NO MERGIN2 DATA SET    
//        SORTIL='&&SORTIL',                DS NAME IF HALDB PROCESS  
//        SORTOL='&&SORTOL',                DS NAME IF HALDB PROCESS  
//        PRTBLK=0,                         BLKSIZE OF PRINT DATA SETS
//        PRTBLK2=0,                        BLKSIZE OF FSESTAT DATA SET
//        SORTBLK=0,                        BLKSIZE OF SORT RECORS    
//        IXKBLK=0,                         BLKSIZE OF IXKEY RECORS    
//        HISTORY='NULLFILE',               HISTORY DATA SET          
//        USERLIB='USER.LOADLIB',           USER RANDOMIZER            
//        ITKBLIB='ITKB.LOADLIB',           ITKB LOAD LIBRARY          
//        TOSILIB='TOSI.SHKTLOAD',          TOSI LOAD LIBRARY          
//        DBDLIB='IMSVS.DBDLIB',            <<--------<                
//        PSBLIB='IMSVS.PSBLIB',            <<--------<                
//        RESLIB='IMSVS.RESLIB',            <<--------<                
//        DBTLIB='HPS.SHPSLMD0',            <<--------<                
//        DBTSRC='HPS.SHPSSAMP'             <<--------<                
//*-------------------------------------------------------------------*
//HDPCPRO EXEC PGM=FABPPC00,                                          
//             PARM='DLI,FABPMAIN,&PSB,,,,,,,,,,,&DBRC,N'              
//STEPLIB   DD DSN=&DBTLIB,DISP=SHR                                    
//          DD DSN=&ITKBLIB,DISP=SHR                                  
//          DD DSN=&TOSILIB,DISP=SHR                                  
//          DD DSN=&RESLIB,DISP=SHR                                    
//          DD DSN=&USERLIB,DISP=SHR                                  
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS       DD DSN=&PSBLIB,DISP=SHR                                    
//          DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2      DD DSN=&RESLIB,DISP=SHR                                    
//          DD DSN=&USERLIB,DISP=SHR                                  
//DFSRESLB  DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP  DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//IEFRDER   DD DUMMY                                                  
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//STATIPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//VALIDPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//EVALUPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//EVALIPRT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SNAPPIT   DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SUMMARY   DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                  
//SYSUDUMP  DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORICAL ANALYSIS DATA SETS                                      
//*-------------------------------------------------------------------*
//HISTORY   DD DSN=&HISTORY,DISP=SHR                                  
//*-------------------------------------------------------------------*
//* SORT RECORDS                                                      
//*-------------------------------------------------------------------*
//MERGIN01  DD DSN=&&MERGIN,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*-------------------------------------------------------------------*
//* SPECIFY SORTEX2 AND MERGIN2 FOR SCAN WITH IXKEYCHK = YES          
//*-------------------------------------------------------------------*
//SORTE201  DD &SORT2.DSN=&&SORTEX2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//MERGI201  DD &MERG2.DSN=&&MERGIN2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* FOR SCAN WITH HDAM/HIDAM PROCESS                                  
//*-------------------------------------------------------------------*
//KEYSIN    DD DSN=&&KEYSIN,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(RECFM=VB)                                          
//*-------------------------------------------------------------------*
//* FOR EPS HEALING PROCESS                                           *
//*-------------------------------------------------------------------*
//SORTIL01  DD DSN=&SORTIL,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* FOR CHECK PROCESS                                                  
//*-------------------------------------------------------------------*
//SORTOL    DD DSN=&SORTOL,DISP=(NEW,DELETE,DELETE),                  
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//IXKEY     DD DSN=&&IXKEY,DISP=(NEW,DELETE,DELETE),                  
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&IXKBLK)                                  
//FSESTAT   DD DSN=&&FSESTAT,DISP=(NEW,DELETE,DELETE),                
//             UNIT=&U,SPACE=(CYL,(2,2)),DCB=BLKSIZE=&PRTBLK2          
//*-------------------------------------------------------------------*
//* FOR CHECK AND BLKMAP PROCESS                                      
//*-------------------------------------------------------------------*
//JRM       DD DSN=&&JRM,DISP=(NEW,DELETE,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*-------------------------------------------------------------------*
//HDTA01  EXEC PGM=DFSRRC00,                                          
//             PARM='DLI,FABTROOT,&PSB,,,,,,,,,,,&DBRC,N',            
//             REGION=1000K,TIME=(,30)                                
//STEPLIB   DD DSN=&DBTLIB,DISP=SHR                                    
//          DD DSN=&RESLIB,DISP=SHR                                    
//IMS       DD DSN=&DBDLIB,DISP=SHR                                    
//          DD DSN=&PSBLIB,DISP=SHR                                    
//IMS2      DD DSN=&RESLIB,DISP=SHR                                    
//          DD DSN=&USERLIB,DISP=SHR                                  
//IEFRDER   DD DUMMY,DCB=BLKSIZE=1408                                  
//DFSRESLB  DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP  DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//RAPSIN    DD DSN=&&RAPSIN,UNIT=&U,                                  
//             DISP=(NEW,PASS,DELETE),                                
//             SPACE=(CYL,(&CYL)),                                    
//             DCB=(LRECL=42,RECFM=FB)                                
//PR8       DD SYSOUT=A                                                
//PR10      DD SYSOUT=A                                                
//KEYSIN    DD DSN=&&KEYSIN,DISP=(OLD,DELETE,DELETE)                  
//SYSUDUMP  DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//HDTA02  EXEC PGM=SORT,PARM='&HDTA02P',COND=((2,LT,HDPCPRO),          
//             (0,LT,HDTA01))                                          
//SORTIN    DD DSN=&&RAPSIN,DISP=(OLD,DELETE,DELETE)                  
//SORTOUT   DD DSN=&&KEYSOUT,UNIT=&U,                                  
//             DISP=(NEW,PASS,DELETE),                                
//             SPACE=(CYL,(&CYL)),                                    
//             DCB=(LRECL=42,RECFM=FB)                                
//SORTWK01  DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK02  DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK03  DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK04  DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK05  DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK06  DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SYSOUT    DD SYSOUT=A                                                
//SYSIN     DD DSN=&DBTSRC(FABPSORT),DISP=SHR                          
//*-------------------------------------------------------------------*
//HDTA03  EXEC PGM=FABTRAPS,COND=((2,LT,HDPCPRO),(0,LT,HDTA01),        
//             (0,LT,HDTA02))                                          
//STEPLIB   DD DSN=&DBTLIB,DISP=SHR                                    
//PR9       DD SYSOUT=A                                                
//PR9X      DD SYSOUT=A                                                
//KEYSOUT   DD DSN=&&KEYSOUT,DISP=(OLD,DELETE,DELETE)                  
//SYSUDUMP  DD SYSOUT=A                                                
//*-------------------------------------------------------------------*

Figure x3. HD Pointer Checker/HD Tuning Aid JCL procedure using the HD Pointer Checker processor (FABPCTA)

-------------------
Procedure FABPCM

You can also use the FABPCM procedure, shown in Figure x4, to run HD Pointer Checker and to store sensor data by using the Integrated DB Sensor function, or to run HD Pointer Checker and monitor the latest space utilization of VSAM data sets of online databases by using Space Monitor and IMS Tools Online System Interface. This procedure checks pointers in multiple job steps.

The user supplies the PSB used in this procedure. EPSCHK=YES cannot be specified with this procedure.

//********************************************************************
//*   Licensed Materials - Property of IBM                           *
//*                                                                  *
//*   5655-U09                                                       *
//*                                                                  *
//*   Copyright IBM Corporation 2011. All rights reserved.           *
//*                                                                  *
//*   US Government Users Restricted Rights - Use,                   *
//*   duplication or disclosure restricted by GSA ADP                *
//*   Schedule Contract with IBM Corp.                               *
//*                                                                  *
//********************************************************************
//        PROC PSB=,                     PSBNAME                      
//        DBRC=N,                        DBRC=Y IF HALDB PROCESS      
//        KEYS='NULLFILE',               DS NAME IF GENERATE KEYSIN  
//        KEYSVOL=,                      VOL NAME OF KEYSIN          
//        KEYSU='SYSDA',                 UNIT FOR KEYSIN DATA SET    
//        KEYSCYL='1,1',                 SPACE FOR KEYSIN DATA SET    
//        U=SYSDA,                       UNIT FOR WORK DATA SETS      
//        CYL='1,1',                     SPACE FOR WORK DATA SETS    
//        SORT2=,            SORT2='DUMMY,' IF NO SORTEX2 DATA SET    
//        MERG2=,            MERG2='DUMMY,' IF NO MERGIN2 DATA SET    
//        SORTIL='&&SORTIL',                DS NAME IF HALDB PROCESS  
//        SORTOL='&&SORTOL',                DS NAME IF HALDB PROCESS  
//        PRTBLK=0,                      BLKSIZE OF PRINT DATA SETS  
//        PRTBLK2=0,                     BLKSIZE OF FSESTAT DATA SET  
//        SORTBLK=0,                     BLKSIZE OF SORT RECORDS      
//        HISTORY='NULLFILE',            HISTORY DATA SET            
//        USERLIB='USER.LOADLIB',        USER RANDOMIZER ,            
//*                                      SEGMENT COMPACTION EXIT AND  
//*                                      INDEX MAINTENANCE EXIT      
//        ITKBLIB='ITKB.LOADLIB',        ITKB LOAD LIBRARY            
//        TOSILIB='TOSI.SHKTLOAD',       TOSI LOAD LIBRARY            
//        DBDLIB='IMSVS.DBDLIB',         DBD LIBRARY                  
//        PSBLIB='IMSVS.PSBLIB',         PSB LIBRARY                  
//        RESLIB='IMSVS.RESLIB',                                      
//        DBTLIB='HPS.SHPSLMD0',         HPS LIBRARY                  
//        DBTSRC='HPS.SHPSSAMP'          BUFF PARM DATA SET            
//*********************************************************************
//* DB SCAN STEP                                                      
//*********************************************************************
//HDPCSCAN EXEC PGM=FABPPC00,                                          
//             PARM='DLI,FABPMAIN,&PSB,,,,,,,,,,,&DBRC,N'              
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                    
//         DD DSN=&ITKBLIB,DISP=SHR                                    
//         DD DSN=&TOSILIB,DISP=SHR                                    
//         DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS      DD DSN=&PSBLIB,DISP=SHR                                    
//         DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2     DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//IEFRDER  DD DUMMY                                                    
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//STATIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//VALIDPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALUPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SNAPPIT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SUMMARY  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SYSUDUMP DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORY ANALYSIS DATA SET                                          
//*-------------------------------------------------------------------*
//HISTORY  DD DSN=&HISTORY,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* SORT RECORDS                                                      
//*-------------------------------------------------------------------*
//SORTEX01 DD DSN=&&SORTEX,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//MERGIN01 DD DSN=&&MERGIN,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                     @PN04801
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*-------------------------------------------------------------------*
//* SPECIFY SORTEX2 AND MERGIN2 FOR SCAN WITH IXKEYCHK = YES          
//*-------------------------------------------------------------------*
//SORTE201 DD &SORT2.DSN=&&SORTEX2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//MERGI201 DD &MERG2.DSN=&&MERGIN2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* SPECIFY SORTIL FOR SCAN WITH EPSCHK = YES                          
//*-------------------------------------------------------------------*
//SORTIL01 DD DSN=&SORTIL,DISP=(NEW,PASS,DELETE),                      
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* FOR SCAN WITH HDAM/HIDAM PROCESS                                  
//*-------------------------------------------------------------------*
//KEYSIN   DD DSN=&KEYS,DISP=(NEW,CATLG,DELETE),                      
//             UNIT=&KEYSU,SPACE=(CYL,(&KEYSCYL)),VOL=SER=&KEYSVOL,    
//             DCB=(RECFM=VB)                                          
//*********************************************************************
//* CHECK STEP                                                        
//*********************************************************************
//HDPCCHK  EXEC PGM=DFSRRC00,                                          
//             PARM='DLI,FABPMAIN,&PSB,,,,,,,,,,,&DBRC,N',            
//             COND=(4,LT,HDPCSCAN)                                    
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                    
//         DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS      DD DSN=&PSBLIB,DISP=SHR                                    
//         DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2     DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//IEFRDER  DD DUMMY                                                    
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//STATIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//VALIDPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALUPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SNAPPIT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SUMMARY  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SYSUDUMP DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORY ANALYSIS DATA SET                                          
//*-------------------------------------------------------------------*
//HISTORY  DD DSN=&HISTORY,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR CHECK PROCESS                                                  
//*-------------------------------------------------------------------*
//SORTEX01 DD DSN=&&SORTEX,DISP=(OLD,DELETE,DELETE)                    
//MERGIN01 DD DSN=&&MERGIN,DISP=(OLD,DELETE,DELETE)                    
//SORTE201 DD &SORT2.DSN=&&SORTEX2,DISP=(OLD,DELETE,DELETE)            
//MERGI201 DD &MERG2.DSN=&&MERGIN2,DISP=(OLD,DELETE,DELETE)            
//SORTIL01 DD DSN=&SORTIL,DISP=(OLD,DELETE,DELETE)                    
//SORTOL   DD DSN=&SORTOL,DISP=(NEW,DELETE,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//IXKEY    DD DSN=&&IXKEY,DISP=(NEW,DELETE,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//FSESTAT  DD DSN=&&FSESTAT,DISP=(NEW,DELETE,DELETE),                  
//             UNIT=&U,SPACE=(CYL,(2,2)),DCB=BLKSIZE=&PRTBLK2          
//*-------------------------------------------------------------------*
//* FOR CHECK AND BLKMAP PROCESS                                      
//*-------------------------------------------------------------------*
//JRM      DD DSN=&&JRM,DISP=(NEW,DELETE,DELETE),                      
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  

Figure x4. HD Pointer Checker JCL procedure using the HD Pointer Checker processor (FABPCM)

-------------------
Procedure FABPCMD

You can also use the FABPCMD procedure, shown in Figure x5, to run HD Pointer Checker and to store sensor data by using the Integrated DB Sensor function, or to run HD Pointer Checker and monitor the latest space utilization of VSAM data sets of online databases by using Space Monitor and IMS Tools Online System Interface. This procedure check pointers in multiple job steps and generates the PSB dynamically.


Note: The DBD parameter of the FABPCMD procedure is not required.

//********************************************************************
//*   Licensed Materials - Property of IBM                           *
//*                                                                  *
//*   5655-U09                                                       *
//*                                                                  *
//*   Copyright IBM Corporation 2011. All rights reserved.           *
//*                                                                  *
//*   US Government Users Restricted Rights - Use,                   *
//*   duplication or disclosure restricted by GSA ADP                *
//*   Schedule Contract with IBM Corp.                               *
//*                                                                  *
//********************************************************************
//        PROC DBD=,                     DBDNAME                      
//        DBRC=N,                        DBRC=Y IF HALDB PROCESS      
//        KEYS='NULLFILE',               DS NAME IF GENERATE KEYSIN  
//        KEYSVOL=,                      VOL NAME OF KEYSIN          
//        KEYSU='SYSDA',                 UNIT FOR KEYSIN DATA SET    
//        KEYSCYL='1,1',                 SPACE FOR KEYSIN DATA SET    
//        U=SYSDA,                       UNIT FOR WORK DATA SETS      
//        CYL='1,1',                     SPACE FOR WORK DATA SETS    
//        SORT2=,            SORT2='DUMMY,' IF NO SORTEX2 DATA SET    
//        MERG2=,            MERG2='DUMMY,' IF NO MERGIN2 DATA SET    
//        SORTIL='&&SORTIL',                DS NAME IF HALDB PROCESS  
//        PRTBLK=0,                      BLKSIZE OF PRINT DATA SETS  
//        PRTBLK2=0,                     BLKSIZE OF FSESTAT DATA SET  
//        SORTBLK=0,                     BLKSIZE OF SORT RECORDS      
//        HISTORY='NULLFILE',            HISTORY DATA SET            
//        USERLIB='USER.LOADLIB',        USER RANDOMIZER ,            
//*                                      SEGMENT COMPACTION EXIT AND  
//*                                      INDEX MAINTENANCE EXIT      
//        ITKBLIB='ITKB.LOADLIB',        ITKB LOAD LIBRARY            
//        TOSILIB='TOSI.SHKTLOAD',       TOSI LOAD LIBRARY            
//        DBDLIB='IMSVS.DBDLIB',         DBD LIBRARY                  
//        RESLIB='IMSVS.RESLIB',                                      
//        DBTLIB='HPS.SHPSLMD0',         HPS LIBRARY                  
//        DBTSRC='HPS.SHPSSAMP'          BUFF PARM DATA SET            
//*********************************************************************
//* DB SCAN STEP                                                      
//*********************************************************************
//HDPCSCAN EXEC PGM=FABPPC00,                                          
//             PARM='ULU,FABPMAIN,&DBD,,,,,,,,,,,&DBRC,N'              
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                    
//         DD DSN=&ITKBLIB,DISP=SHR                                    
//         DD DSN=&TOSILIB,DISP=SHR                                    
//         DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS      DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2     DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//IEFRDER  DD DUMMY                                                    
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//STATIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//VALIDPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALUPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SNAPPIT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SUMMARY  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SYSUDUMP DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORY ANALYSIS DATA SET                                          
//*-------------------------------------------------------------------*
//HISTORY  DD DSN=&HISTORY,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* SORT RECORDS                                                      
//*-------------------------------------------------------------------*
//SORTEX01 DD DSN=&&SORTEX,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//MERGIN01 DD DSN=&&MERGIN,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                     @PN04801
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*-------------------------------------------------------------------*
//* SPECIFY SORTEX2 AND MERGIN2 FOR SCAN WITH IXKEYCHK = YES          
//*-------------------------------------------------------------------*
//SORTE201 DD &SORT2.DSN=&&SORTEX2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//MERGI201 DD &MERG2.DSN=&&MERGIN2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* SPECIFY SORTIL FOR SCAN WITH EPSCHK = YES                          
//*-------------------------------------------------------------------*
//SORTIL01 DD DSN=&SORTIL,DISP=(NEW,PASS,DELETE),                      
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* FOR SCAN WITH HDAM/HIDAM PROCESS                                  
//*-------------------------------------------------------------------*
//KEYSIN   DD DSN=&KEYS,DISP=(NEW,CATLG,DELETE),                      
//             UNIT=&KEYSU,SPACE=(CYL,(&KEYSCYL)),VOL=SER=&KEYSVOL,    
//             DCB=(RECFM=VB)                                          
//*********************************************************************
//* CHECK STEP                                                        
//*********************************************************************
//HDPCCHK  EXEC PGM=DFSRRC00,                                          
//             PARM='ULU,FABPMAIN,&DBD,,,,,,,,,,,&DBRC,N',            
//             COND=(4,LT,HDPCSCAN)                                    
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                    
//         DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS      DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2     DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//IEFRDER  DD DUMMY                                                    
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//STATIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//VALIDPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALUPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SNAPPIT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SUMMARY  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SYSUDUMP DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORY ANALYSIS DATA SET                                          
//*-------------------------------------------------------------------*
//HISTORY  DD DSN=&HISTORY,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR CHECK PROCESS                                                  
//*-------------------------------------------------------------------*
//SORTEX01 DD DSN=&&SORTEX,DISP=(OLD,DELETE,DELETE)                    
//MERGIN01 DD DSN=&&MERGIN,DISP=(OLD,DELETE,DELETE)                    
//SORTE201 DD &SORT2.DSN=&&SORTEX2,DISP=(OLD,DELETE,DELETE)            
//MERGI201 DD &MERG2.DSN=&&MERGIN2,DISP=(OLD,DELETE,DELETE)            
//SORTIL01 DD DSN=&SORTIL,DISP=(OLD,DELETE,DELETE)                    
//FSESTAT  DD DSN=&&FSESTAT,DISP=(NEW,DELETE,DELETE),                  
//             UNIT=&U,SPACE=(CYL,(2,2)),DCB=BLKSIZE=&PRTBLK2          
//*-------------------------------------------------------------------*
//* FOR CHECK AND BLKMAP PROCESS                                      
//*-------------------------------------------------------------------*
//JRM      DD DSN=&&JRM,DISP=(NEW,DELETE,DELETE),                      
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  

Figure x5. HD Pointer Checker JCL procedure using the HD Pointer Checker processor (FABPCMD)

-------------------
Procedure FABPCTAM

The FABPCTAM procedure, shown in Figure x6, runs HD Pointer Checker and HD Tuning Aid sequentially. In the HD Pointer Checker process, sensor data is collected and stored by the Integrated DB Sensor function, or the latest space utilization of VSAM data sets of online databases is monitored by Space Monitor and IMS Tools Online System Interface. This procedure checks pointers in multiple job steps.

The user supplies the PSB used in this procedure. EPSCHK=YES cannot be specified with this procedure.

//********************************************************************
//*   Licensed Materials - Property of IBM                           *
//*                                                                  *
//*   5655-U09                                                       *
//*                                                                  *
//*   Copyright IBM Corporation 2011. All rights reserved.           *
//*                                                                  *
//*   US Government Users Restricted Rights - Use,                   *
//*   duplication or disclosure restricted by GSA ADP                *
//*   Schedule Contract with IBM Corp.                               *
//*                                                                  *
//********************************************************************
//        PROC PSB=,                     PSBNAME                      
//        DBRC=Y,                        FOR HDTA WHEN HALDB          
//        HDTA02P=,                      PERM FOR STEP HDTA02P        
//        KEYSVOL=,                      VOL NAME OF KEYSIN          
//        KEYSU='SYSDA',                 UNIT FOR KEYSIN DATA SET    
//        KEYSCYL='1,1',                 SPACE FOR KEYSIN DATA SET    
//        U=SYSDA,                       UNIT FOR WORK DATA SETS      
//        CYL='1,1',                     SPACE FOR WORK DATA SETS    
//        SORT2=,            SORT2='DUMMY,' IF NO SORTEX2 DATA SET    
//        MERG2=,            MERG2='DUMMY,' IF NO MERGIN2 DATA SET    
//        SORTIL='&&SORTIL',                DS NAME IF HALDB PROCESS  
//        SORTOL='&&SORTOL',                DS NAME IF HALDB PROCESS  
//        PRTBLK=0,                      BLKSIZE OF PRINT DATA SETS  
//        PRTBLK2=0,                     BLKSIZE OF FSESTAT DATA SET  
//        SORTBLK=0,                     BLKSIZE OF SORT RECORDS      
//        HISTORY='NULLFILE',            HISTORY DATA SET            
//        USERLIB='USER.LOADLIB',        USER RANDOMIZER ,            
//*                                      SEGMENT COMPACTION EXIT AND  
//*                                      INDEX MAINTENANCE EXIT      
//        ITKBLIB='ITKB.LOADLIB',        ITKB LOAD LIBRARY            
//        TOSILIB='TOSI.SHKTLOAD',       TOSI LOAD LIBRARY            
//        DBDLIB='IMSVS.DBDLIB',         DBD LIBRARY                  
//        PSBLIB='IMSVS.PSBLIB',         PSB LIBRARY                  
//        RESLIB='IMSVS.RESLIB',                                      
//        DBTLIB='HPS.SHPSLMD0',         HPS LIBRARY                  
//        DBTSRC='HPS.SHPSSAMP'          BUFF PARM DATA SET            
//*********************************************************************
//* DB SCAN STEP                                                      
//*********************************************************************
//HDPCSCAN EXEC PGM=FABPPC00,                                          
//             PARM='DLI,FABPMAIN,&PSB,,,,,,,,,,,&DBRC,N'              
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                    
//         DD DSN=&ITKBLIB,DISP=SHR                                    
//         DD DSN=&TOSILIB,DISP=SHR                                    
//         DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS      DD DSN=&PSBLIB,DISP=SHR                                    
//         DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2     DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//IEFRDER  DD DUMMY                                                    
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//STATIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//VALIDPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALUPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SNAPPIT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SUMMARY  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SYSUDUMP DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORY ANALYSIS DATA SET                                          
//*-------------------------------------------------------------------*
//HISTORY  DD DSN=&HISTORY,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* SORT RECORDS                                                      
//*-------------------------------------------------------------------*
//SORTEX01 DD DSN=&&SORTEX,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//MERGIN01 DD DSN=&&MERGIN,DISP=(NEW,PASS,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL)),                     @PN04801
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*-------------------------------------------------------------------*
//* SPECIFY SORTEX2 AND MERGIN2 FOR SCAN WITH IXKEYCHK = YES          
//*-------------------------------------------------------------------*
//SORTE201 DD &SORT2.DSN=&&SORTEX2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//MERGI201 DD &MERG2.DSN=&&MERGIN2,DISP=(NEW,PASS,DELETE),            
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* SPECIFY SORTIL FOR SCAN WITH EPSCHK = YES                          
//*-------------------------------------------------------------------*
//SORTIL01 DD DSN=&SORTIL,DISP=(NEW,PASS,DELETE),                      
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//*-------------------------------------------------------------------*
//* FOR SCAN WITH HDAM/HIDAM PROCESS                                  
//*-------------------------------------------------------------------*
//KEYSIN   DD DSN=&KEYSIN,DISP=(NEW,CATLG,DELETE),                    
//             UNIT=&KEYSU,SPACE=(CYL,(&KEYSCYL)),VOL=SER=&KEYSVOL,    
//             DCB=(RECFM=VB)                                          
//*********************************************************************
//* CHECK STEP                                                        
//*********************************************************************
//HDPCCHK  EXEC PGM=DFSRRC00,                                          
//             PARM='DLI,FABPMAIN,&PSB,,,,,,,,,,,&DBRC,N',            
//             COND=(4,LT,HDPCSCAN)                                    
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                    
//         DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR IMS DATA SETS                                                  
//*-------------------------------------------------------------------*
//IMS      DD DSN=&PSBLIB,DISP=SHR                                    
//         DD DSN=&DBDLIB,DISP=SHR                                    
//IMS2     DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//IEFRDER  DD DUMMY                                                    
//*-------------------------------------------------------------------*
//* REPORTS                                                            
//*-------------------------------------------------------------------*
//PRIMAPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//STATIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//VALIDPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALUPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//EVALIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SNAPPIT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SUMMARY  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                    
//SYSUDUMP DD SYSOUT=A                                                
//*-------------------------------------------------------------------*
//* HISTORY ANALYSIS DATA SET                                          
//*-------------------------------------------------------------------*
//HISTORY  DD DSN=&HISTORY,DISP=SHR                                    
//*-------------------------------------------------------------------*
//* FOR CHECK PROCESS                                                  
//*-------------------------------------------------------------------*
//SORTEX01 DD DSN=&&SORTEX,DISP=(OLD,DELETE,DELETE)                    
//MERGIN01 DD DSN=&&MERGIN,DISP=(OLD,DELETE,DELETE)                    
//SORTE201 DD &SORT2.DSN=&&SORTEX2,DISP=(OLD,DELETE,DELETE)            
//MERGI201 DD &MERG2.DSN=&&MERGIN2,DISP=(OLD,DELETE,DELETE)            
//SORTIL01 DD DSN=&SORTIL,DISP=(OLD,DELETE,DELETE)                    
//SORTOL   DD DSN=&SORTOL,DISP=(NEW,DELETE,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//IXKEY    DD DSN=&&IXKEY,DISP=(NEW,DELETE,DELETE),                    
//             UNIT=&U,SPACE=(CYL,(&CYL))                              
//FSESTAT  DD  DSN=&&FSESTAT,DISP=(NEW,DELETE,DELETE),                
//             UNIT=&U,SPACE=(CYL,(2,2)),DCB=BLKSIZE=&PRTBLK2          
//*-------------------------------------------------------------------*
//* FOR CHECK AND BLKMAP PROCESS                                      
//*-------------------------------------------------------------------*
//JRM      DD DSN=&&JRM,DISP=(NEW,DELETE,DELETE),                      
//             UNIT=&U,SPACE=(CYL,(&CYL)),                            
//             DCB=(BLKSIZE=&SORTBLK)                                  
//*********************************************************************
//* FABTROOT STEP                                                      
//*********************************************************************
//HDTA01  EXEC PGM=DFSRRC00,                                          
//             PARM='DLI,FABTROOT,&PSB,,,,,,,,,,,&DBRC,N',            
//             REGION=1000K,TIME=(,30),                                
//             COND=((4,LT,HDPCSCAN),(2,LT,HDPCCHK))                  
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                    
//         DD DSN=&RESLIB,DISP=SHR                                    
//IMS      DD DSN=&DBDLIB,DISP=SHR                                    
//         DD DSN=&PSBLIB,DISP=SHR                                    
//IMS2     DD DSN=&RESLIB,DISP=SHR                                    
//         DD DSN=&USERLIB,DISP=SHR                                    
//IEFRDER  DD DUMMY,DCB=BLKSIZE=1408                                  
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                    
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                          
//RAPSIN   DD DSN=&&RAPSIN,UNIT=&U,                                    
//             DISP=(NEW,PASS,DELETE),                                
//             SPACE=(CYL,(&CYL)),                                    
//             DCB=(LRECL=42,BLKSIZE=8400,RECFM=FB)                    
//PR8      DD SYSOUT=A                                                
//PR10     DD SYSOUT=A                                                
//KEYSIN   DD DSN=&&KEYSIN,DISP=(OLD,DELETE,DELETE)                    
//SYSUDUMP DD SYSOUT=A                                                
//*********************************************************************
//* RAPSIN SORT STEP                                                  
//*********************************************************************
//HDTA02   EXEC PGM=SORT,PARM='&HDTA02P',COND=((2,LT,HDPCSCAN),        
//             (2,LT,HDPCCHK),(0,LT,HDTA01))                          
//*-------------------------------------------------------------------*
//* SORT RECORDS                                                      
//*-------------------------------------------------------------------*
//SORTIN   DD DSN=&&RAPSIN,DISP=(OLD,DELETE,DELETE)                    
//SORTOUT  DD DSN=&&KEYSOUT,UNIT=&U,DISP=(NEW,PASS,DELETE),            
//             SPACE=(CYL,(&CYL)),                                    
//             DCB=(LRECL=42,BLKSIZE=8400,RECFM=FB)                    
//*-------------------------------------------------------------------*
//* SORT STATEMENT AND OUTPUT                                          
//*-------------------------------------------------------------------*
//SYSOUT   DD SYSOUT=A                                                
//SYSIN    DD DSN=&DBTSRC(FABPSORT),DISP=SHR                          
//*-------------------------------------------------------------------*
//* SORT WORK                                                          
//*-------------------------------------------------------------------*
//SORTWK01 DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK02 DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK03 DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK04 DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK05 DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//SORTWK06 DD UNIT=&U,SPACE=(CYL,(&CYL))                              
//*********************************************************************
//* FABTRAPS STEP                                                      
//*********************************************************************
//HDTA03   EXEC PGM=FABTRAPS,COND=((2,LT,HDPCSCAN),                    
//             (2,LT,HDPCCHK),(0,LT,HDTA01),(0,LT,HDTA02))            
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                    
//KEYSOUT  DD DSN=&&KEYSOUT,DISP=(OLD,DELETE,DELETE)                  
//PR9      DD SYSOUT=A                                                
//PR9X     DD SYSOUT=A                                                
//SYSUDUMP DD SYSOUT=A                                                

Figure x6. HD Pointer Checker JCL procedure using the HD Pointer Checker processor (FABPCTAM)

---------------------------------------------
>>> 2.2.2 Input
>>>> 2.2.2.1 FABPMAIN PROCCTL data set

PROC statement

The following entries have been added to Figure 12:


,SENSOR=YES| NO                                  
,SENSOR_HOME= YES |NO                            
,TOSIXCFGRP= TOSI XCF group name | *NO            
,ADXCFGRP= Autonomic director XCF group name | *NO

Figure 12. PROC statement syntax

The descriptions of the ITKBSRVR keyword and the ITKBLOAD keyword have been changed as follows:

ITKBSRVR=
    Specifies the name of the IMS Tools KB server. HDPC reports are stored in the IMS Tools KB Output repository that is owned by the specified IMS Tools KB server.

    This keyword is optional. When you specify SENSOR=YES, DB Sensor stores sensor data in the Sensor Data repository that is managed by this IMS Tools KB server.
    servername
      HDPC stores reports in the IMS Tools KB Output repository of the specified server. When SENSOR=YES is specified, DB Sensor stores sensor data in the Sensor Data repository of IMS Tools KB.
    *NO
      HDPC does not store reports in the IMS Tools KB Output repository. This is the default.


ITKBLOAD=
    Specifies the IMS Tools KB load module data set that is to be used by HDPC. This keyword is optional.
    dsn
      Specifies the name of the IMS Tools KB load module data set that is to be used by HDPC.
    *NO
      The IMS Tools KB modules are loaded from the private library or the system library of the job. This is the default.
    Note: If you specify SENSOR=YES, you cannot specify the ITKBLOAD keyword. When you specify SENSOR=YES, you must specify the IMS Tools KB load module library in the STEPLIB concatenations.

The following keywords have been added:

SENSOR=
    Specifies whether DB Sensor stores sensor data in the Sensor Data repository of IMS Tools KB. This keyword can be specified when TYPE=ALL or TYPE=SCAN is specified. This keyword is optional.
    YES
      DB Sensor stores sensor data in the Sensor Data repository of IMS Tools KB during the HD Pointer Checker process.
      When you specify SENSOR=YES, you must specify the name of the IMS Tools KB server on the ITKBSRVR keyword.
      Restriction: Do not specify the ITKBLOAD keyword.
    NO
      Sensor data is not stored. SENSOR=NO is the default value.


SENSOR_HOME=
    Specifies whether to collect the data elements that are related to root segment distribution and store them in the Sensor Data repository of IMS Tools KB. When SENSOR=YES is not specified, this keyword is ignored.
    YES
      Collects the following data elements and stores them in the Sensor Data repository of IMS Tools KB:
      • DB_NUM_ROOT_NOHOME
      • DB_PCT_NUM_ROOT_NOHOME
      SENSOR_HOME=YES is the default value.
    NO
      Does not collect the data elements that are related to root segment distribution.
    Notes:
    • For information about the data elements that are related to root segment distribution, see the explanation of this keyword in the IMS Solution Packs: Database Sensor User's Guide.
    • When you specify SENSOR_HOME=YES, a randomizer is called to collect data for these data elements. Therefore, when SENSOR_HOME=YES is specified, the CPU time and the elapsed time will increase compared to when SENSOR_HOME=NO is specified.


TOSIXCFGRP=
    Specifies whether to monitor the latest VSAM statistics of online database data sets by using IMS Tools Online System Interface. If you specify the IMS Tools Online System Interface XCF group name, Space Monitor, DB Sensor, or both request IMS Tools Online System Interface to monitor the latest VSAM statistics of the online database data sets. Because this keyword is effective for online databases, you can omit this keyword when you process offline databases. When SENSOR=YES and SPMN=YES are not specified, this keyword is ignored.

    Important: If you specify SENSOR=YES or SPMN=YES, and you want to collect the latest VSAM statistics for an online database, you must specify the name of IMS Tools Online System Interface XCF group with this keyword.
    TOSI XCF group name
      Specify the XCF group name for IMS Tools Online System Interface. The XCF group name is an alphanumeric character string, which begins with TOI and is followed by the characters that are defined on the XCFGROUP= parameter in the IMS Tools Online System Interface PROCLIB member. For details about the XCFGROUP= parameter and the IMS Tools Online System Interface PROCLIB member, see the Tools Base IMS Tools Common Services User's Guide.
    *NO
      The latest VSAM statistics of online database data sets are not monitored. TOSIXCFGRP=*NO is the default value.


ADXCFGRP=
    Specifies whether to send notification to Autonomics Director. The notification is used as a trigger by Autonomics Director to schedule a policy evaluation. When SENSOR=YES is not specified, this keyword is ignored.

    Important: If you want Autonomics Director to schedule a policy evaluation, you must specify the name of the Autonomics Director XCF group with this keyword.
    Autonomic director XCF group name
      Specify the Autonomics Director XCF group name. DB Sensor sends sensor data notification to Autonomics Director after storing sensor data in the Sensor Data repository of IMS Tools KB.
      If you specify the Autonomics Director XCF group, you must specify DBRC=YES.
    *NO
      DB Sensor does not send sensor data notification to Autonomics Director. ADXCFGRP=*NO is the default value.

---------------------------------------------
>>> 2.2.3 Output
>>>> 2.2.3.4 STATIPRT data set

Figure 27 has been changed as follows:

Separator page for DB/DSG reports
...


Figure 27. STATIPRT--Separator page for DB/DSG reports (General format)

---------------------------------------------
>> 2.4 Operating instructions for the HD Pointer Checker Site Default Generation utility
>>> 2.4.2 Job control language
>>>> 2.4.2.2 FABPTGEN PROCCTL data set

The following entries have been added to Table 70:
Table 70. The keywords available for the site default in the PROC control statement
Keyword System default value of HD Pointer Checker Can specify site default value?
SENSOR NO Yes
SENSOR_HOME YES Yes
TOSIXCFGRP *NO Yes
ADXCFGRP *NO Yes

=================================
> 5.0 Space Monitor
>> 5.1 Overview of Space Monitor
>>> 5.1.5 Restrictions and considerations

The following item, which has been added by Update 6, has been deleted:
  • Non-VSAM data sets that are allocated on an extended address volume (EAV) are not supported by Space Monitor.
---------------------------------------------
>> 5.4 Available data set extents and last space
>>> 5.4.1 Available data set extents
>>>> 5.4.2 Last space

The following description has been changed:
  • Consideration about VSAM file data sets on Extended Address Volume (EAV):
    When Space Monitor calculates whether free space on the volume is enough for the next extension, Space Monitor does not use an actual BPV (breakpoint value) defined in z/OS or DFSMS. Space Monitor assumes the BPV as 10 and calculates as follows:
    • If the data set is not eligible to have extents in the Extended Addressing Space (EAS) or the data set secondary allocation requested is less than 10 cylinders, Space Monitor assumes that the next extension size is as same as the requested size.
    • ...

=================================
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.1 HD Pointer Checker
>>>> 8.1.1.3 Message

The following messages have been added:

FABP2125E APF AUTHORIZATION IS REQUIRED

Explanation: One or more libraries that were specified on the STEPLIB DD statement were not APF-authorized.
System Action: HD Pointer Checker ends the job with return code 8.
User Response: APF-authorize all the libraries that are specified on the STEPLIB DD statement and rerun the job.
Problem Determination: None.

FABP2126E SENSOR=YES CANNOT BE SPECIFIED BECAUSE reason

Explanation: SENSOR=YES was specified in the PROC statement. However, SENSOR=YES cannot be processed because of one of the following reasons:

reason Meaning
PGM=FABPPC00 IS NOT SPECIFIED IN THE EXEC STATEMENT The FABPMAIN program was specified for the IMS region controller program (DFSRRC00) on the HD Pointer Checker EXEC statement. When you specify SENSOR=YES, you must specify PGM=FABPPC00 on the EXEC statement.
ITKB SERVER NAME IS NOT SPECIFIED The IMS Tools KB server name was not specified on the ITKBSRVR parameter in the PROC statement. When you specify SENSOR=YES, you must specify the IMS Tools KB server name on the ITKBSRVR parameter.
THE ITKBLOAD PARAMETER IS SPECIFIED The ITKBLOAD parameter was specified on the PROC statement. When you specify SENSOR=YES, the IMS Tools KB load module library must reside on the STEPLIB DD.
HDPC IS RUN IN THE DBB REGION HDPC was run in the DBB region. When you specify SENSOR=YES, you must specify the ULU or DLI region.
IMS VERSION 9 IS UNSUPPORTED BY DB SENSOR DB Sensor does not support IMS Version 9.
THE INPUT DATABASE IS AN IMAGE COPY The input database was an image copy. When you specify SENSOR=YES, you must not specify an image copy data set as an input.
ALL OF DATA SET GROUPS OF DATABASES ARE NOT SPECIFIED Only a several of data sets of the database was specified as input database data sets. When you specify SENSOR=YES, you must specify all data sets of the database as the input.

System Action: Processing stops.
User Response: Correct the error and rerun the job.
Problem Determination: None.

FABP2127E THE TOSIXCFGRP PARAMETER CANNOT BE SPECIFIED BECAUSE PGM=FABPPC00 IS NOT SPECIFIED IN THE EXEC STATEMENT

Explanation: The XCF group name for IMS Tools Online System Interface was specified on the TOSIXCFGRP parameter in the PROC statement. However, the XCF group name for IMS Tools Online System Interface cannot be specified on the TOSIXCFGRP parameter when you run the FABPMAIN program in the IMS region controller program (DFSRRC00). If you specify the XCF group name for IMS Tools Online System Interface on the TOSIXCFGRP parameter, you must specify PGM=FABPPC00 in the JCL EXEC statement.
System Action: Processing stops.
User Response: Correct the error and rerun the job.
Problem Determination: None.


FABP2129W DB SENSOR API MODULE COULD NOT BE LOADED

Explanation: The DB Sensor API module could not loaded due to either of the following reasons:
  • The DB Sensor library was not specified on the STEPLIB statements.
  • The level of DB Sensor is not supported by HDPC.
System Action: Processing continues without the DB Sensor process.
User Response: Ensure that the correct load libraries are specified on the STEPLIB statements, and that DB Sensor is in the required version.
Problem Determination: None.




Update 6
Date of change: December 2011
Change description: Documentation changes by APAR PM46322. This APAR enables HD Pointer Checker to support OSAM data sets and image copy data sets that are allocated on extended address volumes (EAV).
Topics:
> 1.0 Introduction and product setup
>> 1.1 Overview of IMS HP Pointer Checker
>>> 1.1.5 Functional enhancements in IMS HP Pointer Checker Version 3
>>>> 1.1.5.1 HD Pointer Checker

The following description has been added:

APAR PM46322 enables HDPC to support OSAM data sets of IMS databases and image copy data sets that are allocated on extended address volumes (EAV).

=================================
> 5.0 Space monitor
>> 5.1 Overview of Space Monitor
>>> 5.1.5 Restrictions and considerations

The following item has been added:
  • Non-VSAM data sets that are allocated on an extended address volume (EAV) are not supported by Space Monitor.




Update 5
Date of change: December 2011
Change description: Documentation changes by APAR PM33231. This APAR fixes the problem that Space Monitor reports zero as free space after an IOS000I message is issued.
Topics:
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.4 Space Monitor
>>>> 8.1.4.3 Messages

The FABK3530E message has been changed as follows:

FABK3530E UNABLE TO OBTAIN DSCB (RC= nn CCHHR= cccchhhhrr ID= xxx) FOR DSNAME: dsname

Explanation: Program FABKSPMN could not obtain a DSCB for the data set ( dsname). Refer to z/OS DFSMSdfp Advanced Services for the explanation of the return code nn. cccchhhhrr indicates the address of the DSCB or shows "N/A". xxx is the identifier for debugging purposes.
System Action: FABKSPMN ends with an abend code of 3530.
User Response: Ensure that the volume that contains the data set indicated is mounted. Mount it or catalog the data set and rerun the job. If this situation persists, report it to systems operations personnel.



Update 4
Date of change: December 2011
Change description: Documentation changes by APAR PM28799. This APAR enables HD Pointer Checker to check the pointers that point to the logical records that contain non-unique keys in the overflow data set of a secondary index database during the Standard Check and HASH Check processes.

Topics:
> 1.0 Introduction and product setup
>> 1.1 Overview of IMS HP Pointer Checker
>>> 1.1.5 Functional enhancements in IMS HP Pointer Checker Version 3
>>>> 1.1.5.1 HD Pointer Checker

The following description has been added:

APAR PM28799 enables HDPC to check the pointers that point to the logical records that contain non-unique keys in the overflow data set of a secondary index database during the Standard Check and the HASH Check processes.

=================================
> 2.0 HD Pointer Checker
>> 2.2 Operating instructions for the HD Pointer Checker processor
>>> 2.2.1 Job control language
>>>> 2.2.1.1 FABPMAIN JCL

The description of MERGINnn DD has been modified as follows:

DD statements
...
MERGINnn DD
This is a data set that is generated by the scan process of HISAM, HDAM, HIDAM, PHDAM, PHIDAM (excluding primary index), and secondary index that has an overflow data set. It becomes the input for the CHECK process. It is not used for the following processes:
  • HASH Check
  • Scan tasks that are used solely for primary indexes or secondary indexes that have no overflow data sets
---------------------------------------------
>>> 2.2.2 Input
>>>> 2.2.2.1 FABPMAIN PROCCTL data set

Table 15. "Secondary index for non-HALDB" has been modified as follows:

Summary of index database checking

Basic Check
  • Check the number of index source segments and index pointer segments.
  • Validate the pointer values (RBA of the index target segment) of the index pointer segments.
  • Validate the pointers that point to the logical records in the overflow data set when the index database has an overflow data set.

Notes:
    ...
    4. When the secondary index database maintenance exit is defined on the index source segment, the Basic Check for the numbers of the index source segments and the index pointer segments and for the values of the pointers that point to the index target segments is done only when SPIXCHK=YES is also specified.
---------------------------------------------
>>> 2.2.3 Output
>>>> 2.2.3.5 VALIDPRT data set

The following description about T3 has been added:

Scan of Index Database report

TOTALS
:
HASH RECORDS
    The number of HASH records that were created by the SCAN processor in the primary or overflow part of this index database.
T3 (POINTER RECORD IN INDEX AND OVERFLOW)
    The number of pointers that point to logical records in the overflow data set of this secondary index database. These pointers are detected by the SCAN processor.

The following figure has been changed as follows:


Figure 47. VALIDPRT--Scan of Index Database report (Overflow)

---------------------------------------------
>> 2.11 Estimating runtime resources
>>> 2.11.1 Estimating the work data set size for HD Pointer Checker
>>>> 2.11.1.2 Estimating the size of MERGINnn

The following descriptions have been modified:

1. Fill in columns C for all databases other than primary index and PSINDEX databases, and D for all databases other than an index database.
    Column C: Total number of segments
      For HISAM, HDAM, HIDAM, PHDAM, or PHIDAM, refer to "DATABASE RECORD STATISTICS" in the Database Statistics report. For a non-HALDB secondary index database, refer to "TOTALS" in the Scan of Index Database report. The reports show the total occurrence of segments. Put that number in column C in worksheet 1.
---------------------------------------------
>>>> 2.11.1.3 Estimating the sizes of additional data sets

The following descriptions have been modified:

Estimating the size of the work data set for TYPE=SCAN (SORTEX01)

1. Fill in columns E and F in worksheet 1.
    Column E: Total number of internal pointers
    :
      For an index database, refer to "TOTALS" in the Scan of Index Database report, and put the following value in column E:
      • If column B is INDEX, the sum of the value of "TOTAL VALID SEGMENTS" of INDEX and twice the value of "TOTAL VALID SEGMENTS" of OVERFLOW
      • If column B is PSINDEX, the sum of "TOTAL VALID SEGMENTS" of INDEX for all partitions
=================================
> 4.0 DB Historical Data Analyzer
>> 4.2 Operating instructions for DB Historical Data Analyzer in the MVS batch environment
>>> 4.2.4 Output
>>>> 4.2.4.2 HISTPRT data set

The following description has been added:

HD Analysis report

<HISAM (or HIDAM INDEX or SECONDARY INDEX) STATISTICS>

TOTAL OSAM/ESDS BLOCKS/CIS IN DB
    This is the number of blocks or control intervals in OSAM/ESDS index database overflow data set. This field applies only to index databases.

POINTERS TO RECORDS IN OVERFLOW DB
    This is the number of pointers to logical records in the overflow data set that were detected in this secondary index database. This field applies only to secondary index databases.

The following figure has been changed as follows:


Figure 150. HISTPRT--HD Analysis report (PSINDEX database)

=================================
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.1 HD Pointer Checker
>>>> 8.1.1.3 Message

The following messages have been added:

FABP0974E NO POINTER TO THIS OVERFLOW LOGICAL RECORD

Explanation: The secondary index database is damaged. No direct-address pointer points to the logical record in the overflow data set.
System Action: Processing continues.
User Response: Repair the database, and rerun the HD Pointer Checker job.
Problem Determination: See "Database Repair Guidelines" in topic 2.9.

FABP1951E THE NUMBER OF DIRECT-ADDRESS POINTERS IS DIFFERENT FROM THE NUMBER OF LOGICAL RECORDS IN THE OVERFLOW DATA SET

Explanation: The secondary index database is damaged. The number of direct-address pointers that point to logical records in the overflow data set is not equal to the number of the logical records in the overflow data set.
System Action: Processing continues.
User Response: Repair the database, and rerun the HD Pointer Checker job.
Problem Determination: See "Database Repair Guidelines" in topic 2.9.

Explanations of the following messages have been modified:

FABP0971E TARGET ISN'T A VALID LOGICAL RECORD

Explanation: The HISAM or the secondary index database is damaged. The logical record corresponding to the direct-address pointer does not exist in the overflow data set. Note that this message can be issued for a normal HISAM database if some segments have been deleted from the HISAM database.

FABP0972E MORE THAN 1 POINTER TO THE SAME RECORD

Explanation: The HISAM or the secondary index database is damaged. More than one direct-address pointer points to the same logical record in the overflow data set. Note that this message can be issued for a normal HISAM database if some segments have been deleted from the HISAM database.

FABP1994E THE SUM OF DIRECT-ADDRESS POINTER VALUES IS DIFFERENT FROM THE SUM OF LOGICAL RECORD RBAS IN THE OVERFLOW DATA SET

Explanation: The HISAM or the secondary index database is damaged. The direct-address pointer values are not equal to the RBAs of the logical record in the overflow data set.



Update 3
Date of change: December 2011
Change description: Documentation change by APAR PM25283. This APAR fixes ABEND0C7 that might occur when a DBALLABOVE statement is specified in the DFSVSAMP data set.
Topics:
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.1 HD Pointer Checker
>>>> 8.1.1.3 Message

The User response section of message FABP3605E has been changed as follows:

FABP3605E OPEN FAILED FOR DDNAME: ddname

Explanation: In issuing an OPEN macro to open the data set associated with the specified ddname, the ABEND exit routine was called.
The following causes are possible for a tape data set:
  • Tape BLKSIZE is over 32760. There is a restriction that you have to make the block size of the image copy data set to be equal to or less than 32760.
  • DCB is not specified on the DD statement of a non-label (NL) tape. DCB is required for an NL tape.
System Action: The HD Pointer Checker issues a USER 3605 abend.
User Response: Correct the error and rerun the HD Pointer Checker job.
If the DBALLABOVE statement is specified in the DFSVSAMP DD, and if the message IEC133I appears in the joblog, remove the DBALLABOVE statement from the DFSVSAMP DD. You cannot specify the DBALLABOVE statement for OSAM data sets.
Problem Determination: Make sure that the ddname indicated in the DD statement is specifying the proper data set.



Update 2
Date of change: December 2011
Change description: Documentation changes by APAR PM21945. This APAR enables IMS HP Pointer Checker to run in an IMS Version 12 environment.
Topics:
> 1.0 Introduction and product setup
>> 1.1 Overview of IMS HP Pointer Checker
>>> 1.1.1 IMS HP Pointer Checker terminology

IMS Version 12 has been added to the list of supported IMS versions:
  • IMS Version 12 refers to IMS Version 12 Release 1.

---------------------------------------------
>>> 1.1.6 IMS HP Pointer Checker documentation and updates
>>>> 1.1.6.3 Related publications

The following IMS publications have been added to the table:
  • IBM IMS Version 12 Database Administration (SC19-3013)
  • IBM IMS Version 12 Operations and Automation (SC19-3018)
  • IBM IMS Version 12 System Definition (GC19-3021)



Update 1
Date of change: December 2011
Change description: User's Guide corrections and updates.
Topics:
> 1.0 Introduction and product setup
>> 1.2 Installing and configuring IMS HP Pointer Checker V3
>>> 1.2.6 Configuring IMS Tools Online System Interface for Space Monitor

FPOiiiO has been corrected to FOIiiiP as follows:

3. Create a unique IMS Tools Online System Interface PROCLIB member (FOI iiiiP) for each IMS system in which IMS Tools Online System Interface is needed. iiii is the 4-character IMS subsystem identifier.

4. Specify the XCF group name to the XCFGROUP= keyword in the FOI iiiiP member.

:

For details about each step of the procedure, see the topic "IMS Tools Online System Interface setup and usage" in the Tools Base IMS Tools Common Services User's Guide.

=================================
> 8.0 Troubleshooting
>> 8.1 Messages and codes
>>> 8.1.4 Space Monitor
>>>> 8.1.4.3 Messages

Explanation of the following message has been modified:

FABK0120W THE STATISTICS IN THE VSAM CATALOG IS INCORRECT: DSNAME dsname

Explanation: Space Monitor collected the space statistics about the data set from the VSAM catalog by using the IDCAMS LISTCAT routine. However, the number of CI splits, the number of CA splits, or both that were obtained from the VSAM catalog were incorrect.
The statistics in the VSAM catalog are updated when the data set is closed. If an error occurs when the data set is closed, the statistics such as the number of CI splits and the number of CA splits in the VSAM catalog become incorrect. If you ran Space Monitor after such close failure, the statistics obtained are likely to be incorrect. For more information about incorrect statistics in the VSAM catalog, see the topic about Statistics Group in z/OS DFSMS Access Method Services for Catalogs.

System Action: Program FABKSPMN continues processing and generates reports. In the reports, an asterisk (*) is printed on the right side of the incorrect data of the data set to indicate that the value is not accurate. The return code will be 4.
User Response: You can ignore this message if you do not want to monitor the number of CI splits and the number of CA splits of the data set.

If you want to correct this warning condition, correct the incorrect statistics in the VSAM catalog. To do so, copy the data set to a new data set. For more information about correcting the statistics in the VSAM catalog, see the topic about Statistics Group in z/OS DFSMS Access Method Services for Catalogs.

Publication number

SC19-2401-01

Copyright date

2000, 2010

Original publication date

2011/12/9

Cross reference information
Segment Product Component Platform Version Edition
Information Management IMS Tools IMS Database Solution Pack z/OS

Rate this page:

(0 users)Average rating

Document information


More support for:

IMS Tools
IMS HP Pointer Checker

Software version:

3.1.0

Operating system(s):

z/OS

Reference #:

7023701

Modified date:

2013-12-04

Translate my page

Machine Translation

Content navigation