3. USAGE GUIDELINES › 3.1 Setting Up VCC for Operation › 3.1.2 Customizing the VCC JCL › 3.1.2.3 Setting Up Hourly Scans with VCC
3.1.2.3 Setting Up Hourly Scans with VCC
This section describes how to process data created by
DATAINFO=N in VCC (also see section 3.1.4 for more discussion
on running VCC at frequent intervals).
You may need to examine public volumes, work storage groups
or pools at more frequent time intervals than once per day.
While a DAILY inventory of volumes containing "normal" data
sets (those with a permanent DSNAME) is sufficient and
efficient for accounting purposes, you may need an hourly
inventory of public volumes to see the change in volume
free-space.
The VCAARCT routines will not be able to determine
"ownership" of the public volumes because of the format. You
can use the DATAINFO run-time parameter to do this. Setting
DATAINFO=N will filter out data set information and provide
the basis for the type of volume observations needed to track
capacity of special volumes like this.
The following contains some requirements and suggested
ideas. We try to convey as much as possible by example for
conciseness. Translate these general ideas into your own
requirements. DATAINFO=N is best used with:
o INCLUDEVOL=(WORK*,HSM*) (Scratch pools and/or HSM ML1
vols)
o VSAMSUBT=0
o a separate VCCNTROL file
o a separate VCCDATA file
- allocate a small amount of tracks since only one
record per volume is recorded
- allocate VCCDATA to a temporary data set on SYSDA
- follow VCCNTRL execution step with IEBGENER which
copies VCCDATA to an output data set with DISP=MOD.
Run frequency should be every 30 minutes or 1 hour.
This process reads VTOCs and filters out all data set level
information and writes only one VCC record per volume
scanned. Use the following techniques to obtain this
information:
____ 1. The hourly inventory must use SMFID=xxx to
differentiate the output from the daily inventory.
You can use SMFID=194 for the hourly, while the daily
defaults to SMFID=198.
The hourly inventory should write to a temporary data
set then MOD onto a permanent file for HOURLY data.
Example:
//S1 EXEC PGM=VCCNTRL
//VCCDATA DD DISP=(,PASS),DSN=&&HOUR,
// SPACE=(TRK,(5,1),RLSE)
..
.. .... remainder of VCC JCL .....
..
//S2 EXEC PGM=IEBGENER
//SYSUT1 DD DISP=(OLD,DELETE),DSN=&&HOUR
//SYSUT2 DD DISP=MOD,DSN=VCC.VCCDATA.HOURLY
When the daily inventory runs, it should do some
cleanup on behalf of the hourly inventory.
- VCC.VCCDATA.HOURLY (in the MOD file above) should
be copied into another data set to isolate it from
subsequent hourly scans.
Example:
//S1 EXEC PGM=VCCNTRL **for daily inventory**
..
.. .... remainder of VCC JCL .....
..
//S2 EXEC PGM=IEBGENER **cleanup for hourly data**
//SYSUT1 DD DISP=(OLD,DELETE),DSN=VCC.VCCDATA.HOURLY
//SYSUT2 DD DISP=SHR,DSN=VCC.VCCDATA.HOURS
//S3 EXEC PGM=IEFBR14 **setup a new place to MOD**
//NEWPLACE DD DISP=(,CATLG),DSN=VCC.VCCDATA.HOURLY,
// SPACE=(TRK,(5,5),RLSE)
____ 2. Modify SP.GENLIB VCAGENIN to add a special SMF
record number for the hourly scan using the INPUTSMF
statement.
Run VCAGEN.
____ 3. Concatenate the hourly inventories for the whole day
with a single daily inventory for the same day and
run them both into the same DAY90 step (in the same
unit database). Example:
//INPUTSMF DD DISP=SHR,DSN=VCC.VCCDATA.HOURS
// DD DISP=SHR,DSN=VCC.VCCDATA.DAILY
____ 4. Code the _USRSEL exit as follows to identify the
hourly data and change it in a way that allows for
later separation of the data at reporting time.
For example:
IF ROUTINE EQ 'DYVCAFMT' AND
SMFRTYPE EQ 194 THEN DO;
ORGSYSID='HOUR'; /*variable tested at report time*/
SMFRTYPE=198; /*treat the rest of the data*/
/*the same*/
END;
____ 5. Running hourly scans by performing the above steps
has the following effect on the VCAVOA file:
All volumes will have one observation with the same
ENDTS (as each other) as a result of the DAILY scan.
Volumes in the hourly scan domain (via INCLUDEVOL)
will have 24 additional observations in the same
cycle at DETAIL timespan.
One of those hourly observations will occur in the
same hour of the day as the sole observation from the
DAILY scan.
And it has the following effect on reporting (example
is PROC CHART):
DATA EXTRACT; /* Create hourly-obs only file*/
SET DETAIL.VCAVOA01;
IF ORGSYSID='HOUR';
PROC PLOT DATA=EXTRACT;
PLOT VOASPACA*HOUR; /*Now hour has more than one*/
/*obs*/
BY VOLSER;
StorageMate has a built-in report to handle this (see
STGEJE).