Examples for enabling the HD Pointer Checker HASH Check option
Use the following examples to enable the HD Pointer Checker HASH Check option for the Image Copy function with IMS compatible JCL.
Subtopics:
Example 1: Taking image copies with a single job (multiple-step HASH Check)
The following figure is a JCL example for DBDEFCTL allocation job.
//ALLOC JOB
//ALLOC EXEC PGM=IDCAMS,DYNAMNBR=10
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE (SAMPLE.DBDEFCTL) NONVSAM
SET MAXCC = 0
ALLOCATE DSNAME('SAMPLE.DBDEFCTL') -
NEW -
UNIT(SYSDA) -
VOL(HPSVOL) -
SPACE(10,10) CYLINDER DIR(50)
/*
The following figure is a JCL example for the DBD Analysis program. This sample procedure, FABPDA, is provided in the SHPSSAMP library. The HIDAM database HI00180 has three data set groups, whose DD names are DSG001, DSG002, and DSG003. IX00180 is a HIDAM primary index.
//DBDANAL JOB
//DBDANAL EXEC FABPDA,
// PSB='PSBL0180',
// DBDEFC='SAMPLE.DBDEFCTL'
//PROCCTL DD *
PROC TYPE=ALL,HASH=YES
DATABASE DB=HI00180,DD=DSG001
DATABASE DB=HI00180,DD=DSG002
DATABASE DB=HI00180,DD=DSG003
DATABASE DB=IX00180,DD=PINDEX1,PRIMEDB=HI00180
/*
The following figure is a JCL example for an Image Copy job of IMS HP Image Copy with the HASH Check option for a HIDAM database and the primary index. This sample procedure, FABJIEC, is provided in the SHPSSAMP library. This job takes the image copies of four database data sets in a single job. The HASH records of the four database data sets are combined into one HASH record data set.
//DBDUMP JOB
//DBDUMP EXEC FABJEIC,
// DBDEFC='SAMPLE.DBDEFCTL',
// SORTEX='SAMPLE.SORTEX'
//DSG001 DD DISP=OLD,DSN=HI00180.DSG001
//DSG002 DD DISP=OLD,DSN=HI00180.DSG002
//DSG003 DD DISP=OLD,DSN=HI00180.DSG003
//PINDEX1 DD DISP=OLD,DSN=IX00180.PINDEX1
//DBAOUT1 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS1
//DBAOUT2 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS2
//DBAOUT3 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS3
//DBAOUTX DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDSX
//* +----1----+----2----+----3----+----4----+----5----+----6----+----7---
//SYSIN DD *
D1 HI00180 DSG001 DBAOUT1 Y HASH CHECK ON
D1 HI00180 DSG002 DBAOUT2 Y HASH CHECK ON
D1 HI00180 DSG003 DBAOUT3 Y HASH CHECK ON
D1 IX00180 PINDEX1 DBAOUTX Y HASH CHECK ON
/*
The following figure is a JCL example for the HASH Evaluation program for a HIDAM database and the primary index.
//HASHEVEL JOB
//*
//HASHEVAL EXEC FABPHE,
// DBDEFC='SAMPLE.DBDEFCTL',
// SORTEX='SAMPLE.SORTEX'
After you complete the HASH evaluation, delete the SORTEX data set.
Example 2: Taking image copies with multiple job steps (multiple-step HASH Check)
The following figure is an example of multiple Image Copy jobs with the HASH Check option for a HIDAM database and the primary index. This sample procedure, FABPIC, is provided in the SHPSSAMP library.
In this example, the HIDAM database HI00180 has three data set groups, whose DD names are DSG001, DSG002, and DSG003. IX00180 is a HIDAM primary index.
The same DBD Analysis program JCL as used in Example 1: Taking image copies with a single job (multiple-step HASH Check) can be used for this case. You can use the already created DBDEFCTL data set. The image copies of four database data sets are taken in multiple jobs. The HASH records are written into separate HASH record data sets.
//DBDUMP1 JOB
//DBDUMP EXEC FABPIC,
// DBDEFC='SAMPLE.DBDEFCTL',
// SORTEX='SAMPLE.SORTEX1'
//DSG001 DD DISP=OLD,DSN=HI00180.DSG001
//DBAOUT1 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS1
//* +----1----+----2----+----3----+----4----+----5----+----6----+----7---
//SYSIN DD *
D1 HI00180 DSG001 DBAOUT1 Y DUMP SINGLE DS WITH COMP
/*
//DBDUMP2 JOB
//DBDUMP EXEC FABPIC,
// DBDEFC='SAMPLE.DBDEFCTL',
// SORTEX='SAMPLE.SORTEX2'
//DSG002 DD DISP=OLD,DSN=HI00180.DSG002
//DBAOUT2 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS2
//* +----1----+----2----+----3----+----4----+----5----+----6----+----7---
//SYSIN DD *
D1 HI00180 DSG002 DBAOUT2 Y DUMP SINGLE DS WITH COMP
/*
//DBDUMP3 JOB
//DBDUMP EXEC FABPIC,
// DBDEFC='SAMPLE.DBDEFCTL',
// SORTEX='SAMPLE.SORTEX3'
//DSG003 DD DISP=OLD,DSN=HI00180.DSG003
//DBAOUT3 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS3
//* +----1----+----2----+----3----+----4----+----5----+----6----+----7---
//SYSIN DD *
D1 HI00180 DSG003 DBAOUT3 Y DUMP SINGLE DS WITH COMP
/*
//DBDUMPX JOB
//DBDUMP EXEC FABPIC,
// DBDEFC='SAMPLE.DBDEFCTL',
// SORTEX='SAMPLE.SORTEXX'
//PINDEX1 DD DISP=OLD,DSN=IX00180.PINDEX1
//DBAOUTX DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDSX
//* +----1----+----2----+----3----+----4----+----5----+----6----+----7---
//SYSIN DD *
D1 IX00180 PINDEX1 DBAOUTX Y HASH CHECK ON
/*
The following figure is an example of a HASH Evaluation program job for a HIDAM database and the primary index. This sample procedure, FABPHE, is provided in the SHPSSAMP library.
//HASHEVEL JOB
//*
//HASHEVAL EXEC FABPHE,
// DBDEFC='SAMPLE.DBDEFCTL'
//HDPCPRO.SORTIN DD DISP=SHR,DSN=DSN=SAMPLE.SORTEX1
// DD DISP=SHR,DSN=DSN=SAMPLE.SORTEX2
// DD DISP=SHR,DSN=DSN=SAMPLE.SORTEX3
// DD DISP=SHR,DSN=DSN=SAMPLE.SORTEXX
After you complete the HASH evaluation, delete all SORTEX data sets.
Example 3: Taking image copies with single-step HASH Check
The following figure is an example of an image copy job with single-step HASH Check option for a HIDAM database and the primary index. This sample procedure, FABPICHE, is provided in the SHPSSAMP library.
In this example, the HIDAM database HI00180 has three data set groups, whose DD names are DSG001, DSG002, and DSG003. IX00180 is a HIDAM primary index.
When using the single-step HASH Check option, the DBD analysis and evaluation steps of IMS HP Pointer Checker are not necessary, and all HASH Check processes are done in the IMS HP Image Copy job step.
//DBDUMP EXEC FABPICHE
//DSG001 DD DISP=OLD,DSN=HI00180.DSG001
//DSG002 DD DISP=OLD,DSN=HI00180.DSG002
//DSG003 DD DISP=OLD,DSN=HI00180.DSG003
//PINDEX1 DD DISP=OLD,DSN=IX00180.PINDEX1
//DBAOUT1 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS1
//DBAOUT2 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS2
//DBAOUT3 DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDS3
//DBAOUTX DD DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5,5)),
// UNIT=SYSDA,VOL=SER=ICVOL1,
// DSN=HI00180.DSG001.ICDSX
//* +----1----+----2----+----3----+----4----+----5----+----6----+----7---
//SYSIN DD *
D1 HI00180 DSG001 DBAOUT1 Y HASH CHECK ON
D1 HI00180 DSG002 DBAOUT2 Y HASH CHECK ON
D1 HI00180 DSG003 DBAOUT3 Y HASH CHECK ON
D1 IX00180 PINDEX1 DBAOUTX Y HASH CHECK ON
/*