DBRC and HD Pointer Checker

Certain considerations apply when running HD Pointer Checker with DBRC.

The HD Pointer Checker processor (FABPMAIN) of the HD Pointer Checker runs under the IMS batch region controller (DFSRRC00) to refer to certain DL/I control blocks. Even with this method, HD Pointer Checker does not access databases through DL/I calls.

IMS (DFSRRC00) treats HD Pointer Checker the same way it treats any other batch application program. IMS calls DBRC to obtain authorization. If authorization is denied, a DFS047A message is issued and HD Pointer Checker cannot be processed.

To avoid DBRC authorization failure, use one of the following methods:

If you cannot apply any of these methods, and if you encounter a DBRC authorization failure, run HD Pointer Checker after the cause of authorization failure has been resolved or after the job that has DBRC authorization ends.

Run HD Pointer Checker in a ULU region without a DBD name

The simplest method to avoid DBRC authorization failure is to use a ULU region and not specify a DBD name. The following figure shows an example.

Figure 1. EXEC parameter to avoid the DBRC authorization problem
//HDPCPRO  EXEC PGM=DFSRRC00,
//             PARM='ULU,FABPMAIN,,,,,,,,,,,,Y,N'
The first position in PARM is the region type, and the third position is the DBD name. Specify ULU in the first position, and do not specify a value for the third position. Because the DBD name that might be specified in the third position is not used by the HD Pointer Checker program, the third parameter can be omitted. When you specify a DBD name in the third position, IMS attempts to obtain DBRC authorization for the database, which might cause an authorization failure.
Important: When ULU is specified, do not specify a DBD name on the third parameter

Specify DBRC=N

Another method to avoid authorization failure is to inactivate DBRC. DBRC is required for HD Pointer Checker under certain conditions (see FABPMAIN EXEC statement for information about these conditions). If your HD Pointer Checker job does not meet these conditions, you can specify DBRC=N. The 14th position of the PARM= parameter is for DBRC.

Note: If DBRC=(FORCE) was defined in the IMSCTRL macro during IMS installation, DBRC is always active, even if you specify N to the 14th position in the PARM parameter.

Use PROCOPT=G or GO PCB

If you cannot use a ULU region or set DBRC=N (which means you need to use a DLI or DBB region with DBRC=Y), specify the name of the PSB that contains PROCOPT=G or GO PCB of the processing database. The PSB name is in the third position of the PARM parameter of DFSRRC00 that is specified in the EXEC statement. You can decrease the possibility of a DBRC authorization failure by using PROCOPT=G or GO PCB. Even if you use PROCOPT=G or GO PCB, DBRC can deny authorization depending on the database status. If authorization is denied, run HD Pointer Checker after the cause of authorization failure has been resolved.