Creating the extract JCL used to transmit data to zAdviser


In the extract process, the JCL extracts data from the product tables and writes the extracted data to SMF records. The JCL extracts data based on the date and time in the time stamp file. By default, the first time the JCL is run, the process extracts data from January 1, 2021.

zAdviser reads the SMF records and transfers them to its database to integrate into your product dashboards. For more information, see BMC AMI zAdviser documentation.

You can use the following procedures to either create separate JCL statements for each product code or to create a single job to handle multiple product codes:


To create the extract JCL used to transmit data to zAdviser

Use the following procedure to create the extract JCL for your environment:

  1. Make a copy of the JCL in the AINZEXTR member located in rtehlq.BMCCLIB. 

    Important

    You must create a separate JCL statement for each prd. The prd for BMC AMI Utilities, PLUS Utilities, BMC AMI Copy for Db2, and BMC AMI Recover for Db2 products is UTL. For these products create a single JCL.

    Sample JCL in BMCCLIB

    //         SET  SSID=<SSID>                           
    //         SET  PLAN=<zAdviser Plan>                  
    //         SET  PRODCODE=<Prod_Code>                  
    //         SET  TRIPLET=<Output File>                 
    //         SET  TIMESTMP=<TimeStmp File>              
    //*                                                   
    //JOBLIB   DD  DISP=SHR,DSN=<User lib HLQ>.UBMCLINK   
    //         DD  DISP=SHR,DSN=<Run time HLQ>.BMCLINK    
    //         DD  DISP=SHR,DSN=<DSNEXIT>                 
    //         DD  DISP=SHR,DSN=<DSNLOAD>                 
    //*                                                   
    //EXTRACT  EXEC PGM=AINZEXTR,COND=(4,LT),REGION=0M,   
    //             PARM=(&SSID,&PLAN,&PRODCODE)           
    //TRIPLET  DD  DSN=&TRIPLET,                          
    //             DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,    
    //             DCB=(RECFM=VB,LRECL=1024,BLKSIZE=1028),
    //             SPACE=(CYL,(1,1))                      
    //TIMESTMP DD  DSN=&TIMESTMP,                         
    //             DISP=SHR                               
    //SYSUDUMP DD  SYSOUT=*                               
    //SYSTERM  DD  SYSOUT=*                               
    //SYSPRINT DD  SYSOUT=*                               
    //SYSUT1   DD  DSN=&&SYSUT1,                          
    //             DISP=(NEW,DELETE,DELETE),UNIT=SYSDA,   
    //             SPACE=(CYL,(1,1))                      
    //SYSUT2   DD  DSN=&&SYSUT2,                          
    //             DISP=(NEW,DELETE,DELETE),UNIT=SYSDA,   
    //             SPACE=(CYL,(1,1))                      
    //*                                                   
    //SEND     EXEC PGM=AINZSEND,COND=(4,LE),             
    //         REGION=0M                                  
    //TRIPLET  DD DSN=&TRIPLET,                           
    //            DISP=SHR                                
    //SYSTERM  DD SYSOUT=*                                
    //SYSUDUMP DD SYSOUT=*                                
    //SYSPRINT DD SYSOUT=*                                
  2. In an ISPF editor, perform the following actions for the placeholders in the JCL:

    Placeholder

    Action

    <INSERT JOB CARD>

    Replace with the job card for your environment.

    <SSID>

    Replace with the ID of the Db2 subsystem on which you are running the utility.

    <zAdviser Plan>

    Replace with the zAdviser plan name. The default plan name is AINZ131.

    <Prod_Code>

    Replace with one of the following three character product codes:

    • ACM—BMC AMI Change Manager
    • UTL—BMC utilities (BMC AMI Utilities, PLUS Utilities, BMC AMI Copy for Db2, and BMC AMI Recover for Db2)

    <Output File>

    Replace with the name of the data set in which to write the extracted product data.

    <TimeStmp File>

    Replace with the name of the data set that has the starting time stamp for the product data being extracted. For information about creating the time stamp file, see Integrating-with-BMC-AMI-zAdviser.

    <User lib HLQ>

    Replace with the hlq that was used during the installation for your user libraries.

    <Run time HLQ>

    Replace with the hlq that was used during the installation for your runtime libraries.

    <DSNEXIT>

    <DSNLOAD>

    If DSNEXIT and DSNLOAD are in your LINKLIST, remove them from JOBLIB statement. Otherwise, replace with the data set names.

  3. Save and run this JCL.

