Supporting IBM Db2 utilities
Related topics
You can use the XRTSSYIN (BMC AMI Utility Manager) automation control point to generate LISTDEF statements from objects selected by BMC AMI Utility Manager. You can then use these statements with IBM Db2 utilities.
To perform this task, use the sample JCL in the NGTCNTL library. This JCL uses the GENERATESYSIN option in the RTS statement to create the following files:
- LDEFOUT1—for table spaces
- LDEFOUT2—for indexes
These files contain the LISTDEF statements generated by the XRTSSYIN (BMC AMI Utility Manager) automation control point and are displayed in the NGTUTIL step. The JCL then invokes the DSNUTILB steps to use the LISTDEF statements with Db2 utilities.
The following table describes relevant return codes:
Return code | Description |
|---|---|
0 | Both LDEFOUT1 and LDEFOUT2 are generated |
10 | Only LDEFOUT1 is generated |
12 | Only LDEFOUT2 is generated |
14 | Neither LDEFOUT1 nor LDEFOUT2 is generated |
Sample JCL
//***** NGTUTIL STEP USES UTILITY MANAGER TO EXAMINE CRITERIA
//***** AND SELECT OBJECTS -- THEN CREATES A LISTDEF
//** NOTE: YOURNGT HIGHLEVEL QUALIFIER MUST BE
//** MODIFIED TO THE APPROPRIATE NAME IN THE
//** CUSTOMERS SHOP
//** YOURDB2 SHOULD BE CHANGED TO THE HIGHLEVEL
//** QUALIFIER FOR THE SHOP DB2 LIBRARIES
//NGTUTIL EXEC PGM=NGTUTIL,
// REGION=0M,MEMLIMIT=NOLIMIT,
// PARM=(DEBA,'NGTSYSIN',NORESTART)
//*********************************************
//* NGTUTIL STEP SHOULD RETURN
//* 0 IF BOTH IX AND TS WERE GENERATED
//* 10 IF NO IX BUT TS WERE GENERATED
//* 12 IF IX BUT NO TS WERE GENERATED
//* 14 IF NEITHER WERE GENERATED
//*********************************************
//STEPLIB DD DSN=YOURNGT.UBMCLINK,DISP=SHR
// DD DSN=YOURNGT.BMCLINK,DISP=SHR
// DD DISP=SHR,DSN=YOURDB2.DSNEXIT
// DD DISP=SHR,DSN=YOURDB2.DSNLOAD
//******* XRTSSYIN GOES IN THE LIBRARY BELOW
//NGTAUTO DD DSN=YOURNGT.UBMCAUTO,DISP=SHR
// DD DSN=YOURNGT.BMCAUTO,DISP=SHR
//******************************************************
//********* OUTPUT DATASETS FOR THE LISTDEFS CREATED BY
//********* XRTSSYIN BELOW
//******** LDEFOUT1 IS FOR TABLESPACES
//LDEFOUT1 DD DSN=&&LDEFOUT1,DISP=(,CATLG),UNIT=SYSDA,
// SPACE=(TRK,(20,10)),LRECL=80,RECFM=FB
//******** LDEFOUT2 IS FOR INDEXES
//LDEFOUT2 DD DSN=&&LDEFOUT1,DISP=(,CATLG),UNIT=SYSDA,
// SPACE=(TRK,(20,10)),LRECL=80,RECFM=FB
//******************************************************
//ABNLIGNR DD DUMMY
//SYSTERM DD SYSOUT=*
//DSSPRINT DD SYSOUT=*
//CDBPRINT DD SYSOUT=*
//CDBAPARS DD DUMMY
//JOURNAL DD DUMMY
//SUMMARY DD SYSOUT=*
//SYSERROR DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//STPRIN01 DD SYSOUT=*
//RNPRIN01 DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//DDLOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//OBJREPRT DD SYSOUT=*
//UTLPARMS DD *
+SVRDISK(1)
+SVRTAPE(1)
+REXXTIME(999)
//SYSIN DD *
COPY TABLESPACE CUSTDB.% RTS(,GENERATESYSIN)
// IF (NGTUTIL.RC = 0 OR NGTUTIL.RC = 10) THEN
//**********************************************************
//* IBM UTILITY STEP FOR TABLESPACES THAT USES THE LISTDEF GENERATED
//* FROM THE NGTUTIL STEP - CAN BE ANY UTILITY
//********************************************
//IBMSTEPT EXEC PGM=DSNUTILB,
// PARM=(DEBA,'IBMUTIL'),
// REGION=0M,
// MEMLIMIT=NOLIMIT
//STEPLIB DD DSN=YOURDB2.DSNEXIT,DISP=SHR
// DD DSN=YOURDB2.DSNLOAD,DISP=SHR
//* ************************************************************
//ABNLIGNR DD DUMMY
//DSSPRINT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//****** THIS IS FROM THE DD LDEFOUT1 IN NGTUTIL STEP ABOVE
//SYSLISTD DD DSN=&&LDEFOUT1,DISP=(OLD,DELETE)
//UTPRINT DD SYSOUT=*
//*--------------------------------------------------------------------
//* STATISTICS WORK DD STATEMENTS
//*--------------------------------------------------------------------
//STPRIN01 DD SYSOUT=*
//RNPRIN01 DD SYSOUT=*
//DDLOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//***************** NOTE *************************************
//* THE UTILITY SYNTAX MUST USE TEMPLATES THAT
//* USE THE PARTITION NUMBER OR DATE TIME TO INSURE UNIQUENESS
//* ALSO THE LIST NAME UTMLDFT IS REQUIRED TO MATCH THE LISTDEF
//* GENERATED IN THE NGTUTIL STEP ABOVE
//************************************************************
//SYSIN DD *
TEMPLATE PCPY1
DSN 'CUST.&SSID..&DB..&SN..P&PART..PC1'
UNIT SYSDA
TEMPLATE PCPY2
DSN 'CUST.&SSID..&DB..&SN..P&PART..PC2'
UNIT SYSDA
TEMPLATE RCPY1
DSN 'CUST.&SSID..&DB..&SN..P&PART..BKUP1'
UNIT SYSDA
TEMPLATE RCPY2
DSN 'CUST.&SSID..&DB..&SN..P&PART..BKUP2'
UNIT SYSDA
COPY LIST UTMLDFT
COPYDDN (PCPY1,PCPY2)
RECOVERYDDN (RCPY1,RCPY2)
// ENDIF
// IF (NGTUTIL.RC = 0 OR NGTUTIL.RC = 12) THEN
//**********************************************************
//* IBM UTILITY STEP FOR INDEXES THAT USES THE LISTDEF GENERATED
//* FROM THE NGTUTIL STEP - CAN BE ANY UTILITY
//********************************************
//IBMSTEPI EXEC PGM=DSNUTILB,
// PARM=(DEBA,'IBMUTIL'),
// REGION=0M,
// MEMLIMIT=NOLIMIT
//STEPLIB DD DSN=YOURDB2.DSNEXIT,DISP=SHR
// DD DSN=YOURDB2.DSNLOAD,DISP=SHR
//* ************************************************************
//ABNLIGNR DD DUMMY
//DSSPRINT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*************************************************************
//****** THIS IS FROM THE DD LDEFOUT2 IN NGTUTIL STEP ABOVE
//SYSLISTD DD DSN=&&LDEFOUT2,DISP=(OLD,DELETE)
//*************************************************************
//UTPRINT DD SYSOUT=*
//*--------------------------------------------------------------------
//* STATISTICS WORK DD STATEMENTS
//*--------------------------------------------------------------------
//STPRIN01 DD SYSOUT=*
//RNPRIN01 DD SYSOUT=*
//DDLOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//***************** NOTE *************************************
//* THE UTILITY SYNTAX MUST USE TEMPLATES THAT
//* USE THE PARTITION NUMBER OR DATE TIME TO INSURE UNIQUENESS
//* ALSO THE LIST NAME UTMLDFI IS REQUIRED TO MATCH THE LISTDEF
//* GENERATED IN THE NGTUTIL STEP ABOVE
//************************************************************
//SYSIN DD *
TEMPLATE PCPY1
DSN 'CUST.&SSID..&DB..&SN..P&PART..PC1'
UNIT SYSDA
TEMPLATE PCPY2
DSN 'CUST.&SSID..&DB..&SN..P&PART..PC2'
UNIT SYSDA
TEMPLATE RCPY1
DSN 'CUST.&SSID..&DB..&SN..P&PART..BKUP1'
UNIT SYSDA
TEMPLATE RCPY2
DSN 'CUST.&SSID..&DB..&SN..P&PART..BKUP2'
UNIT SYSDA
COPY LIST UTMLDFI
COPYDDN (PCPY1,PCPY2)
RECOVERYDDN (RCPY1,RCPY2)
//*--------------------------------------------------------------------
//* END OF JOBSTEP
//*--------------------------------------------------------------------
// ENDIF