Procedure FABPPMD

The FABPPMD procedure corresponds to FABPPM. Both procedures check pointers in multiple job steps; FABPPMD, though, provides for dynamic PSB generation.

The DBD parameter of the FABPPMD procedure is not required.

Figure 1. HD Pointer Checker JCL procedure using the HD Pointer Checker processor (FABPPMD) (Part 1 of 3)
//********************************************************************  00010000
//*   Licensed Materials - Property of IBM                           *  00020000
//*                                                                  *  00030000
//*   5655-U09                                                       *  00040000
//*                                                                  *  00050000
//*   Copyright IBM Corporation 2000, 2008. All rights reserved.     *  00060000
//*                                                                  *  00070000
//*   US Government Users Restricted Rights - Use,                   *  00080000
//*   duplication or disclosure restricted by GSA ADP                *  00090000
//*   Schedule Contract with IBM Corp.                               *  00100000
//*                                                                  *  00110000
//********************************************************************  00120000
//        PROC DBD=,                     DBDNAME                        00130000
//        DBRC=N,                        DBRC=Y IF HALDB PROCESS        00140000
//        KEYS='NULLFILE',               DS NAME IF GENERATE KEYSIN     00150000
//        KEYSVOL=,                      VOL NAME OF KEYSIN             00160000
//        KEYSU='SYSDA',                 UNIT FOR KEYSIN DATA SET       00170000
//        KEYSCYL='1,1',                 SPACE FOR KEYSIN DATA SET      00180000
//        U=SYSDA,                       UNIT FOR WORK DATA SETS        00190000
//        CYL='1,1',                     SPACE FOR WORK DATA SETS       00200000
//        SORT2=,            SORT2='DUMMY,' IF NO SORTEX2 DATA SET      00210000
//        MERG2=,            MERG2='DUMMY,' IF NO MERGIN2 DATA SET      00220000
//        SORTIL='&&SORTIL',                DS NAME IF HALDB PROCESS    00230000
//        PRTBLK=0,                      BLKSIZE OF PRINT DATA SETS     00232000
//        PRTBLK2=0,                     BLKSIZE OF FSESTAT DATA SET    00235000
//        SORTBLK=0,                     BLKSIZE OF SORT RECORDS        00237000
//        HISTORY='NULLFILE',            HISTORY DATA SET               00240000
//        USERLIB='USER.LOADLIB',        USER RANDOMIZER ,              00250000
//*                                      SEGMENT COMPACTION EXIT AND    00260000
//*                                      INDEX MAINTENANCE EXIT         00265000
//        DBDLIB='IMSVS.DBDLIB',         DBD LIBRARY                    00270000
//        RESLIB='IMSVS.RESLIB',                                        00280000
//        DBTLIB='HPS.SHPSLMD0',         HPS LIBRARY                    00290000
//        DBTSRC='HPS.SHPSSAMP'          BUFF PARM DATA SET             00300000
//********************************************************************* 00310000
//* DB SCAN STEP                                                        00320000
//********************************************************************* 00330000
//HDPCSCAN EXEC PGM=DFSRRC00,                                           00340000
//             PARM='ULU,FABPMAIN,&DBD,,,,,,,,,,,&DBRC,N'               00350000
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                      00360000
//         DD DSN=&RESLIB,DISP=SHR                                      00370000
//         DD DSN=&USERLIB,DISP=SHR                                     00380000
Figure 2. HD Pointer Checker JCL procedure using the HD Pointer Checker processor (FABPPMD) (Part 2 of 3)
//*-------------------------------------------------------------------* 00390000
//* FOR IMS DATA SETS                                                   00400000
//*-------------------------------------------------------------------* 00410000
//IMS      DD DSN=&DBDLIB,DISP=SHR                                      00420000
//IMS2     DD DSN=&RESLIB,DISP=SHR                                      00430000
//         DD DSN=&USERLIB,DISP=SHR                                     00440000
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                      00450000
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                            00460000
//IEFRDER  DD DUMMY                                                     00470000
//*-------------------------------------------------------------------* 00490000
//* REPORTS                                                             00500000
//*-------------------------------------------------------------------* 00510000
//PRIMAPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     00520000
//STATIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     00530000
//VALIDPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     00540000
//EVALUPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     00550000
//EVALIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     00560000
//SNAPPIT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     00570000
//SUMMARY  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     00580000
//SYSUDUMP DD SYSOUT=A                                                  00590000
//*-------------------------------------------------------------------* 00600000
//* HISTORY ANALYSIS DATA SET                                           00610000
//*-------------------------------------------------------------------* 00620000
//HISTORY  DD DSN=&HISTORY,DISP=SHR                                     00630000
//*-------------------------------------------------------------------* 00640000
//* SORT RECORDS                                                        00650000
//*-------------------------------------------------------------------* 00660000
//SORTEX01 DD DSN=&&SORTEX,DISP=(NEW,PASS,DELETE),                      00700000
//             UNIT=&U,SPACE=(CYL,(&CYL)),                              00710000
//             DCB=(BLKSIZE=&SORTBLK)                                   00730000
//MERGIN01 DD DSN=&&MERGIN,DISP=(NEW,PASS,DELETE),                      00760000
//             UNIT=&U,SPACE=(CYL,(&CYL)),                     @PN04801 00770000
//             DCB=(BLKSIZE=&SORTBLK)                                   00770500
//*-------------------------------------------------------------------* 00771000
//* SPECIFY SORTEX2 AND MERGIN2 FOR SCAN WITH IXKEYCHK = YES            00773000
//*-------------------------------------------------------------------* 00774000
//SORTE201 DD &SORT2.DSN=&&SORTEX2,DISP=(NEW,PASS,DELETE),              00776000
//             UNIT=&U,SPACE=(CYL,(&CYL))                               00777000
//MERGI201 DD &MERG2.DSN=&&MERGIN2,DISP=(NEW,PASS,DELETE),              00779000
//             UNIT=&U,SPACE=(CYL,(&CYL))                               00780000
//*-------------------------------------------------------------------* 00782000
//* SPECIFY SORTIL FOR SCAN WITH EPSCHK = YES                           00783000
//*-------------------------------------------------------------------* 00785000
//SORTIL01 DD DSN=&SORTIL,DISP=(NEW,PASS,DELETE),                       00786000
//             UNIT=&U,SPACE=(CYL,(&CYL))                               00788000
//*-------------------------------------------------------------------* 00790000
//* FOR SCAN WITH HDAM/HIDAM PROCESS                                    00800000
//*-------------------------------------------------------------------* 00810000
//KEYSIN   DD DSN=&KEYS,DISP=(NEW,CATLG,DELETE),                        00820000
//             UNIT=&KEYSU,SPACE=(CYL,(&KEYSCYL)),VOL=SER=&KEYSVOL,     00830000
//             DCB=(RECFM=VB)                                           00840000
Figure 3. HD Pointer Checker JCL procedure using the HD Pointer Checker processor (FABPPMD) (Part 3 of 3)
//********************************************************************* 01330000
//* CHECK STEP                                                          01340000
//********************************************************************* 01350000
//HDPCCHK  EXEC PGM=DFSRRC00,                                           01360000
//             PARM='ULU,FABPMAIN,&DBD,,,,,,,,,,,&DBRC,N',              01370000
//             COND=(4,LT,HDPCSCAN)                                     01380000
//STEPLIB  DD DSN=&DBTLIB,DISP=SHR                                      01390000
//         DD DSN=&RESLIB,DISP=SHR                                      01400000
//         DD DSN=&USERLIB,DISP=SHR                                     01410000
//*-------------------------------------------------------------------* 01420000
//* FOR IMS DATA SETS                                                   01430000
//*-------------------------------------------------------------------* 01440000
//IMS      DD DSN=&DBDLIB,DISP=SHR                                      01450000
//IMS2     DD DSN=&RESLIB,DISP=SHR                                      01460000
//         DD DSN=&USERLIB,DISP=SHR                                     01470000
//DFSRESLB DD DSN=&RESLIB,DISP=SHR                                      01480000
//DFSVSAMP DD DSN=&DBTSRC(FABPVSAM),DISP=SHR                            01490000
//IEFRDER  DD DUMMY                                                     01500000
//*-------------------------------------------------------------------* 01530000
//* REPORTS                                                             01540000
//*-------------------------------------------------------------------* 01550000
//PRIMAPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     01560000
//STATIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     01570000
//VALIDPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     01580000
//EVALUPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     01590000
//EVALIPRT DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     01600000
//SNAPPIT  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     01610000
//SUMMARY  DD SYSOUT=A,DCB=BLKSIZE=&PRTBLK,OUTLIM=0                     01620000
//SYSUDUMP DD SYSOUT=A                                                  01630000
//*-------------------------------------------------------------------* 01680000
//* HISTORY ANALYSIS DATA SET                                           01690000
//*-------------------------------------------------------------------* 01700000
//HISTORY  DD DSN=&HISTORY,DISP=SHR                                     01710000
//*-------------------------------------------------------------------* 01710900
//* FOR CHECK PROCESS                                                   01711000
//*-------------------------------------------------------------------* 01712000
//SORTEX01 DD DSN=&&SORTEX,DISP=(OLD,DELETE,DELETE)                     01713000
//MERGIN01 DD DSN=&&MERGIN,DISP=(OLD,DELETE,DELETE)                     01714000
//SORTE201 DD &SORT2.DSN=&&SORTEX2,DISP=(OLD,DELETE,DELETE)             01715000
//MERGI201 DD &MERG2.DSN=&&MERGIN2,DISP=(OLD,DELETE,DELETE)             01716000
//SORTIL01 DD DSN=&SORTIL,DISP=(OLD,DELETE,DELETE)                      01717000
//FSESTAT  DD DSN=&&FSESTAT,DISP=(NEW,DELETE,DELETE),                   01718000
//             UNIT=&U,SPACE=(CYL,(2,2)),DCB=BLKSIZE=&PRTBLK2           01719000
//*-------------------------------------------------------------------* 01720000
//* FOR CHECK AND BLKMAP PROCESS                                        01730000
//*-------------------------------------------------------------------* 01740000
//JRM      DD DSN=&&JRM,DISP=(NEW,DELETE,DELETE),                       01760000
//             UNIT=&U,SPACE=(CYL,(&CYL)),                              01770000
//             DCB=(BLKSIZE=&SORTBLK)                                   50000000