To enable a single job to handle multiple BMC AMI Data for Db2 products

  1. Perform steps 1 and 2 from the procedure, To create the extract JCL used to transmit data to zAdviser.
  2. Replicate the following block from the JCL you created in step 1 and insert it at the end of the JCL. The following sample assumes that you are using the ACM product code in the previous step. Your JCL will vary differently depending on the product code you use.

    //* Change Manager specific values                
    //         SET  PRODCODE=ACM                  
    //         SET  TRIPLET= ACM.TRIPLET.DATASET
    //         SET  TIMESTMP=TIMESTMP.DATASET(AINZACM) //*                                                   
    //JOBLIB   DD  DISP=SHR,DSN=<User lib HLQ>.UBMCLINK   
    //         DD  DISP=SHR,DSN=<Run time HLQ>.BMCLINK    
    //         DD  DISP=SHR,DSN=<DSNEXIT>                 
    //         DD  DISP=SHR,DSN=<DSNLOAD>                 
    //*                                                   
    //EXTRACT  EXEC PGM=AINZEXTR,COND=(4,LT),REGION=0M,   
    //             PARM=(&SSID,&PLAN,&PRODCODE)           
    //TRIPLET  DD  DSN=&TRIPLET,                          
    //             DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,    
    //             DCB=(RECFM=VB,LRECL=1024,BLKSIZE=1028),
    //             SPACE=(CYL,(1,1))                      
    //TIMESTMP DD  DSN=&TIMESTMP,                         
    //             DISP=SHR                               
    //SYSUDUMP DD  SYSOUT=*                               
    //SYSTERM  DD  SYSOUT=*                               
    //SYSPRINT DD  SYSOUT=*                               
    //SYSUT1   DD  DSN=&&SYSUT1,                          
    //             DISP=(NEW,DELETE,DELETE),UNIT=SYSDA,   
    //             SPACE=(CYL,(1,1))                      
    //SYSUT2   DD  DSN=&&SYSUT2,                          
    //             DISP=(NEW,DELETE,DELETE),UNIT=SYSDA,   
    //             SPACE=(CYL,(1,1))                      
    //*                                                   
    //SEND     EXEC PGM=AINZSEND,COND=(4,LE),             
    //         REGION=0M                                  
    //TRIPLET  DD DSN=&TRIPLET,                           
    //            DISP=SHR                                
    //SYSTERM  DD SYSOUT=*                                
    //SYSUDUMP DD SYSOUT=*                                
    //SYSPRINT DD SYSOUT=*

  3. In the replicated block, update the SET variables with the other product codefor example, add UTL prd to the job created with ACM prd, as shown in the following sample:

    //         SET  SSID=<SSID>                           
    //         SET  PLAN=<zAdviser Plan>  
    //*
    //* Change Manager specific values                
    //         SET  PRODCODE=ACM                  
    //         SET  TRIPLET= ACM.TRIPLET.DATASET
    //         SET  TIMESTMP=TIMESTMP.DATASET(AINZACM)
    //*                                                   
    //JOBLIB   DD  DISP=SHR,DSN=<User lib HLQ>.UBMCLINK   
    //         DD  DISP=SHR,DSN=<Run time HLQ>.BMCLINK    
    //         DD  DISP=SHR,DSN=<DSNEXIT>                 
    //         DD  DISP=SHR,DSN=<DSNLOAD>                 
    //*                                                   
    //EXTRACT  EXEC PGM=AINZEXTR,COND=(4,LT),REGION=0M,   
    //             PARM=(&SSID,&PLAN,&PRODCODE)           
    //TRIPLET  DD  DSN=&TRIPLET,                          
    //             DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,    
    //             DCB=(RECFM=VB,LRECL=1024,BLKSIZE=1028),
    //             SPACE=(CYL,(1,1))                      
    //TIMESTMP DD  DSN=&TIMESTMP,                         
    //             DISP=SHR                               
    //SYSUDUMP DD  SYSOUT=*                               
    //SYSTERM  DD  SYSOUT=*                               
    //SYSPRINT DD  SYSOUT=*                               
    //SYSUT1   DD  DSN=&&SYSUT1,                          
    //             DISP=(NEW,DELETE,DELETE),UNIT=SYSDA,   
    //             SPACE=(CYL,(1,1))                      
    //SYSUT2   DD  DSN=&&SYSUT2,                          
    //             DISP=(NEW,DELETE,DELETE),UNIT=SYSDA,   
    //             SPACE=(CYL,(1,1))                      
    //*                                                   
    //SEND     EXEC PGM=AINZSEND,COND=(4,LE),             
    //         REGION=0M                                  
    //TRIPLET  DD DSN=&TRIPLET,                           
    //            DISP=SHR                                
    //SYSTERM  DD SYSOUT=*                                
    //SYSUDUMP DD SYSOUT=*                                
    //SYSPRINT DD SYSOUT=*
    //* BMC Utilities specific values                
    //         SET  PRODCODE=UTL                  
    //         SET  TRIPLET= UTL.TRIPLET.DATASET
    //         SET  TIMESTMP=TIMESTMP.DATASET(AINZUTL)
    //*                                                    
    //JOBLIB   DD  DISP=SHR,DSN=<User lib HLQ>.UBMCLINK    
    //         DD  DISP=SHR,DSN=<Run time HLQ>.BMCLINK    
    //         DD  DISP=SHR,DSN=<DSNEXIT>                  
    //         DD  DISP=SHR,DSN=<DSNLOAD>                  
    //*                                                    
    //EXTRACT  EXEC PGM=AINZEXTR,COND=(4,LT),REGION=0M,    
    //             PARM=(&SSID,&PLAN,&PRODCODE)            
    //TRIPLET  DD  DSN=&TRIPLET,                          
    //             DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,    
    //             DCB=(RECFM=VB,LRECL=1024,BLKSIZE=1028),
    //             SPACE=(CYL,(1,1))                      
    //TIMESTMP DD  DSN=&TIMESTMP,                          
    //             DISP=SHR                                
    //SYSUDUMP DD  SYSOUT=*                                
    //SYSTERM  DD  SYSOUT=*                                
    //SYSPRINT DD  SYSOUT=*                                
    //SYSUT1   DD  DSN=&&SYSUT1,                          
    //             DISP=(NEW,DELETE,DELETE),UNIT=SYSDA,    
    //             SPACE=(CYL,(1,1))                      
    //SYSUT2   DD  DSN=&&SYSUT2,                          
    //             DISP=(NEW,DELETE,DELETE),UNIT=SYSDA,    
    //             SPACE=(CYL,(1,1))                      
    //*                                                    
    //SEND     EXEC PGM=AINZSEND,COND=(4,LE),              
    //         REGION=0M                                  
    //TRIPLET  DD DSN=&TRIPLET,                            
    //            DISP=SHR                                
    //SYSTERM  DD SYSOUT=*                                
    //SYSUDUMP DD SYSOUT=*                                
    //SYSPRINT DD SYSOUT=* 
  4. Save and run this JCL.

 

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