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
- To enable a single job to handle multiple BMC AMI Data for Db2 products
To create the extract JCL used to transmit data to zAdviser
Use the following procedure to create the extract JCL for your environment:
Make a copy of the JCL in the AINZEXTR member located in rtehlq.BMCCLIB.
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=*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.
- Save and run this JCL.
To enable a single job to handle multiple BMC AMI Data for Db2 products
- Perform steps 1 and 2 from the procedure, To create the extract JCL used to transmit data to zAdviser.
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=*In the replicated block, update the SET variables with the other product code, for 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=*- Save and run this JCL.