CRF or FRF/EP method


With CRF or FRF/EP, the utility obtains information as follows:

  • Obtains information about the existing (unchanged) partitions by reading the active RECON data sets (RECON1, RECON2, and RECON3)
  • Obtains information about the new (changed) partitions by reading the DSPURX00 control statements from the BMC$DBRC data set that you specify

During the initialization phase of the reorganization, CRF copies the active RECONs to temporary data sets and applies the updates from the BMC$DBRC data set, creating temporary RECONs. CRF applies the DBRC updates to the active RECONs during the post-processing phase.

For example, a HALDB named PHIDAM has five partitions with the following high-key definitions:

  • Partition PHIDAM1: 199999999
  • Partition PHIDAM2: 299999999
  • Partition PHIDAM3: 399999999
  • Partition PHIDAM4: 499999999
  • Partition PHIDAM5: 999999999

The following JCL contains a CRF step that implements changes to this HALDB during reorganization:

  //CRF      EXEC  PGM=DFSRRC00,PARM='ULU,DFSURGL0,PHIDAM,,,,,,,,,,,Y'     
//STEPLIB  DD  DISP=SHR,DSN=..................                           
//         DD  DISP=SHR,DSN=IMSVS.R12.RESLIB                             
//DFSRESLB DD  DISP=SHR,DSN=IMSVS.R12.RESLIB                             
//PLUSIN   DD  *                                                         
 REORG                 +                                                 
  SHARE(Y,UPDATE)      +                                                 
  SWAP(Y)              +                                                 
  DBRCUPDT(YES)        +
  OLDDBD(OLDDBD)       +
  IDCAMS(MODEL,IDCOUT) +                                                 
  DYNALLOC(Y,Y,Z)                                                        
//BMC$DBRC DD  *                                                         
 DELETE.PART  DBD(PHIDAM)   PART(PHIDAM4)                                
 DELETE.PART  DBD(PHIDAM)   PART(PHIDAM5)                                
 CHANGE.PART  DBD(PHIDAM)  PART(PHIDAM1)                  -              
              KEYSTRNG(299999999)                                       
 CHANGE.PART  DBD(PHIDAM)  PART(PHIDAM2)                  -              
              KEYSTRNG(499999999)                                       
 CHANGE.PART  DBD(PHIDAM)  PART(PHIDAM3)                  -              
              KEYSTRNG(999999999)                                        
//ICPSYSIN DD  *                                                         
 GLBL DBRC(Y) PCP(Y)                                                     
 IC DBD(PHIDAM) DDN(PHIDAM1A) IC(OUTDD1A)                                
 IC DBD(PHIDAM) DDN(PHIDAM2A) IC(OUTDD2A)                                
 IC DBD(PHIDAM) DDN(PHIDAM3A) IC(OUTDD3A)                                
//*
//IMS      DD  DISP=SHR,DSN=BMC.DBDLIB                                   
//OLDDBD   DD  DISP=SHR,DSN=BMC.OLDDBDLB
//OUTDD1A  DD  DISP=SHR,DSN=BMC.PHIDAM.PHIDAM1.IC                        
//OUTDD2A  DD  DISP=SHR,DSN=BMC.PHIDAM.PHIDAM2.IC                        
//OUTDD3A  DD  DISP=SHR,DSN=BMC.PHIDAM.PHIDAM3.IC

The statements in bold indicate the significant differences from reorganization JCL that does not implement HALDB changes:

  • In the PLUSIN data set, specify the DBRCUPDT(YES) keyword to indicate that you want to make changes to the HALDB partition definitions.
  • Specify the BMC$DBRC DD statement to identify the control statements for changing the HALDB partition definitions. These statements are the same ones that you would specify for the DSPURX00 utility.
  • If you are changing the database definition (DBD) that is stored in the IMS DBD library, specify a DD statement that identifies the library containing the unchanged DBD. Use the OLDDBD keyword in PLUSIN to indicate the ddname of that DD statement. If you are changing the partition definitions only, omit the OLDDBD keyword and corresponding DD statement.

Note

The IMS DD statement should identify the IMS DBD library that contains the changed DBD.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*