Need to rebuild the Endevor ACM XREF and Root files
search cancel

Need to rebuild the Endevor ACM XREF and Root files

book

Article ID: 230746

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

The ACMROOT and ACMXREF files became corrupted.  What is the best way to rebuild them?

Environment

Release : ALL 

Resolution

To rebuild the ACMROOT and ACMXREF files please follow the below instructions.  As always please contact the Broadcom Support Team prior to rebuilding. 

  1. The rebuild of the file must be done when no one is in Endevor foreground or running Endevor batch jobs/packages. 
  1. Rename the existing ACMROOT & ACMXREF file to .old and then Build & Define the ACM files using the BC1JACMD job in the CSIQJCL Library - so you don't have to update your C1DEFLTS use the existing names NDV.ACM.ROOT AND NDV.ACM.XREF for example. Below is a sample JCL that can be used:
//*(JOBCARD)                                                           
//*-------------------------------------------------------------------*
//* THIS JOB WILL RENAME, DELETE AND BUILD NEW ACMROOT & ACMXREF      *
//*                                                                   *
//*  1) ADD A VALID JOB CARD AT THE FRONT OF THE JOB STREAM           *
//*  2) CHANGE THE DATASET NAMES AND OTHER VARIABLES                  *
//*     TO APPROPRIATE VALUES FOR YOUR INSTALLATION.                  *
//*                                                                   *
//* NOTE:  THE NAMES IN THE CLUSTER DEFINES MUST MATCH THE ACMROOT    *
//*        AND ACMXREF DATA SET NAME SPECIFICATIONS IN THE C1DEFLTS   *
//*        TABLE.                                                     *
//*-------------------------------------------------------------------*
//*  STEP1 RENAME THE EXISTING ROOT/XREF TO .OLD                      *
//*-------------------------------------------------------------------*
//STEP1    EXEC PGM=IDCAMS,COND=(0,NE)                                 
//SYSPRINT DD   SYSOUT=*                                               
//SYSIN    DD  *                                                        
  ALTER -
  NDV.ACM.ROOT              -                                          
  NEWNAME(NDV.ACM.ROOT.OLD)                                            
                                                                        
  ALTER -
  NDV.ACM.ROOT.DATA         -                                          
  NEWNAME(NDV.ACM.ROOT.DATA.OLD)                                        
                                                                       
  ALTER -
  NDV.ACM.XREF              -                                          
  NEWNAME(NDV.ACM.XREF.OLD)                                            
                                                                       
  ALTER -
  NDV.ACM.XREF.DATA              -                                      
  NEWNAME(NDV.ACM.XREF.DATA.OLD)                                       
                                                                       
//*-------------------------------------------------------------------*
//*  STEP2 DEFINE NEW ROOT/XREF FILES                                  
//*-------------------------------------------------------------------*
//STEP2    EXEC PGM=IDCAMS,COND=(0,NE)     
//SYSPRINT DD   SYSOUT=*                   
//SYSIN    DD  *                            
 DEFINE CLUSTER (NAME('NDV.ACM.ACMROOT')) - 
        MODEL ('NDV.ACM.ACMROOT.OLD')      
                                           
 DEFINE CLUSTER (NAME('NDV.ACM.ACMROOT')) - 
        MODEL ('NDV.ACM.ACMROOT.OLD')      
//*                                        
  1. Run the BC1JACML load job in the CSIQJCL library to rebuild ACM. The print section will have to be run for each environment in the c1deflts table.  Then each dataset will have to be loaded into the new files.  Below is a sample JCL for a C1DEFLTS table that has 4 Environments:
