Sample job control language
The job control language (JCL) of sample jobs to collect statistical data and run volume reporting is provided. You can use the sample jobs to perform the following tasks:
Obtain statistical data from the IBM TS7700 by using Bulk Volume Information Retrieval (BVIR) jobs.
Analyze Point-in-Time and Historical statistics records obtained through BVIR with VEHSTATS.
Create a Copy Export volume.
Support data migration into the TS7700.
 
Notes: You can find tailored JCL to run BVIR jobs and to analyze the data by using VEHSTATS in the IBMTOOLS libraries. To access the IBM Tape Tools, go to the following website:
For the current information about BVIR, see the IBM Virtualization Engine TS7700 Series Bulk Volume Information Retrieval Function User’s Guide, at the following address:
This appendix includes the following sections:
BVIR jobs to obtain historical data
The following JCL can be used to request BVIR data:
BVIRHSTS Requests the BVIR historical data for one or more days and writes the data to the System Measurement Facility (SMF) log file. These SMF records can then be used as input to VEHSTATS. See Example E-1.
BVIRHSTU Requests the BVIR historical data for one or more days, and writes the data to a disk data set with RECFM=U. The output of this job can then be used as input to VEHSTATS. See Example E-2 on page 856.
BVIRHSTV Requests the BVIR historical data for one or more days, and writes the data to a disk data set with RECFM=VB. The output of this job can then be used as input to VEHSTATS. See Example E-3 on page 857.
These jobs are also available as members in userid.IBMTOOLS.JCL after you have installed the IBMTOOLS.exe on your host. See 11.15, “Alerts and exception and message handling” on page 692.
After you run one of these jobs, you can create various reports by using VEHSTATS. See “VEHSTATS reports” on page 868.
BVIRHSTS
Example E-1 lists the JCL in userid.IBMTOOLS.JCL member BVIRHSTS.
Example E-1 BVIRHSTS JCL to obtain BVIR historical data
//ITSO1   JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
/*JOBPARM SYSAFF=*
//*
//* THIS IS A TWO JOB MEMBER TO ACCOMODATE EITHER JES2 OR JES3.
//* BVIR DATA WILL ONLY BE WRITTEN TO A TAPE AFTER THE INITIAL
//* DISMOUNT AND RE-MOUNT FOR READ.
//*
//* IF YOU HAVE MULTIPLE TS7740 GRIDS, YOU MUST HAVE A SEPARATE
//* STORAGE GROUP DEFINED FOR EACH GRID to REQUEST STATISTICS
//* FROM EACH ONE. USE AN ACS ROUTINE TO SELECT THE TARGET GRID.
//*
//* THIS JOB ISSUES THE BULK VOLUME INFORMATION (BVIR) REQUEST FOR
//* HISTORICAL STATISTICS FROM THE GRID ASSOCIATED WITH THE VIRTUAL
//* DRIVE ADDRESS USED. THE BVIR FEATURE MUST BE ACTIVATED ON THE
//* VTS RECEIVING THE REQUEST. THE FINAL OUTPUT IS DIRECTED TO SMF.
//* HISTORICAL STATISTICS FOR ALL CLUSTERS IN A GRID ARE RETURNED
//* FROM A SINGLE BVIR REQUEST TO ANY OF THE CLUSTERS.
//* NEXT, RUN VEHSTATS TO GET REPORTS.
//*
//PUTBVIR PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// GRIDID=GRID#, GRID SERIAL NUMBER TO BE PART OF DSN
// UNIT=VTAPE UNITNAME ON THIS VTS
//*
//STEP1 EXEC PGM=IEFBR14
//DEL1 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE
//*
//STEP2 EXEC PGM=GETHIST ISSUE HISTORICAL STATS REQUEST
//STEPLIB DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.LOAD
//SYSLIST DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//BVIRREQ DD DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE,
// UNIT=&UNIT,LABEL=(,SL),DISP=(NEW,CATLG),
// DCB=(RECFM=F,LRECL=80,BLKSIZE=80,TRTCH=NOCOMP)
// PEND
//*
//RUNPROC EXEC PUTBVIR
//STEP2.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
// DD *
*
* SEE MEMBER, VEHDATES, FOR MORE DETAIL ON DATES
*
SDATE= 01SEP2010; USE HERE AS DDMONYEAR
EDATE= 30SEP2010; USE HERE AS DDMONYEAR
*SDATE= TODAY- 1; THIS FORMAT PULLS STATS FROM PREVIOUS DAY
*EDATE= TODAY;
*SDATE= LASTWEEK; OR LASTMONTH WITH + OR - OPTIONS ALSO
*
* SEE MEMBER, VEHDATES, FOR MORE DETAIL ON DATES
*
//*
//ITSO1   JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
/*JOBPARM SYSAFF=*
//*
//COPYBVIR PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// GRIDID=GRID# GRID SERIAL NUMBER TO BE PART OF DSN
//*
//STEP3 EXEC PGM=CPYHIST APF LIBRARY NEEDED IF WRITING TO SMF
//STEPLIB DD DISP=SHR,DSN=USER.AUTH.LIB
//SYSLIST DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//RECLIST DD SYSOUT=*
//SYSUT1 DD DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE,
// DCB=(RECFM=U,BLKSIZE=22000),
// DISP=(OLD,DELETE)
//SYSUT2 DD DSN=NULLFILE,DCB=(RECFM=U,BLKSIZE=22000),
// DISP=(NEW,CATLG),SPACE=(CYL,(40,25),RLSE),UNIT=SYSDA
// PEND
//*
//RUNPROC EXEC COPYBVIR
//STEP3.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
// DD *
SMFNUM = 194; USER SELECTABLE SMF # FOR QUARTER HOUR STATISTICS
* THE SMF TIME STAMP WILL BE THE QUARTER HOUR DATE/TIME ORIGINALLY
* WRITTEN EVEN IF PULLED SEVERAL DAYS LATER.
//*
BVIRHSTU
Example E-2 lists the JCL in userid.IBMTOOLS.JCL member BVIRHSTU.
Example E-2 BVIRHSTU JCL to obtain BVIR historical data
//ITSO1   JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
/*JOBPARM SYSAFF=*
//*
//* THIS IS A TWO JOB MEMBER TO ACCOMODATE EITHER JES2 OR JES3.
//* BVIR DATA WILL ONLY BE WRITTEN TO A TAPE AFTER THE INITIAL
//* DISMOUNT AND RE-MOUNT FOR READ.
//*
//* IF YOU HAVE MULTIPLE TS7740 GRIDS, YOU MUST HAVE A SEPARATE
//* STORAGE GROUP DEFINED FOR EACH GRID to REQUEST STATISTICS
//* FROM EACH ONE. USE AN ACS ROUTINE TO SELECT THE TARGET GRID.
//*
//* THIS JOB ISSUES THE BULK VOLUME INFORMATION (BVIR) REQUEST FOR
//* HISTORICAL STATISTICS FROM THE VTS ASSOCIATED WITH THE VIRTUAL
//* DRIVE ADDRESS USED. THE BVIR FEATURE MUST BE ACTIVATED ON THE
//* VTS RECEIVING THE REQUEST. THE FINAL OUTPUT IS WRITTEN TO A
//* DISK DATA SET AS RECFM=U.
//* HISTORICAL STATISTICS FOR ALL CLUSTERS IN A GRID ARE RETURNED
//* FROM A SINGLE BVIR REQUEST TO ANY OF THE CLUSTERS.
//* NEXT, RUN VEHSTATS TO GET REPORTS.
//*
//PUTBVIR PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// GRIDID=GRID#, GRID SERIAL NUMBER TO BE PART OF DSN
// UNIT=VTAPE UNITNAME ON THIS VTS
//*
//STEP1 EXEC PGM=IEFBR14
//DEL1 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE
//*
//STEP2 EXEC PGM=GETHIST ISSUE HISTORICAL STATS REQUEST
//STEPLIB DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.LOAD
//SYSLIST DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//BVIRREQ DD DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE,
// UNIT=&UNIT,LABEL=(,SL),DISP=(NEW,CATLG),
// DCB=(RECFM=F,LRECL=80,BLKSIZE=80,TRTCH=NOCOMP)
// PEND
//*
//RUNPROC EXEC PUTBVIR
//STEP2.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
// DD *
*
* SEE MEMBER, VEHDATES, FOR MORE DETAIL ON DATES
*
SDATE= 01SEP2010; USE HERE AS DDMONYEAR
EDATE= 30SEP2010; USE HERE AS DDMONYEAR
*SDATE= TODAY- 1; THIS FORMAT PULLS STATS FROM PREVIOUS DAY
*EDATE= TODAY;
*SDATE= LASTWEEK; OR LASTMONTH WITH + OR - OPTIONS ALSO
*
* SEE MEMBER, VEHDATES, FOR MORE DETAIL ON DATES
//*
//ITSO1   JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
/*JOBPARM SYSAFF=*
//*
//COPYBVIR PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// GRIDID=GRID#, GRID SERIAL NUMBER TO BE PART OF DSN
// SDATE=YYMMDD, YYMMDD BEGINNING DATE
// EDATE=YYMMDD YYMMDD ENDING DATE
//*
//STEP1 EXEC PGM=IEFBR14
//DEL2 DD UNIT=SYSDA,DISP=(MOD,DELETE),SPACE=(TRK,1),
// DSN=&USERHLQ..&SITE..#&GRIDID..HSTU.D&SDATE..D&EDATE
//*
//STEP3 EXEC PGM=CPYHIST
//STEPLIB DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.LOAD
//SYSLIST DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//RECLIST DD SYSOUT=*
//SYSUT1 DD DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE,
// DCB=(RECFM=U,BLKSIZE=22000),DISP=(OLD,DELETE)
//SYSUT2 DD DSN=&USERHLQ..&SITE..#&GRIDID..HSTU.D&SDATE..D&EDATE.,
// DCB=(RECFM=U,BLKSIZE=22000),UNIT=SYSDA,
// DISP=(NEW,CATLG),SPACE=(CYL,(40,25),RLSE)
// PEND
//*
//RUNPROC EXEC COPYBVIR,SDATE=YYMMDD,EDATE=YYMMDD HERE AS YYMMDD
//STEP3.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
//*
BVIRHSTV
Example E-3 lists the JCL in userid.IBMTOOLS.JCL member BVIRHSTV.
Example E-3 BVIRHSTV JCL to obtain BVIR historical data
//ITSO1   JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
/*JOBPARM SYSAFF=*
//*
//* THIS IS A TWO JOB MEMBER TO ACCOMODATE EITHER JES2 OR JES3.
//* BVIR DATA WILL ONLY BE WRITTEN TO A TAPE AFTER THE INITIAL
//* DISMOUNT AND RE-MOUNT FOR READ.
//*
//* IF YOU HAVE MULTIPLE TS7740 GRIDS, YOU MUST HAVE A SEPARATE
//* STORAGE GROUP DEFINED FOR EACH GRID to REQUEST STATISTICS
//* FROM EACH ONE. USE AN ACS ROUTINE TO SELECT THE TARGET GRID.
//*
//* THIS JOB ISSUES THE BULK VOLUME INFORMATION (BVIR) REQUEST FOR
//* HISTORICAL STATISTICS FROM THE VTS ASSOCIATED WITH THE VIRTUAL
//* DRIVE ADDRESS USED. THE BVIR FEATURE MUST BE ACTIVATED ON THE
//* VTS RECEIVING THE REQUEST. THE FINAL OUTPUT IS WRITTEN TO A
//* DISK DATA SET AS RECFM=VB.
//* HISTORICAL STATISTICS FOR ALL CLUSTERS IN A GRID ARE RETURNED
//* FROM A SINGLE BVIR REQUEST TO ANY OF THE CLUSTERS.
//* NEXT, RUN VEHSTATS TO GET REPORTS.
//*
//PUTBVIR PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// GRIDID=GRID#, GRID SERIAL NUMBER TO BE PART OF DSN
// UNIT=VTAPE UNITNAME ON THIS VTS
//*
//STEP1 EXEC PGM=IEFBR14
//DEL1 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE
//*
//STEP2 EXEC PGM=GETHIST ISSUE HISTORICAL STATS REQUEST
//STEPLIB DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.LOAD
//SYSLIST DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//BVIRREQ DD DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE,
// UNIT=&UNIT,LABEL=(,SL),DISP=(NEW,CATLG),
// DCB=(RECFM=F,LRECL=80,BLKSIZE=80,TRTCH=NOCOMP)
// PEND
//*
//RUNPROC EXEC PUTBVIR
//STEP2.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
// DD *
*
* SEE MEMBER, VEHDATES, FOR MORE DETAIL ON DATES
*
SDATE= 01SEP2010; USE HERE AS DDMONYEAR
EDATE= 30FEB2010; USE HERE AS DDMONYEAR
*SDATE= TODAY- 1; THIS FORMAT PULLS STATS FROM PREVIOUS DAY
*EDATE= TODAY;
*SDATE= LASTWEEK; OR LASTMONTH WITH + OR - OPTIONS ALSO
*
* SEE MEMBER, VEHDATES, FOR MORE DETAIL ON DATES
//*
//ITSO1   JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
/*JOBPARM SYSAFF=*
//*
//COPYBVIR PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// GRIDID=GRID#, GRID SERIAL NUMBER TO BE PART OF DSN
// SDATE=YYMMDD, YYMMDD BEGINNING DATE
// EDATE=YYMMDD YYMMDD ENDING DATE
//*
//STEP1 EXEC PGM=IEFBR14
//DEL2 DD UNIT=SYSDA,DISP=(MOD,DELETE),SPACE=(TRK,1),
*
// DSN=&USERHLQ..&SITE..#&GRIDID..HSTV.D&SDATE..D&EDATE
//*
//STEP3 EXEC PGM=CPYHIST
//STEPLIB DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.LOAD
//SYSLIST DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//RECLIST DD SYSOUT=*
//SYSUT1 DD DSN=&USERHLQ..&SITE..#&GRIDID..BVIRTAPE,
// DCB=(RECFM=U,BLKSIZE=22000),DISP=(OLD,DELETE)
//SYSUT2 DD DSN=&USERHLQ..&SITE..#&GRIDID..HSTV.D&SDATE..D&EDATE.,
// DCB=(RECFM=VB,BLKSIZE=22000,LRECL=21996),UNIT=SYSDA,
// DISP=(NEW,CATLG),SPACE=(CYL,(40,25),RLSE)
// PEND
//*
//RUNPROC EXEC COPYBVIR,SDATE=YYMMDD,EDATE=YYMMDD HERE AS YYMMDD
//STEP3.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
//*
//
Extra BVIR reporting
The IBM Tape Tools libraries also provide JCL for more reports that can be requested directly from the TS7700. You can also find the JCL in the IBM Tape Tools libraries.
Volume Map report
The Volume Map report shows the relationship between physical and logical volumes. In a TS7700 grid configuration, separate requests must be sent to each cluster to obtain the map of all physical volumes.
 
Example: If this is an IBM TS7720 cluster, the following record is returned:
'NOT SUPPORTED IN A DISK-ONLY TS7700 VIRTUALIZATION ENGINE'
Example E-4 shows the JCL to obtain the Volume Map report, which is also contained in the userid.IBMTOOLS.JCL member BVIRVTS.
Example E-4 JCL to obtain the Volume Map report
//ITSO1   JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
/*JOBPARM SYSAFF=*
//*
//* TO ENSURE THAT BVIR REQUESTS ARE SATISFIED FROM THE PROPER
//* CLUSTER, YOU SHOULD HAVE MANAGEMENT CLASSES FOR RNN(CL0), NRN(CL1)
//* AND NNR(CL2) SO THAT ONLY THE TARGET CLUSTER WILL HAVE A COPY OF
//* THE BVIR VOLUME. YOU CAN'T CONTROL WHERE THE INITIAL SCRATCH
//* MOUNT IS SATISFIED, BUT YOU CAN CONTROL WHICH TVC THE VOLUME WILL
//* BE IN WHEN THE SUBSEQUENT SPECIFIC MOUNT IS DONE. THE SPECIFIC
//* MOUNT COLLECTS THE BVIR INFORMATION, NOT THE INITIAL SCRATCH MOUNT.
//*
//* IF YOU HAVE MULTIPLE TS7740 GRIDS, YOU MUST HAVE A SEPARATE
//* STORAGE GROUP DEFINED FOR EACH GRID to ALLOCATE ON THE
//* DESIRED GRID. USE AN ACS ROUTINE TO SELECT THE TARGET GRID.
//*
//* IF YOU ARE RUNNING JES3, YOU MUST RUN STEP3 AS A SEPARATE JOB
//* to FORCE THE DISMOUNT OF THE TAPE IN STEP2. BVIR DATA
//* WILL ONLY BE WRITTEN TO A TAPE AFTER THE INITIAL DISMOUNT AND
//* RE-MOUNT FOR READ.
//*
//* THIS JOB ISSUES THE BULK VOLUME INFORMATION REQUEST (BVIR) FOR
//* ALL VIRTUAL VOLUMES BELONGING TO THE VTS ASSOCIATED WITH THE
//* VIRTUAL DRIVE ADDRESS USED. THE BVIR FEATURE MUST BE ACTIVATED
//* ON THE VTS RECEIVING THE REQUEST. VTS CODE 7.4 OR GREATER NEEDED
//* to PROVIDE THE VIRTUAL VOLUME SIZE.
//* IF YOU ARE RUNNING AGAINST A PTP AND GETTING DATA FOR THE BVIRRPT
//* JOB, YOU NEED TO RUN THIS JOB TWICE, ONCE FOR EACH VTS.
//*
//* NEXT, RUN BVIRRPT TO GET REPORTS OR BVIRMCH TO SEE HOW MANY
//* PHYSICALS WERE USED TO CONTAIN A LIST OF LOGICAL VOLSERS.
//* OR, RUN THE PRESTAGE JOB TO CAUSE A LIST OF VOLSERS TO BE STAGED.
//*
//BVIRVTS PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// TYPE=, JCL WILL REQUEST TYPE LATER
// MC=, DIRECT TO SPECIFIC VTS IN PTP
// VTSID=CL0, USE CL0, CL1, CL2, ETC TO BE PART OF DSN
// UNIT=VTAPE UNITNAME ON THIS VTS
//*
//STEP1 EXEC PGM=IEFBR14
//DEL1 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..&VTSID..BVIR&TYPE
//DEL2 DD UNIT=SYSDA,DISP=(MOD,DELETE),SPACE=(TRK,1),
// DSN=&USERHLQ..&SITE..&VTSID..&TYPE.FILE
//*
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.CNTL(BVIR&TYPE)
//SYSUT2 DD DSN=&USERHLQ..&SITE..&VTSID..BVIR&TYPE,MGMTCLAS=&MC,
// UNIT=&UNIT,LABEL=(,SL),DISP=(NEW,CATLG),
// DCB=(RECFM=FB,BLKSIZE=80,LRECL=80,TRTCH=NOCOMP)
//SYSIN DD DUMMY
//*
//STEP3 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=&USERHLQ..&SITE..&VTSID..BVIR&TYPE,
// DISP=OLD
//SYSUT2 DD DSN=&USERHLQ..&SITE..&VTSID..&TYPE.FILE,
// DISP=(NEW,CATLG),SPACE=(CYL,(1,3)),UNIT=SYSDA,
// DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSIN DD DUMMY
// PEND
//*
//GETVOLS EXEC BVIRVTS,TYPE=VOL,VTSID=CL0,MC=MCVTS0
//*
//
Cache Contents report
The Cache Contents report shows the cartridges that are in the cache of one specific cluster.
You can use the same JCL as shown in Example E-4 on page 859 for the cache report by replacing the last statement (written in bold) with the statement listed in Example E-5. This statement creates a report for Cluster 0.
Example E-5 JCL to obtain Cache Contents report
//GETCACHE EXEC BVIRVTS,TYPE=CACH,VTSID=CL0,MC=MCVTS0
Change the following parameters to obtain this report from each of the clusters in the grid:
VTSID=
MC=
 
Clarification: The Cache Contents report refers to the specific cluster to which the request volume was written. In a TS7700 grid configuration, separate requests must be sent to each cluster to obtain the cache contents of all of the clusters.
Copy Audit report
Before removing a cluster from a grid, the Copy Audit request can be used to ensure that all logical volumes are copied in the remaining grid members. It can also be used when one of the grid members is no longer available, such as in a site disaster or a test procedure, where you must determine which volumes (if any) on the remaining TS7700 tape drives do not have a valid copy.
To obtain the Copy Audit report, use the same JCL shown in Example E-4 on page 859, but replace the last statement (written in bold) with the statement shown in Example E-6, and update the following parameters:
VTSID=
MC=
Example E-6 JCL to obtain Copy Audit report
//GETAUD EXEC BVIRVTS,TYPE=AUD,VTSID=C00,MC=
Volume Status report
The Volume Status report shows the logical volumes’ status in the cluster and within the grid. Example E-7 shows the JCL that is used to obtain the Volume Status report. The JCL is also available in member BVIRMES in userid.IBMTOOLS.JCL after you install the IBM Tape Tools.
Example E-7 JCL to obtain Volume Status report
//ITSO1 JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
/*JOBPARM SYSAFF=*
//*
//*
//* TO ENSURE THAT BVIR REQUESTS ARE SATISFIED FROM THE PROPER
//* CLUSTER, YOU SHOULD HAVE MANAGEMENT CLASSES FOR RNN(CL0), NRN(CL1)
//* AND NNR(CL2) SO THAT ONLY THE TARGET CLUSTER WILL HAVE A COPY OF
//* THE BVIR VOLUME. YOU CAN'T CONTROL WHERE THE INITIAL SCRATCH
//* MOUNT IS SATISFIED, BUT YOU CAN CONTROL WHICH TVC THE VOLUME WILL
//* BE IN WHEN THE SUBSEQUENT SPECIFIC MOUNT IS DONE. THE SPECIFIC
//* MOUNT COLLECTS THE BVIR INFORMATION, NOT THE INITIAL SCRATCH MOUNT.
//*
//* IF YOU HAVE MULTIPLE TS7740 GRIDS, YOU MUST HAVE A SEPARATE
//* STORAGE GROUP DEFINED FOR EACH GRID to ALLOCATE ON THE
//* DESIRED GRID. USE AN ACS ROUTINE TO SELECT THE TARGET GRID.
//*
//* IF YOU ARE RUNNING JES3, YOU MUST RUN STEP3 AS A SEPARATE JOB
//* to FORCE THE DISMOUNT OF THE TAPE IN STEP2. BVIR DATA
//* WILL ONLY BE WRITTEN TO A TAPE AFTER THE INITIAL DISMOUNT AND
//* RE-MOUNT FOR READ.
//*
//* THIS JOB ISSUES THE BULK VOLUME INFORMATION REQUEST (BVIR) FOR
//* ALL VIRTUAL VOLUMES BELONGING TO THE VTS ASSOCIATED WITH THE
//* VIRTUAL DRIVE ADDRESS USED. THE BVIR FEATURE MUST BE ACTIVATED
//* ON THE VTS RECEIVING THE REQUEST. THIS IS FOR TS7740 ONLY.
//* IF YOU ARE RUNNING AGAINST A PTP AND GETTING DATA FOR THE PTPSYNC
//* JOB, YOU NEED TO RUN THIS JOB TWICE, ONCE FOR EACH VTS.
//*
//BVIRMES PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// MC=, DIRECT TO SPECIFIC VTS OR CLUSTER
// VTSID=, USE CL0, CL1, CL2, ETC TO BE PART OF DSN
// UNIT=VTAPE UNITNAME ON THIS VTS
//*
//STEP1 EXEC PGM=IEFBR14
//DEL1 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..&VTSID..BVIRMES
//DEL2 DD UNIT=SYSDA,DISP=(MOD,DELETE),SPACE=(TRK,1),
// DSN=&USERHLQ..&SITE..&VTSID..MESFILE
//*
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.CNTL(BVIRMES)
//SYSUT2 DD DSN=&USERHLQ..&SITE..&VTSID..BVIRMES,MGMTCLAS=&MC,
// UNIT=&UNIT,LABEL=(,SL),DISP=(NEW,CATLG),
// DCB=(RECFM=FB,BLKSIZE=80,LRECL=80,TRTCH=NOCOMP)
//SYSIN DD DUMMY
//*
//STEP3 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=&USERHLQ..&SITE..&VTSID..BVIRMES,DISP=(OLD,DELETE),
// DCB=(DSORG=PS,RECFM=U,BLKSIZE=640)
//SYSUT2 DD DSN=&USERHLQ..&SITE..&VTSID..MESFILE,
// UNIT=SYSDA,SPACE=(640,(500000,200000),RLSE),
// DISP=(,CATLG),DCB=(DSORG=PS,RECFM=U,BLKSIZE=640)
//SYSIN DD DUMMY
// PEND
//*
//GETVOLS EXEC BVIRMES,VTSID=CL0,MC=
//*
//
Physical volume status
You can use BVIRPOOL to create an unformatted snapshot of the status of physical volumes. The sample JCL is listed in Example E-8.
Example E-8 BVIRPOOL sample JCL
//ITSO1 JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
//* THIS JOB ISSUES THE BULK VOLUME INFORMATION (BVIR) REQUEST FOR
//* MEDIA POOLING STATISTICS FROM THE VE ASSOCIATED WITH THE VIRTUAL
//* DRIVE ADDRESS USED. THE JOBS DEFAULTS TO DOING A WTO WITH THE
//* REPORT OUTPUT IN ADDITION TO THE POOLRPT.
//* TO ENSURE THAT BVIR REQUESTS ARE SATISFIED FROM THE PROPER
//* CLUSTER, YOU SHOULD HAVE MANAGEMENT CLASSES FOR RNN(CL0), NRN(CL1)
//* AND NNR(CL2) SO THAT ONLY THE TARGET CLUSTER WILL HAVE A COPY OF
//* THE BVIR VOLUME. YOU CAN'T CONTROL WHERE THE INITIAL SCRATCH
//* MOUNT IS SATISFIED, BUT YOU CAN CONTROL WHICH TVC THE VOLUME WILL
//* BE IN WHEN THE SUBSEQUENT SPECIFIC MOUNT IS DONE. THE SPECIFIC
//* MOUNT COLLECTS THE BVIR INFORMATION, NOT THE INITIAL SCRATCH MOUNT.
//*
//* IF YOU HAVE MULTIPLE TS7740 GRIDS, YOU MUST HAVE A SEPARATE
//* STORAGE GROUP DEFINED FOR EACH GRID to ALLOCATE ON THE
//* DESIRED GRID. USE AN ACS ROUTINE TO SELECT THE TARGET GRID.
//*
//BVIRPOOL PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// MC=, DIRECT TO SPECIFIC CLUSTER IN GRID
// UNIT=B29M2C36 UNITNAME ON THIS VE
//*
//STEP1 EXEC PGM=IEFBR14
//DEL1 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),SPACE=(TRK,1),
// DSN=&USERHLQ..BVIRPOOL.REQUEST
//*
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.CNTL(BVIRPOOL)
//SYSUT2 DD DSN=&USERHLQ..BVIRPOOL.REQUEST,MGMTCLAS=&MC,
// UNIT=&UNIT,LABEL=(,SL),DISP=(NEW,CATLG),
// DCB=(RECFM=F,LRECL=80,BLKSIZE=80,TRTCH=NOCOMP)
//SYSIN DD DUMMY
//*
//STEP3 EXEC PGM=BVIRPOOL
//STEPLIB DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.LOAD
//SYSLIST DD SYSOUT=*
//BVIRIN DD DSN=&USERHLQ..BVIRPOOL.REQUEST,
// DCB=(RECFM=U,BLKSIZE=24000),
// DISP=(OLD,DELETE)
//POOLRPT DD SYSOUT=*
// PEND
//*
//GETPOOL EXEC BVIRPOOL
//STEP3.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
// DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(DOWTO)
// DD *
*DLSER= FRSER TOSER; CHANGE FROM ONE VALUE TO ANOTHER FOR REPORTS
//*
//
 
Example: If this is a TS7720 cluster, the following record is returned:
'NOT SUPPORTED IN A DISK-ONLY TS7700 VIRTUALIZATION ENGINE'
Physical Volume Status report
For a formatted report of the physical volume status, use BVIRPHY (Example E-9). The output of BVIRPHY can then be processed by using BVIRPRPT (see “Physical Volume and Pool Status Report Writer” on page 866) to produce a fully formatted report.
Example E-9 Sample JCL for BVIRPHY
//ITSO1 JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
//*
//* USED TO GET PHYSICAL BACK-END VOLUME STATUS. ALL OR INDIVIDUAL.
//* JOB BVIRPRPT IS USED TO INTERPRET THE RECORD.
//*
//* TO ENSURE THAT BVIR REQUESTS ARE SATISFIED FROM THE PROPER
//* CLUSTER, YOU SHOULD HAVE MANAGEMENT CLASSES FOR RNN(CL0), NRN(CL1)
//* AND NNR(CL2) SO THAT ONLY THE TARGET CLUSTER WILL HAVE A COPY OF
//* THE BVIR VOLUME. YOU CAN'T CONTROL WHERE THE INITIAL SCRATCH
//* MOUNT IS SATISFIED, BUT YOU CAN CONTROL WHICH TVC THE VOLUME WILL
//* BE IN WHEN THE SUBSEQUENT SPECIFIC MOUNT IS DONE. THE SPECIFIC
//* MOUNT COLLECTS THE BVIR INFORMATION, NOT THE INTIIAL SCRATCH MOUNT.
//*
//* IF YOU HAVE MULTIPLE TS7740 GRIDS, YOU MUST HAVE A SEPARATE
//* STORAGE GROUP DEFINED FOR EACH GRID to ALLOCATE ON THE
//* DESIRED GRID. USE AN ACS ROUTINE TO SELECT THE TARGET GRID.
//*
//* IF YOU ARE RUNNING JES3, YOU MUST RUN STEP3 AS A SEPARATE JOB
//* to FORCE THE DISMOUNT OF THE TAPE IN STEP2. BVIR DATA
//* WILL ONLY BE WRITTEN TO A TAPE AFTER THE INITIAL DISMOUNT AND
//* RE-MOUNT FOR READ.
//*
//* THIS JOB ISSUES THE BULK VOLUME INFORMATION REQUEST (BVIR) FOR
//* ALL PHYSICAL VOLUMES BELONGING TO THE VTS ASSOCIATED WITH THE
//* VIRTUAL DRIVE ADDRESS USED. THE BVIR FEATURE MUST BE ACTIVATED
//* ON THE VTS RECEIVING THE REQUEST. THIS IS FOR TS7740 ONLY.
//*
//BVIRPHY PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// MC=, DIRECT TO SPECIFIC VTS OR CLUSTER
// VTSID=, USE CL0, CL1, CL2, ETC TO BE PART OF DSN
// UNIT=VTAPE UNITNAME ON THIS VTS
//*
//STEP1 EXEC PGM=IEFBR14
//DEL1 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..&VTSID..BVIRPHY
//DEL2 DD UNIT=SYSDA,DISP=(MOD,DELETE),SPACE=(TRK,1),
// DSN=&USERHLQ..&SITE..&VTSID..PHYFILE
//*
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.CNTL(BVIRPHY)
//SYSUT2 DD DSN=&USERHLQ..&SITE..&VTSID..BVIRPHY,MGMTCLAS=&MC,
// UNIT=&UNIT,LABEL=(,SL),DISP=(NEW,CATLG),
// DCB=(RECFM=FB,BLKSIZE=80,LRECL=80,TRTCH=NOCOMP)
//SYSIN DD DUMMY
//*
//STEP3 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=&USERHLQ..&SITE..&VTSID..BVIRPHY,DISP=(OLD,DELETE),
// DCB=(DSORG=PS,RECFM=U,BLKSIZE=320)
//SYSUT2 DD DSN=&USERHLQ..&SITE..&VTSID..PHYFILE,
// UNIT=SYSDA,SPACE=(320,(500000,200000),RLSE),
// DISP=(,CATLG),DCB=(DSORG=PS,RECFM=U,BLKSIZE=320)
//SYSIN DD DUMMY
// PEND
//*
//GETVOLS EXEC BVIRPHY,VTSID=CL0,MC=
//*
Physical Volume Pool Status report
For a formatted report of the physical volume pool status, use BVIRPLNN (Example E-10). The output of BVIRPLNN can then be processed by using BVIRPRPT (see “Physical Volume and Pool Status Report Writer” on page 866) to produce a fully formatted report.
Example E-10 Sample JCL for BVIRPLNN
//ITSO1 JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
//*
//* THIS JOB ISSUES THE BULK VOLUME INFORMATION (BVIR) REQUEST FOR
//* MEDIA POOLING STATISTICS FROM THE VE ASSOCIATED WITH THE VIRTUAL
//* DRIVE ADDRESS USED.
//*
//* TO ENSURE THAT BVIR REQUESTS ARE SATISFIED FROM THE PROPER
//* CLUSTER, YOU SHOULD HAVE MANAGEMENT CLASSES FOR RNN(CL0), NRN(CL1)
//* AND NNR(CL2) SO THAT ONLY THE TARGET CLUSTER WILL HAVE A COPY OF
//* THE BVIR VOLUME. YOU CAN'T CONTROL WHERE THE INITIAL SCRATCH
//* MOUNT IS SATISFIED, BUT YOU CAN CONTROL WHICH TVC THE VOLUME WILL
//* BE IN WHEN THE SUBSEQUENT SPECIFIC MOUNT IS DONE. THE SPECIFIC
//* MOUNT COLLECTS THE BVIR INFORMATION, NOT THE INTIIAL SCRATCH MOUNT.
//*
//* IF YOU HAVE MULTIPLE TS7740 GRIDS, YOU MUST HAVE A SEPARATE
//* STORAGE GROUP DEFINED FOR EACH GRID to ALLOCATE ON THE
//* DESIRED GRID. USE AN ACS ROUTINE TO SELECT THE TARGET GRID.
//*
//* IF YOU ARE RUNNING JES3, YOU MUST RUN STEP3 AS A SEPARATE JOB
//* to FORCE THE DISMOUNT OF THE TAPE IN STEP2. BVIR DATA
//* WILL ONLY BE WRITTEN TO A TAPE AFTER THE INITIAL DISMOUNT AND
//* RE-MOUNT FOR READ.
//*
//BVIRPOOL PROC USERHLQ=USERID, HI-LEVEL FOR USER DATA FILES
// TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// VTSID=CL0, USE CL0, CL1, CL2, ETC TO BE PART OF DSN
// POOL=, TWO DIGIT POOL NUMBER REQUESTED
// MC=, DIRECT TO SPECIFIC CLUSTER IN GRID
// UNIT=VTAPE UNITNAME ON THIS VE
//*
//STEP1 EXEC PGM=IEFBR14
//DEL1 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),SPACE=(TRK,1)
// DSN=&USERHLQ..&SITE..&VTSID..BVIRPOOL.NUM&POOL
//DEL2 DD UNIT=(&UNIT,,DEFER),DISP=(MOD,DELETE),SPACE=(TRK,1)
// DSN=&USERHLQ..&SITE..&VTSID..POOL&POOL
//*
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.CNTL(BVIRPL&POOL)
//SYSUT2 DD DSN=&USERHLQ..&SITE..&VTSID..BVIRPOOL.NUM&POOL,
// MGMTCLAS=&MC,
// UNIT=&UNIT,LABEL=(,SL),DISP=(NEW,CATLG),
// DCB=(RECFM=F,LRECL=80,BLKSIZE=80,TRTCH=NOCOMP)
//SYSIN DD DUMMY
//*
//STEP3 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=&USERHLQ..&SITE..&VTSID..BVIRPOOL.NUM&POOL,
// DCB=(RECFM=U,BLKSIZE=320),
// DISP=(OLD,DELETE)
//SYSUT2 DD DSN=&USERHLQ..&SITE..&VTSID..POOL&POOL,
// DCB=(RECFM=U,BLKSIZE=320),DISP=(NEW,CATLG),
// SPACE=(TRK,(10,10),RLSE)
//SYSIN DD DUMMY
// PEND
//* REQUEST AS MANY AS YOU CURRENTLY USE
//GETPOL00 EXEC BVIRPOOL,POOL=00
//GETPOL01 EXEC BVIRPOOL,POOL=01
//GETPOL02 EXEC BVIRPOOL,POOL=02
//GETPOL03 EXEC BVIRPOOL,POOL=03
.
. Same for Pools 4 - 29
.
//*GETPOL30 EXEC BVIRPOOL,POOL=30
//*GETPOL31 EXEC BVIRPOOL,POOL=31
//*GETPOL32 EXEC BVIRPOOL,POOL=32
//*
//
Physical Volume and Pool Status Report Writer
BVIRPRPT uses the output of BVIRPLNN or BVIRPHY to produce formatted reports of physical volume and pool status. Example E-11 shows the sample JCL.
Example E-11 Sample JCL for BVIRPRPT
//ITSO1 JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
//* PROCESSES THE OUTPUT FILES FROM BVIRPHY AND BVIRPLNN JOBS.
//*
//* IF USING RECLAIMGB FOR COPY-EXPORT VOLUMES, MODULE BVIRPRPT MUST
//* BE IN AN APF LIBRARY.
//*
//BVIRPRPT PROC TOOLHLQ=TOOLID, HLQ FOR LOAD AND CNTL
// USERHLQ=USERID, HLQ FOR USER DATA
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// VTSID=CL0 USE CL0, CL1, CL2, ETC TO BE PART OF DSN
//*
//TOOLSTEP EXEC PGM=BVIRPRPT
//STEPLIB DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.LOAD
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSLIST DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(25,25))
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(25,25))
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(25,25))
//SORTWK04 DD UNIT=SYSDA,SPACE=(CYL,(25,25))
//SORTWK05 DD UNIT=SYSDA,SPACE=(CYL,(25,25))
//SORTIN DD UNIT=SYSDA,SPACE=(CYL,(20,50),RLSE),
// DCB=(RECFM=FB,BLKSIZE=0)
//SORTOUT DD UNIT=SYSDA,SPACE=(CYL,(20,50),RLSE),
// DCB=(RECFM=FB,BLKSIZE=0)
//POOLRPT DD SYSOUT=* LRECL=170
// PEND
//RUNJOB EXEC BVIRPRPT
//*
//TOOLSTEP.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
// DD *
CUSTOMER= FOR TITLE LINE BVIRPRPT; <= 1-50 CHAR
*DETAIL= N; N MEANS DO NOT SHOW SECOND DETAIL LINE WITH TIMES
*LINES= 65535;
*
* IF RECLAIMGB IS USED FOR COPY-EXPORT VOLUMES,
* MODULE BVIRPRPT MUST BE IN APF LIBRARY
* LIBNAME IS THE DISTRIBUTED LIBRARY NAME THAT THE CUSTOMER ASSIGNED
* THROUGH THE DFSMS LIBRARY DEFINE window.
*LIBNAME= ABCDE;
*LRDELAY= 7; SECONDS DELAY BETWEEN LIBRARY REQUEST COMMANDS
*RECLAIMGB= 140; RECLAIM IF LESS ACTIVE GIGABYTES THAN NNN VALUE
* ABOVE COMMENTED MEANS 0 GB SO NOTHING GETS RECLAIMED, JUST REPORTED
* IF USED A LIBRARY REQUEST,LIBNM,COPYEXP,RECLAIM COMMAND IS ISSUED
MAXGB= 200; IF RECLAIMING, LIMIT THE AMOUNT BROUGHT BACK TO CACHE
DAYSAGO = 3; PVOL MUST HAVE BEEN WRITTEN >N DAYS AGO FOR RECLAIM
*CONSOLENAME= XXXXXXXX; OBTAINED FROM D C OPERATOR COMMAND
* USE 00000000; WHEN NO CONSOLE DEFINED FOR LPAR
*INCVOL= L0*; INCLUDE ONLY THESE VOLSERS
*INCVOL= 010000 010999; INCLUDE THIS RANGE
*EXCVOL= 475000 475999; EXCLUDE THIS RANGE
//*
//* PICK YOUR BVIRIN FILE
//*BVIRIN DD DISP=SHR,DSN=&USERHLQ..&SITE..&VTSID..PHYFILE
//* YOU CAN CONCATINATE MULTIPLE POOL FILES FROM BVIRPLNN JOB
//BVIRIN DD DISP=SHR,DSN=&USERHLQ..&SITE..&VTSID..POOL00
// DD DISP=SHR,DSN=&USERHLQ..&SITE..&VTSID..POOL01
// DD DISP=SHR,DSN=&USERHLQ..&SITE..&VTSID..POOL02
//* DD DISP=SHR,DSN=&USERHLQ..&SITE..&VTSID..POOL03
.
. Same for Pools 4 - 29
.
//* DD DISP=SHR,DSN=&USERHLQ..&SITE..&VTSID..POOL30
//* DD DISP=SHR,DSN=&USERHLQ..&SITE..&VTSID..POOL31
//* DD DISP=SHR,DSN=&USERHLQ..&SITE..&VTSID..POOL32
VEHSTATS reports
VEHSTATS can be used to process the history files that are created by BVIRHSTS, BVIRHSTU, and BVIRHSTV. The JCL, which had been provided in member VEHSTATS, has been split into three jobs, depending on how you want to view or save your reports:
VEHSTSO Writes reports directly to SYSOUT (this is the old VEHSTATS).
VEHSTPS Writes final reports to a single physical sequential file where the reports are written with DISP=MOD.
VEHSTPO Writes final reports to a partitioned data set extended (PDSE) where each report is a separate member.
These three VEHSTATS jobs are also in userid.IBMTOOLS.JCL. Example E-12 lists the sample JCL for VEHSTPO.
Example E-12 VEHSTPO sample JCL
//ITSO1 JOB CONSOLE,
// MSGCLASS=H,MSGLEVEL=(1,1),CLASS=B,
// TIME=1440,REGION=2M
//*
//* VEHSTATS WILL ONLY RUN IN Z/OS.
//*
//* VIRTUALIZATION ENGINE HISTORICAL STATISTICS REPORTING
//* MODIFIED VERSION OF VEHSTATS TO WRITE REPORTS OF VARYING LENGTHS
//* TO A SINGLE OUTPUT REPORT PDSE TO ACCOMODATE THE WIDEST REPORT.
//* RUN THE BVIRHST(U/V/S) JOB FIRST TO GET THE STATISTICS FILE(S).
//* FOR LONGER DESCRIPTION OF FIELD NAMES SEE IBMTOOLS.JCL(ORDERV12)
//*
//VEHSTATS PROC TOOLHLQ=TOOLID, HLQ FOR LIBRARIES
// USERHLQ=USERID, FOR THE INPUT BVIR FILE
// SITE=SITENAME, 2ND LEVEL QUALIFIER
// ORDER=ORDERV12, DEFAULT ORDER STATEMENTS FOR GRAPHING PACKAGE
//* ORDER=ORDERALL, ALL AVAILABLE ORDER STATEMENTS
// RECL=260, 260 IS WIDE ENOUGH FOR ALL REPORTS AND 22 CLUSTERS
//* ON COMPARE REPORT. ADD 11 FOR EACH CLUSTER ABOVE 22
// BLK=5200, EVEN MULTIPLE OF RECL
// ID=RUN1, LAST NODE FOR REPORT FILE
// GRIDID=12345 ID FOR REPORTING SYSTEM
//*
//DELETE EXEC PGM=IEFBR14
//HOURFLAT DD UNIT=SYSDA,SPACE=(CYL,1),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..#&GRIDID..HOURFLAT.TXT,
// DCB=(RECFM=FB,BLKSIZE=0)
//DAYHSMRY DD UNIT=SYSDA,SPACE=(CYL,1),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..#&GRIDID..DAYHSMRY.TXT,
// DCB=(RECFM=FB,BLKSIZE=0)
//WEKHSMRY DD UNIT=SYSDA,SPACE=(CYL,1),DISP=(MOD,DELETE),
// DSN=&USERHLQ..&SITE..#&GRIDID..WEKHSMRY.TXT,
// DCB=(RECFM=FB,BLKSIZE=0)
//OUTRPTS DD UNIT=SYSDA,SPACE=(CYL,1),DISP=(MOD,DELETE),
// DCB=(RECFM=FBA,LRECL=&RECL.,BLKSIZE=&BLK.),
// DSN=&USERHLQ..&SITE..#&GRIDID..RPTPDS.&ID
//*
//ALLOC EXEC PGM=IEFBR14
//OUTRPTS DD UNIT=SYSDA,DISP=(,CATLG),SPACE=(CYL,(5,5,10)),
// DCB=(RECFM=FBA,LRECL=&RECL.,BLKSIZE=&BLK.),DSNTYPE=LIBRARY,
// DSN=&USERHLQ..&SITE..#&GRIDID..RPTPDS.&ID
//*
//RPTSTEP EXEC PGM=VEHSTATS,REGION=0M,PARM='FILEOUT'
//STEPLIB DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.LOAD
//SYSLIST DD SYSOUT=* CONTROL PARAMETERS USED
//RECLIST DD DUMMY,SYSOUT=* DETAIL LIST OF BVIR RECORD TIME STAMPS
//H20VIRT DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H20VIRT
//H21ADP00 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H21ADP00
//H21ADP01 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H21ADP01
//H21ADP02 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H21ADP02
//H21ADP03 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H21ADP03
//H21ADPXX DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H21ADPXX
//H21ADPSU DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H21ADPSU
//H30TVC1 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H30TVC1
//H31IMEX DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H31IMEX
//H32TDU12 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32TDU12
//H32TDU34 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32TDU34
//H32CSP DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32CSP
//H32GUP01 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP01
//H32GUP03 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP03
//H32GUP05 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP05
//H32GUP07 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP07
//H32GUP09 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP09
//H32GUP11 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP11
//H32GUP13 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP13
//H32GUP15 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP15
//H32GUP17 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP17
//H32GUP19 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP19
//H32GUP21 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP21
//H32GUP23 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP23
//H32GUP25 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP25
//H32GUP27 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP27
//H32GUP29 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP29
//H32GUP31 DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H32GUP31
//H33GRID DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&H33GRID
//HOURXFER DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&HOURXFER
//DAYXFER DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&DAYXFER
//AVGRDST DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&AVGRDST
//DAYSMRY DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&DAYSMRY
//MONSMRY DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&MONSMRY
//COMPARE DD UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DSN=&&COMPARE
//WEKHSMRY DD UNIT=SYSDA,SPACE=(TRK,(3,5),RLSE),DISP=(,CATLG),
// DSN=&USERHLQ..&SITE..#&GRIDID..WEKHSMRY.TXT,
// DCB=(RECFM=FB,BLKSIZE=0)
//DAYHSMRY DD UNIT=SYSDA,SPACE=(TRK,(3,5),RLSE),DISP=(,CATLG),
// DSN=&USERHLQ..&SITE..#&GRIDID..DAYHSMRY.TXT,
// DCB=(RECFM=FB,BLKSIZE=0)
//HOURFLAT DD UNIT=SYSDA,SPACE=(CYL,(90,9),RLSE),DISP=(,CATLG),
// DSN=&USERHLQ..&SITE..#&GRIDID..HOURFLAT.TXT,
// DCB=(RECFM=FB,BLKSIZE=0)
//SORTIN DD UNIT=(SYSDA,1),SPACE=(CYL,(300,100)),
// DSN=&&SORTIN,DCB=(RECFM=VB,LRECL=12000,BLKSIZE=0)
//SORTOUT DD UNIT=(SYSDA,1),SPACE=(CYL,(300,100)),
// DSN=&&SORTED,DCB=(RECFM=VB,LRECL=12000,BLKSIZE=0)
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(200,100))
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(200,100))
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(200,100))
//SORTWK04 DD UNIT=SYSDA,SPACE=(CYL,(200,100))
//SORTWK05 DD UNIT=SYSDA,SPACE=(CYL,(200,100))
//SORTWK06 DD UNIT=SYSDA,SPACE=(CYL,(200,100))
//SORTWK07 DD UNIT=SYSDA,SPACE=(CYL,(200,100))
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
// PEND
//RUNRPTS EXEC VEHSTATS
//*********************************************************************
//*-DATES ARE ENTERED 'DDMMMYYYY', E.G., 15JUN2008 *
//* ALTERNATIVELY, 'TODAY', 'TODAY- NN', AND 'TODAY+ NN' MAY BE GIVEN*
//* E.G. SDATE= TODAY- 7; NN CAN'T EXCEED 360. *
//RPTSTEP.SYSCNTL DD DISP=SHR,DSN=&TOOLHLQ..IBMTOOLS.JCL(EXPIRE)
// DD DISP=SHR,DSN=&USERHLQ..&SITE..IBMTOOLS.JCL(&ORDER)
// DD *
**********************************************************************
* COMPLETE THE FOLLOWING RECORDS AS APPROPRIATE: *
**********************************************************************
CUSTOMER= TITLENAME VEHSTATS; 1-50 CHAR
* IF THE CLUSTERS IN YOUR GRID ARE NOT SEQUENTIAL, USE THE DEFDL
* PARAMETER TO DEFINE WHICH ONES ARE ACTUALLY PRESENT.
*DEFDL= H2909 0; CLUSTER SERIAL AND CLUSTER NUMBER
*DEFDL= H2918 2; CLUSTER SERIAL AND CLUSTER NUMBER
*DEFDL= H2906 3; CLUSTER SERIAL AND CLUSTER NUMBER
*EUROFORMAT; USE COMMA RATHER than PERIOD FOR FRACTIONAL NUMBERS
*GERMANMONTH; USE GERMAN MONTHS, MAI, OKT, DEZ FOR GERMAN EXCEL 2003
*SINGLESPACE; USE SINGLE SPACE BETWEEN FIELDS IN FLAT FILES
*ONEHEADING; ONLY ONE HEADING ON FLAT FILES, NOT BETWEEN CLUSTERS
*NOFILLER; DO NOT WRITE FILLR LINES TO DAYHSMRY
*IGNOREHEADER; DO NO WRITE ID HEADER TO HOURFLAT FILE
QUEAGEMINUTES; REPORT DEF & RUN QUEUE AGE AS MINUTES, NOT SECONDS
REPORT= HRS HDSUM COM; HOURLY ROLL-UP, COMPARE, AND FLAT FILE SUMMARY
* = QTR REQUEST 15 MINUTE REPORTING AS GENERATED BY TS7740
* = HRS REQUEST HOURLY ROLL-UP REPORTING
* = GRID SUMMARIZES ALL CLUSTERS WITHIN GRID
* = COMPARE REQUEST SIDE BY SIDE CLUSTER COMPARISON
* = HDSUM DAILY SUMMARY FLAT FILE - HORIZONTAL 1 DAY/LINE
* = DXFR FOR DAILY ON DEMAND TRANSFER REPORTING
*UTCMINUS= 07; ADJUST UTC TO LOCAL TIME WEST OF GREENWICH
*UTCPLUS= 02; ADJUST UTC TO LOCAL TIME EAST OF GREENWICH
*
* SEE MEMBER, VEHDATES, FOR MORE DETAIL ON DATES
*
*SDATE= 14JAN2009; START DATE FOR OUTPUT REPORTING
*SDATE= TODAY- 1; REPORT JUST YESTERDAY'S DATA
*SDATE= LASTWEEK; REPORT JUST LAST WEEK'S AVTIVITY
*STIME= 00:05; START TIME FOR OUTPUT REPORTING
*EDATE= 15JAN2009; END DATE FOR OUTPUT REPORTING
*EDATE= TODAY- 1; REPORT JUST YESTERDAY'S DATA
*EDATE= LASTWEEK; REPORT JUST LAST WEEK'S AVTIVITY
*ETIME= 00:05; END TIME FOR OUTPUT REPORTING
*SELECTDOW= FRI; LIMITS HOURFLAT TO JUST THIS DOW
*
* SEE MEMBER, VEHDATES, FOR MORE DETAIL ON DATES
*
LINES= 58; LINES= 999 TO PUT DAYSMRY & MONSMRY ON SINGLE PAGE BREAK
*
* A MICRO CODE UPGRADE CHANGED THE SERIAL NUMBER BEING REPORTED.
* YOU CAN EITHER CHANGE THE OLD TO MATCH THE NEW OR THE NEW TO
* MATCH THE OLD VALUE.
*DLSER= FRSER TOSER; CHANGE FROM ONE VALUE TO ANOTHER FOR REPORTS
*
* THE INITIAL GRID SERIAL WAS BINARY 0, BUT APPEARED ON THE
* REPORTS AS A VALUE OF ?????. YOU CAN CHANGE THE ????? TO THE
* NEW VALUE SO OLD AND NEW DATA WILL APPEAR AS THE SAME GRID.
*GRIDSER= ????? TOSER; CHANGE BINARY 0 TO NEW GRID SERIAL NUMBER
SMFNUM = 194; USER SELECTABLE SMF # FOR STATSMF DATA
*VTSNUM = SERNO; SELECT JUST THIS CLUSTER TO MAKE IT EASIER TO WORK
* WITH FLAT FILES AND GRAPHING PACKAGE
*
* THE ORDER STATEMENTS DETERMINE WHICH FIELDS WILL BE REPORTED IN THE
* DAYSMRY, MONSMRY, HOURFLAT, DAYHSMRY, AND WEKHSMRY REPORTS AND WHAT
* ORDER THEY WILL APPEAR IN.
* PICK AND CHOOSE FROM THIS LIST AND RE-ARRANGE TO FIT YOUR NEEDS.
*
* IBMTOOLS.JCL(ORDERV12) IS THE DEFAULT MEMBER OR YOU CAN CREATE YOUR
* OWN MEMBER WITH YOUR FIELDS AND SEQUENCE.
*
//*
//* ACTIVATE ONE OR MORE OF THE FOLLOWING DD STATEMENTS FOR YOUR
//* DATA DEPENDING ON WHICH BVIRHST(U/V/S) JOB WAS USED TO COLLECT
//* THE STATISTICS
//* ACTIVATE THE FOLLOWING YOU USED BVIRHSTU
//*STATSU DD DISP=SHR,
//* DSN=&USERHLQ..&SITE..#&GRIDID..HSTU.D090205.D090205
//* ACTIVATE THE FOLLOWING YOU USED BVIRHSTV
//*STATSVB DD DISP=SHR,
//* DSN=&USERHLQ..&SITE..#&GRIDID..HSTV.D090728.D090730
//* ACTIVATE THE FOLLOWING YOU USED BVIRHSTS
//*STATSMF DD DISP=SHR, RECORDS WILL BE SELECTED BASED ON SMFNUM
//* DSN=&USERHLQ..&SITE..#&GRIDID..SMF194
//*
//COPYRPTS PROC RPT= WHICH REPORT TO COPY
//COPYRPT EXEC PGM=COPY2PDS,PARM='&RPT.'
//STEPLIB DD DISP=SHR,DSN=*.RUNRPTS.RPTSTEP.STEPLIB
//SYSUDUMP DD SYSOUT=*
//INRECS DD DISP=(OLD,DELETE),DSN=&&&RPT.
//OUTRECS DD DISP=SHR,DSN=*.RUNRPTS.ALLOC.OUTRPTS
// PEND
//*
//* COMMENT LINES BELOW IF YOU DON'T WANT THOSE REPORTS KEPT
//H20VIRT EXEC COPYRPTS,RPT=H20VIRT
//H21ADP00 EXEC COPYRPTS,RPT=H21ADP00
//H21ADP01 EXEC COPYRPTS,RPT=H21ADP01
//H21ADP02 EXEC COPYRPTS,RPT=H21ADP02
//H21ADP03 EXEC COPYRPTS,RPT=H21ADP03
//H21ADPXX EXEC COPYRPTS,RPT=H21ADPXX
//H21ADPSU EXEC COPYRPTS,RPT=H21ADPSU
//H30TVC1 EXEC COPYRPTS,RPT=H30TVC1
//H31IMEX EXEC COPYRPTS,RPT=H31IMEX
//H32TDU12 EXEC COPYRPTS,RPT=H32TDU12
//H32TDU34 EXEC COPYRPTS,RPT=H32TDU34
//H32CSP EXEC COPYRPTS,RPT=H32CSP
//H32GUP01 EXEC COPYRPTS,RPT=H32GUP01
//H32GUP03 EXEC COPYRPTS,RPT=H32GUP03
//H32GUP05 EXEC COPYRPTS,RPT=H32GUP05
//H32GUP07 EXEC COPYRPTS,RPT=H32GUP07
//H32GUP09 EXEC COPYRPTS,RPT=H32GUP09
//H32GUP11 EXEC COPYRPTS,RPT=H32GUP11
//H32GUP13 EXEC COPYRPTS,RPT=H32GUP13
//H32GUP15 EXEC COPYRPTS,RPT=H32GUP15
//H32GUP17 EXEC COPYRPTS,RPT=H32GUP17
//H32GUP19 EXEC COPYRPTS,RPT=H32GUP19
//H32GUP21 EXEC COPYRPTS,RPT=H32GUP21
//H32GUP23 EXEC COPYRPTS,RPT=H32GUP23
//H32GUP25 EXEC COPYRPTS,RPT=H32GUP25
//H32GUP27 EXEC COPYRPTS,RPT=H32GUP27
//H32GUP29 EXEC COPYRPTS,RPT=H32GUP29
//H32GUP31 EXEC COPYRPTS,RPT=H32GUP31
//H33GRID EXEC COPYRPTS,RPT=H33GRID
//HOURXFER EXEC COPYRPTS,RPT=HOURXFER
//DAYXFER EXEC COPYRPTS,RPT=DAYXFER
//AVGRDST EXEC COPYRPTS,RPT=AVGRDST
//DAYSMRY EXEC COPYRPTS,RPT=DAYSMRY
//MONSMRY EXEC COPYRPTS,RPT=MONSMRY
//COMPARE EXEC COPYRPTS,RPT=COMPARE
//
Export list volume sample JCL
This section provides sample JCLs to create an export list volume. Example E-13 shows how to create the three necessary files. An example of how the use an export list volume as part of the Export Copy function is in Chapter 11, “Performance and monitoring” on page 613.
Example E-13 serves as input for a Copy Export function, which enables you to do offsite vaulting of physical volumes from a TS7700.
Example E-13 Creation of export list volume
//****************************************
 
//* FILE 1: EXPORT LIST
//****************************************
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT2 DD DSN=HILEVELQ.EXPLIST,MGMTCLAS=MCNOCOPY,
// UNIT=VTS1,DISP=(NEW,KEEP),LABEL=(1,SL),
// VOL=(,RETAIN),
// DCB=(RECFM=FB,BLKSIZE=80,LRECL=80,TRTCH=NOCOMP)
//SYSUT1 DD *
EXPORT LIST 03
EXPORT PARAMETERS PHYSICAL POOL TO EXPORT:09
OPTIONS1,COPY,EJECT
/*
//****************************************
//* FILE 2: RESERVED FILE
//****************************************
//STEP2 EXEC PGM=IEBGENER,COND=(4,LT)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT2 DD DSN=HILEVELQ.RESERVED,MGMTCLAS=MCNOCOPY,
// UNIT=VTS1,DISP=(NEW,KEEP),LABEL=(2,SL),
// VOL=(,RETAIN,REF=*.STEP1.SYSUT2),
// DCB=*.STEP1.SYSUT2
//SYSUT1 DD *
RESERVED FILE
/*
//****************************************
//* FILE 3: EXPORT STATUS FILE
//****************************************
//STEP3 EXEC PGM=IEBGENER,COND=(4,LT)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT2 DD DSN=HILEVELQ.EXPSTATS,MGMTCLAS=MCNOCOPY,
// UNIT=VTS1,DISP=(NEW,CATLG),LABEL=(3,SL),
// VOL=(,,REF=*.STEP1.SYSUT2),
// DCB=*.STEP1.SYSUT2
//SYSUT1 DD *
EXPORT STATUS 01
/*
JCL for TS7700 migration scenarios
Several JCL and REXX examples are provided that can help you with the TS7700 migration scenarios described in previous sections.
Using EDGUTIL to validate tape configuration database inconsistencies
The JCL in Example E-14 can help you identify inconsistencies in the Removable Media Management (RMM) control data set (CDS) and the tape configuration database (TCDB).
Example E-14 Verify information in RMM CDS, Library Manager database, and TCDB
//EDGUTIL EXEC PGM=EDGUTIL,PARM='VERIFY(ALL,VOLCAT)'
//SYSPRINT DD SYSOUT=*
//MASTER DD DSN=your.rmm.database.name,DISP=SHR
//VCINOUT DD UNIT=3390,SPACE=(CYL,(900,500))
After running EDGUTIL, you receive information about all volumes with conflicting information. Resolve discrepancies before the migration. For more information about this utility, see z/OS DFSMSrmm Implementation and Customization Guide, SC23-6874. The job must be run before the migration starts.
IDCAMS example to delete a library definition in the TCDB
The JCL in Example E-15 can help you delete library information in the TCDB.
Example E-15 Delete a library in the TCDB
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE (vtsname) -
LIBRARYENTRY
IDCAMS example to list all entries in the TCDB
The JCL in Example E-16 can help you list all entries in the TCDB.
Example E-16 JCL to list all entries in the TCDB
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
LISTC VOLUMEENTRIES(V*) LIBRARY(vtsname)
IDCAMS example to change the TCDB
The JCL in Example E-17 can help you change the TCDB for scratch or private volumes in the TS7700.
Example E-17 JCL for changing the TCDB to a new TS7700
//****************************************************************
//**** Change TCDB for a scratch volume to a new TS7700       ****
//****************************************************************
//TCDBSCR EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
 ALTER Vvolser VOLENTRY LIBRARYNAME(TSname) USEATTRIBUTE(SCRATCH)
//****************************************************************
//**** Change TCDB entry for a private volume to a new TS7700 ****
//**** Also change sgname to the one used (same as on the VTS)****
//****************************************************************
//TCDBPRIV EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
ALTER Vvolser VOLUMEENTRY LIBRARYNAME(TSname) -
USEATTRIBUTE(PRIVATE) STORAGEGROUP(sgname)
JCL to change volumes in RMM
The JCL in Example E-18 can help you change volumes in RMM in the TS7700.
Example E-18 JCL for changing volumes in DFSMSrmm to a new TS7700
//PROCESS EXEC PGM=IKJEFT01,DYNAMNBR=25,
// TIME=100
//ISPLOG DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
 RMM CV volser LOCATION(TSname) CMOVE FORCE
Even if you specify the FORCE parameter, it takes effect only when necessary. This parameter requires you to be authorized to use a specific IBM Resource Access Control Facility (RACF) Facility class named STGADMIN.EDG.FORCE. Verify that you have the required authorization.
REXX EXEC to update the library name
Example E-19 provides a sample REXX EXEC program for updating the library name for volumes in the TCDB.
Example E-19 REXX EXEC for updating the library name in the TCDB
/* REXX */
/*************************************************************/
/* ALTERVOL */
/* */
/* Usage: ALTERVOL DSN(volserlist) LIB(libname) */
/* */
/* Before this EXEC is run, you must create the */
/* input data set "volserlist". The LISTCAT command */
/* can be used to generate the list of volumes */
/* to be altered to an output data set. */
/* */
/* LISTCAT VOLUMEENTRIES(V*) */
/* LIBRARY(sourcelib) */
/* OUTFILE(ddname) */
/* */
/* The list generated has the following format: */
/* VOLUME-ENTRY----Vvolser */
/* For command specifics, see "Access Method */
/* Services for the Integrated Catalog Facility". */
/* */
/* For each volume in the "volserlist" specified, */
/* the library name in the volume record is updated */
/* to the library name specified on the invocation. */
/* */
/* ALTER Vvolser VOLUMEENTRY LIBRARYNAME(libname) */
/*************************************************************/
Arg parms
Dsn=''; Lib=''
If pos('DSN(',parms)>0 then do
parse var parms front 'DSN(' dsn ')' back
parms = front || back
end
If pos('LIB(',parms)>0 then do
parse var parms front 'LIB(' lib ')' back
parms = front || back
end
If dsn='' | lib='' then do
'Usage: ALTERVOL DSN(volserlist) LIB(libname) '
exit 4
end
/*************************************************************/
/* Get volume serials from source input dsn */
/*************************************************************/
Address TSO "FREE FI(INDD)"
Address TSO "ALLOCATE FI(INDD) DA("dsn") SHR"
Address TSO "EXECIO * DISKR INDD (STEM X."
Alter1 = "ALTER '"
Alter2 = "' VOLUMEENTRY LIBRARYNAME("lib")"
Volumes = 0
Do N=1 to X.0
If Pos("VOLUME-ENTRY----",x.n)>0 then do
Volumes = Volumes + 1
Parse var x.n "VOLUME-ENTRY----" volser .
Address TSO Alter1||volser||Alter2
end
End
Say "Lines Read: " format(x.0,9)
Say "Volumes Altered: " format(Volumes,9)
Address TSO "EXECIO * DISKR INDD (FINIS"
Address TSO "FREE FI(INDD)"
Exit 0
 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.78.30