Example 7: Running HD Tuning Aid in an IMS-managed ACBs environment

This JCL example shows how to run HD Tuning Aid to evaluate data distribution of databases when the IMS management of ACBs is enabled.

Points to be considered:
  • The HD Tuning Aid utility must be executed under the IMS batch region controller.
  • Specify the DFSDF=CAT parameter for the PARM= parameter on the EXEC statement. In this example, it is assumed that the DFSDFCAT member enables IMS-managed ACBs and that this member exists in the data set (HPS.TEST.PROCLIB) that is specified to the PROCLIB DD.
  • The IMS Tools Base library (SGLXLOAD) of IMS Tools Base 1.6 or later is specified on the STEPLIB DD statement.
  • In this example, it is assumed that the KEYSIN data set (HPS.TEST.KEYSIN) has been created in an earlier HD Pointer Checker job and contains root keys for the databases to be analyzed.
Figure 1. HD Tuning Aid example: IMS-managed ACBs environment
//STEP1   EXEC PGM=DFSRRC00,                                        
//     PARM='DLI,FABTROOT,P33J001G,,,,,,,,,,,Y,N,,,,,,,,,,,,DFSDF=CAT', 
//             REGION=1000K,TIME=(,30)                               
//STEPLIB   DD DSN=HPS.SHPSLMD0,DISP=SHR                                
//          DD DSN=ITKBHLQ.SGLXLOAD,DISP=SHR                          
//          DD DSN=IMSVS.RESLIB,DISP=SHR   
//SYSUDUMP  DD SYSOUT=A                                              
//RAPSIN    DD DSN=&&RAPSIN,DISP=(,PASS,DELETE),                     
//             UNIT=SYSDA,SPACE=(CYL,(10,10)),                         
//             DCB=BLKSIZE=8400                                      
//IMS2      DD DSN=IMSVS.RESLIB,DISP=SHR                                 
//IEFRDER   DD DUMMY,DCB=BLKSIZE=1408                                
//DFSRESLB  DD DSN=IMSVS.RESLIB,DISP=SHR                                 
//DFSVSAMP  DD DSN=HPS.SHPSSAMP(FABPVSAM),DISP=SHR                      
//PR8       DD SYSOUT=A,DCB=BLKSIZE=6118                             
//PR10      DD SYSOUT=A,DCB=BLKSIZE=6118                             
//KEYSIN    DD DSN=HPS.TEST.KEYSIN,DISP=OLD           
//PROCLIB   DD DSN=HPS.TEST.PROCLIB,DISP=SHR                                 
//RECON1    DD DSN=HPS.TEST.RECON1,DISP=SHR                               
//RECON2    DD DSN=HPS.TEST.RECON2,DISP=SHR                               
//RECON3    DD DSN=HPS.TEST.RECON3,DISP=SHR  
//*-------------------------------------------------------------     
//STEP2   EXEC PGM=SORT,PARM='',COND=(0,LT,STEP1)                    
//SORTIN    DD DSN=*.STEP1.RAPSIN,DISP=(OLD,DELETE,DELETE),          
//             DCB=(LRECL=42,BLKSIZE=8400,RECFM=FB)                  
//SORTOUT   DD DSN=&&KEYSOUT,DISP=(,PASS,DELETE),                    
//             UNIT=SYSDA,SPACE=(CYL,(10,10)),                         
//             DCB=(LRECL=42,BLKSIZE=8400,RECFM=FB)                  
//SORTWK01  DD UNIT=SYSDA,SPACE=(CYL,(10,10))                          
//SORTWK02  DD UNIT=SYSDA,SPACE=(CYL,(10,10))                          
//SORTWK03  DD UNIT=SYSDA,SPACE=(CYL,(10,10))                          
//SORTWK04  DD UNIT=SYSDA,SPACE=(CYL,(10,10))                          
//SORTWK05  DD UNIT=SYSDA,SPACE=(CYL,(10,10))                          
//SORTWK06  DD UNIT=SYSDA,SPACE=(CYL,(10,10))                          
//SYSOUT    DD SYSOUT=A                                              
//SYSIN     DD DSN=HPS.SHPSSAMP(FABPSORT),DISP=SHR                        
//*-------------------------------------------------------------     
//STEP3   EXEC PGM=FABTRAPS,COND=(0,LT,STEP2)                        
//STEPLIB   DD DSN=HPS.SHPSLMD0,,DISP=SHR     
//SYSUDUMP  DD SYSOUT=A                                              
//PR9       DD SYSOUT=A,DCB=BLKSIZE=6118                             
//PR9X      DD SYSOUT=A,DCB=BLKSIZE=6118                             
//KEYSOUT   DD DSN=*.STEP2.SORTOUT,DISP=(OLD,DELETE,DELETE),         
//             DCB=(LRECL=42,BLKSIZE=8400,RECFM=FB)