//*(JOBCARD)
//*-------------------------------------------------------------------*
//* NAME: BC1JACML                                                    *
//*-------------------------------------------------------------------*
//*                                                                   *
//* FUNCTION: THIS JOB EXTRACTS ACM COMPONENT DATA AND POPULATES      *
//*           THE ACM QUERY ROOT AND CROSS-REFERENCE DATA SETS.       *
//*                                                                   *
//*  1) ADD A VALID JOB CARD AT THE FRONT OF THE JOB STREAM           *
//*  2) CHANGE THE DATASET NAMES AND OTHER VARIABLES                  *
//*     TO APPROPRIATE VALUES FOR YOUR INSTALLATION.                  *
//*  3) UPDATE THE PRINT ACTION SCL STATEMENT TO INCLUDE EVERY        *
//*     ENVIRONMENT IN YOUR C1DEFLTS TABLE.                           *
//*                                                                   *
//*-------------------------------------------------------------------*
//*********************************************************************
//**  ENSURE EXTRACT DATA SET DOES NOT ALREADY EXIST                 **
//*********************************************************************
//STEP1    EXEC PGM=IEFBR14
//DELETE1  DD DSN=NDV.ACM.ENV1.ACMCOMP.EXTRACT,
//            DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,1)
//DELETE2  DD DSN=NDV.ACM.ENV2.ACMCOMP.EXTRACT,
//            DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,1)
//DELETE3  DD DSN=NDV.ACM.ENV3.ACMCOMP.EXTRACT,
//            DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,1)
//DELETE4  DD DSN=NDV.ACM.ENV4.ACMCOMP.EXTRACT,
//            DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,1)
//*********************************************************************
//**  EXTRACT ACM COMPONENT INFORMATION                              **
//*********************************************************************
//STEP2    EXEC PGM=NDVRC1,DYNAMNBR=1500,PARM='C1BM3000',REGION=4096K
//STEPLIB  DD DISP=SHR,DSN=YOUR.ENDEVOR.CSIQAUTU
//         DD DISP=SHR,DSN=YOUR.ENDEVOR.CSIQAUTH
//CONLIB   DD DISP=SHR,DSN=YOUR.ENDEVOR.CSIQLOAD
//C1PRINT  DD SYSOUT=*                              PRINT ACTION FILE
//C1MSGS1  DD SYSOUT=*                              NDVR MESSAGES FILE
//SYSOUT   DD SYSOUT=*
//SYMDUMP  DD DUMMY
//SYSUDUMP DD SYSOUT=*
//ACMCOMP1 DD DSN=NDV.ACM.ENV1.ACMCOMP.EXTRACT,
//         DISP=(,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,(100,50),RLSE),
//         DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0,DSORG=PS)
//ACMCOMP2 DD DSN=NDV.ACM.ENV2.ACMCOMP.EXTRACT,
//         DISP=(,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,(100,50),RLSE),
//         DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0,DSORG=PS)
//ACMCOMP3 DD DSN=NDV.ACM.ENV3.ACMCOMP.EXTRACT,
//         DISP=(,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,(100,50),RLSE),
//         DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0,DSORG=PS)
//ACMCOMP4 DD DSN=NDV.ACM.ENV4.ACMCOMP.EXTRACT,
//         DISP=(,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,(100,50),RLSE),
//         DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0,DSORG=PS)
//BSTIPT01 DD *
  PRINT ELEMENT *
   FROM ENV ENV1 SYSTEM * SUBSYSTEM * TYPE * STAGE *
   TO FILE ACMCOMP1
   OPTIONS COMPONENT BROWSE.
 
  PRINT ELEMENT *
   FROM ENV ENV2 SYSTEM * SUBSYSTEM * TYPE * STAGE *
   TO FILE ACMCOMP2
   OPTIONS COMPONENT BROWSE.
 
  PRINT ELEMENT *
   FROM ENV ENV3 SYSTEM * SUBSYSTEM * TYPE * STAGE *
   TO FILE ACMCOMP3
   OPTIONS COMPONENT BROWSE.
 
  PRINT ELEMENT *
   FROM ENV ENV4 SYSTEM * SUBSYSTEM * TYPE * STAGE *
   TO FILE ACMCOMP4
   OPTIONS COMPONENT BROWSE.
 
//*********************************************************************
//**  POPULATE THE ACM QUERY ROOT AND CROSS-REFERENCE DATA SETS      **
//*********************************************************************
//LOAD    EXEC PGM=NDVRC1,PARM='BC1PACMO'
//STEPLIB  DD DISP=SHR,DSN=YOUR.ENDEVOR.CSIQAUTU
//         DD DISP=SHR,DSN=YOUR.ENDEVOR.CSIQAUTH
//CONLIB   DD DISP=SHR,DSN=YOUR.ENDEVOR.CSIQLOAD
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//ACMMSGS1 DD SYSOUT=*
//ACMCOMP  DD DSN=NDV.ACM.ENV1.ACMCOMP.EXTRACT,
//         DISP=(OLD,DELETE,KEEP)
//         DD DSN=NDV.ACM.ENV2.ACMCOMP.EXTRACT,
//         DISP=(OLD,DELETE,KEEP)
//         DD DSN=NDV.ACM.ENV3.ACMCOMP.EXTRACT,
//         DISP=(OLD,DELETE,KEEP)
//         DD DSN=NDV.ACM.ENV4.ACMCOMP.EXTRACT,
//         DISP=(OLD,DELETE,KEEP)