VCC - Run-Time Parameter Specification

Document ID : KB000055689
Last Modified Date : 14/02/2018
Show Technical Document Details

VCC parameter specification follows much the same rules that govern most 80-byte card parameter formats. Every attempt has been made to simplify the format of the run-time parameters. The rules for the VCC parameter set are:

  • Use columns 1 through 72 inclusive to enter VCC parameters.

  • Begin parameters in any of the above columns of a card image.

  • You cannot continue parameters that do not contain a list of values to another card.

  • A parameter list is a series of values enclosed in parentheses and separated by commas. Nested parentheses are not allowed. You can continue a parameter list onto another card image by specifying a comma followed by a blank. The only limit to the number of continuation cards for a parameter is the maximum number of values that are allowed for the parameter.

  • Specify all data set names, volume serial numbers, and device addresses generically by coding an asterisk (*) as the terminator for the value.

  • Comment statements are recognized by an asterisk (*) in column 1 of a card image.

  • Specify comments following each card image parameter statement or list value as long as there is at least one blank following the parameter specification.

  • The VCC run-time parameter formats are divided into the following categories:

    • Parameter keywords with one operand.

    • Parameter keywords with a list of operands enclosed in parentheses. The parentheses must be coded, even if only one operand is entered.

  • You must separate an operand from the parameter keyword specification by an equals sign (=) with no intervening blanks.

VCC run-time parameters are summarized by the areas they affect, as follows:

+----------+---------+-----------------------------+--------+
| Parameter| Affect  |       Specification         |Default |
+----------+---------+-----------------------------+--------+
|DATAINFO  |Recording|DATAINFO=Y or N              | Y      |
|SMF       |Recording|SMF=Y or N                   | N      |
|SMFID     |Recording|SMFID=numerical value        | 198    |
|HSM       |Recording|HSM=Y or N                   | N      |
|HSMSMF    |Recording|HSMSMF=Y or N                | N      |
|HSMSMFID  |Recording|HSMSMFID=numerical value     | 197    |
|HSMBACKUP |Recording|HSMBACKUP=Y or N             | Y      |
|HSMMIGRATE|Recording|HSMMIGRATE=Y or N            | Y      |
|TEMPDSN   |Recording|TEMPDSN=Y or N               | N      |
+----------+---------+-----------------------------+--------+
|SREPORT   |Reporting|SREPORT=Y or N               | Y      |
+----------+---------+-----------------------------+--------+
|CATCHECK  |Scan     |CATCHECK=Y or N              | N      |
|RESERVEMNT|Scan     |RESERVEMNT=Y or N            | N      |
|REMOVEMNT |Scan     |REMOVEMNT=Y or N             | N      |
|INCLUDEVOL|Scan     |INCLUDEVOL=(volser,..,volser)|        |
|EXCLUDEVOL|Scan     |EXCLUDEVOL=(volser,..,volser)|        |
|INCLUDEDSN|Scan     |INCLUDEDSN=(dsn,..,dsn)      |        |
|EXCLUDEDSN|Scan     |EXCLUDEDSN=(dsn,..,dsn)      |        |
|INCLUDECAT|Scan     |INCLUDECAT=(dsn,..,dsn)      |        |
|EXCLUDECAT|Scan     |EXCLUDECAT=(dsn,..,dsn)      |        |
|INCLUDVVDS|Scan     |INCLUDVVDS=(dsn,..,dsn)      |        |
|EXCLUDVVDS|Scan     |EXCLUDVVDS=(dsn,..,dsn)      |        |
|INCLUDEDEV|Scan     |INCLUDEDEV=(devad,..,devad)  |        |
|EXCLUDEDEV|Scan     |EXCLUDEDEV=(devad,..,devad)  |        |
|INCLUDEDV4|Scan     |INCLUDEDV4=(devad,..,devad)  |        |
|EXCLUDEDV4|Scan     |EXCLUDEDV4=(devad,..,devad)  |        |
+----------+---------+-----------------------------+--------+
|VSAMSUBT  |Internal |VSAMSUBT=numerical value     | 4      |
|VSAMERR   |Internal |VSAMERR=numerical value      | 0      |
|VTOCSUBT  |Internal |VTOCSUBT=numerical value     | 8      |
|VTOCERR   |Internal |VTOCERR=numerical value      | 0      |
|TEST      |Internal |TEST=Y or N                  | N      |
|USEREXIT  |Internal |USEREXIT=Y or N              | N      |
|WTO       |Internal |WTO=Y or N                   | Y      |
|BYPASSBKUP|Internal |BYPASSBKUP=Y or N            | N      |
|SERIALIZE |Internal |SERIALIZE=Y or N             | N      |
|BYPASSRES |Internal |BYPASSRES=(volser,..,volser) |        |
|NUMWTRBUF |Internal |NUMWTRBUF=numerical value    | 25     |
|RESRETRY  |Internal |RESRETRY=numerical value     | 10     |
|RESFAILOK |Internal |RESFAILOK=Y or N             | Y      |
+----------+---------+-----------------------------+--------+

Parameter Detailed Descriptions (in alphabetical order)

BYPASSBKUP - When specified as Y, VCC will bypass the check of the backup flag in the control file. This flag is set if a previous VCC run failed to perform a successful backup. All future VCC runs will fail until this flag is cleared. To skip checking this flag, specify BYPASSBKUP=Y.

Default: BYPASSBKUP=N

BYPASSRES - Specifies the volume serial numbers of volumes for which a hardware RESERVE should not be issued before processing the VTOC. Consider specifying volumes that have a high level of RESERVE activity or tend to conflict with VCC and cause processing delays. Try to limit the size of this list, because the contents of a VTOC can change during processing if a RESERVE has not been issued. Specify a list of volume serial numbers. The list can contain generic specifications to reduce the amount of keying involved.

Example: BYPASSRES=(SYSRES,PAG*,TSOWK*)

CATCHECK - When specified as Y, VCC issues a LOCATE SVC for each VTOC data set that passes all filter criteria. The catalog status of the data set is recorded in a flag byte in the non-VSAM segment of the VCC record.

WARNING: CATCHECK processing increases the amount of time it takes VCC to complete the processing of a given VTOC. Therefore, coding CATCHECK=Y forces VCC to set SERIALIZE=N.

The CATCHECK feature provides an easy way to identify VTOC data sets that are not cataloged or cataloged to a different volume in preparation for SMS migration, specifically volume conversion. Use CATCHECK=Y infrequently since the LOCATE SVC function adds significant overhead. For example, CPU time will more than double.

One suggestion is to establish two different members of a VCCPARMS data set and have a job scheduling package or production control system use a "standard" set of parameters for each VCC run except for the Sunday of each week. On Sunday, CATCHECK=Y would lengthen the elapsed time for VCC but provide a cycle in the MICS Data Base that could be examined for uncataloged "problem" data sets.


The MICS SMS Analyzer product contains a series of standard reports that exploit the CATCHECK feature by identifying problem data sets that will inhibit SMS migration.

Default: CATCHECK=N

DATAINFO - Specifies whether VCC records data set information or writes only volume information to the VCCDATA file (or SMF). DATAINFO=N produces the fastest possible scan with one record produced for each volume scanned. Perhaps one scan per day is run with DATAINFO=Y to collect information for accounting applications and other scans are run every hour with DATAINFO=N for storage administrator applications. See Section 3.1.2.1 for further information.

Default: DATAINFO=Y

HSM - Specifies whether the VCC-HSM interface should be attached to collect data about data sets under the management of DFHSM.

This interface runs as a separate subtask creating data records in the VCCHSM data set (or SMF) and creates its own separate summary report on the VCCHSMSG file.

This parameter value has the effect of establishing defaults for other parameters related to HSM processing. For example, HSMBACKUP=Y has no effect unless HSM=Y is in effect; if HSM=Y is in effect, HSMBACKUP=Y is the default.

Default: HSM=N

HSMBACKUP - Specifies whether the VCC-HSM interface should collect data from the HSM Backup Control Data Set (BCDS). There are potentially many records that will be created and if your application does not anticipate using this data you can save elapsed time and space on the VCCHSM data set and in the MICS Data Base by disabling the collection of data about backup versions.

The default is Y whenever HSM=Y is coded.

Default: HSMBACKUP=Y

HSMSMF - Specifies whether the VCC-HSM interface should write the output data records to SMF or to the VCCHSM data set.

We recommend you write the HSM records to the VCCHSM data set rather than log them directly to SMF. This is because of the relatively high volume of records this interface creates and the associated probability of overflowing the SMF buffer.

If you want to consolidate the data on SMF, you could consider appending the VCCHSM data set to the dumped SMF data set as an alternative to direct SMF logging.

Default: HSMSMF=N

HSMSMFID - Specifies the SMF record number the VCC-HSM interface uses in writing out data records.

You should only change this number if you are actually going to log data to SMF via the HSMSMF=Y parameter above. If you change this from the default value, you will need to coordinate a LOCAL MODIFICATION to the sharedprefix.MICS.GENLIB member named HSMGENIN.

If remote data centers have HSM data to be collected and processed by MICS at a central location, the HSMSMFID value chosen must be the same by the time it is processed by a central MICS. If you cannot synchronize this, then a copy utility could change the byte in the record to the common value coded in the HSMGENIN member of sharedprefix.MICS.GENLIB.

If you want to consolidate the data on SMF, you could consider appending the VCCHSM data set to the dumped SMF data set.

Default: HSMSMFID=197

HSMMIGRATE - Specifies whether the VCC-HSM interface collects data from the HSM Migration Control Data Set (MCDS). With this option, the VCC-HSM interface can track data sets across the entire hierarchy of storage managed by HSM.

The default is Y whenever HSM=Y is coded.

Default: HSMMIGRATE=Y

INCLUDECAT/EXCLUDECAT - Specifies the names of the catalogs that are/are not eligible for processing by VCC. INCLUDECAT or EXCLUDECAT is specified as a list of data set names. You can reduce the amount of keying involved by listing generic specifications. INCLUDECAT and EXCLUDECAT are mutually exclusive. By default, VCC scans all catalogs it can find connected to the master catalog.

Example: INCLUDECAT=(SYS1.XCAT.*,SYS1.USERCAT1, SYS1.USERCAT2)

INCLUDEDEV/EXCLUDEDEV - Specifies three digit device addresses that are/are not eligible for processing by VCC. Specify INCLUDEDEV or EXCLUDEDEV as a list of device addresses. You can reduce the amount of keying involved by using generic specifications. INCLUDEDEV and EXCLUDEDEV are mutually exclusive. By default, VCC scans all DASD volumes that are online, resident, and ready. If you also code the NCLUDEVOL/EXCLUDEVOL parameter, both the volume serial number and device address tests must be met or VCC will not select the volume.

Example: EXCLUDEDEV=(480,3B1,8FF,52*,54*,900)

INCLUDEDV4/EXCLUDEDV4 - Specifies four digit device addresses that are/are not eligible for processing by VCC. Specify INCLUDEDV4 or EXCLUDEDV4 as a list of device addresses. You can reduce the amount of keying involved by using generic specifications. INCLUDEDV4 and EXCLUDEDV4 are mutually exclusive. By default, VCC scans all DASD volumes that are online, resident, and ready. If you also code the INCLUDEVOL/EXCLUDEVOL parameter, both the volume serial number and device address tests must be met or VCC will not select the volume.

Example: EXCLUDEDV4=(04*,13B1,18FF,252*,254*,29*)

INCLUDEDSN/EXCLUDEDSN - Specifies the data sets that are/are not eligible for processing by VCC. INCLUDEDSN or EXCLUDEDSN is specified as a list of data set names. This list can contain generic specifications to reduce the amount of keying involved. INCLUDEDSN and EXCLUDEDSN are mutually exclusive. By default, VCC records DASD space utilization data for all data sets it encounters during the VTOC and catalog scans.

Example: EXCLUDEDSN=(SYS1.*,SYS2.*,SYS3.*)

INCLUDEVOL/EXCLUDEVOL - Specifies the volume serial numbers that are/are not eligible for processing by VCC. INCLUDEVOL or EXCLUDEVOL is specified as a list of volume serial numbers. This list can contain generic specifications to reduce the amount of keying involved. INCLUDEVOL and EXCLUDEVOL are mutually exclusive. By default, VCC scans all DASD volumes that are online, resident, and ready. If you also code the INCLUDEDEV/EXCLUDEDEV parameter, both the volume serial number and device address tests must be met or VCC will not select the volume.

Example: INCLUDEVOL=(IPLA01,TSO*,SCR001)

INCLUDVVDS/EXCLUDVVDS - Specifies the names of the VSAM volume data sets that are/are not eligible for processing by VCC. INCLUDVVDS or EXCLUDVVDS is specified as a list of data set names. This list can contain generic specifications to reduce the amount of keying involved. Also, because all VVDS names start with the characters 'SYS1.VVDS.V', you can use a dollar sign ('$') in this parameter to replace these characters. Thus, SYS1.VVDS.VSYSRES and $SYSRES are logically identical. INCLUDVVDS and EXCLUDVVDS are mutually exclusive. By default, VCC will scan all VVDSs it can find. This parameter is useful in limiting the scope of a VCC scan for problem-solving purposes, eliminating bad VVDSs from scanning until they are fixed.

Example: EXCLUDVVDS=(SYS1.VVDS.VIPL*,$PAGE*)

NUMWTRBUF - Specifies the number of 1K (1024 byte) writer buffers that VCC should GETMAIN for each VTOC/catalog subtask. VCC uses these buffers to store data while it is waiting to be written to a file by the VCCWRIT2 writer module. Specifying too small a value will cause delays while the subtask waits for a buffer to become available. Specifying too large a value will increase the region size needed to run VCC. Consider using a larger value if you are writing scan data to a data set, rather than to SMF. Specify a number between 10 and 100.

Default: NUMWTRBUF=25

REMOVEMNT - Specifies whether or not DASD devices that are neither permanently resident nor reserved are to be scanned by VCC. Removable volumes can be dismounted either at the end of the job in which they were last used or when the unit on which the volume is mounted is needed for another volume.

Default: REMOVEMNT=N

RESERVEMNT - Specifies whether or not DASD devices that are mounted with the PRIVATE, RESERVED attributes are to be scanned by VCC.

Default: RESERVEMNT=N

RESFAILOK - Specifies the action that VCC should take when it cannot RESERVE a volume that it is attempting to process. You control the number of times that VCC will attempt the RESERVE by the RESRETRY parameter. Specify RESFAILOK=Y (Yes) if you want VCC to continue processing the volume without reserving it. Use this option with caution, as VTOCs that are not reserved can have their data changed while being processed by VCC. Specify RESFAILOK=N (No) if you want VCC to bypass the volume and not process it.

Default: RESFAILOK=Y

RESRETRY - Specifies the number of times that VCC attempts to RESERVE a volume before taking the action specified by the RESFAILOK parameter. A retry consists of three RESERVEs, each one second apart. If VCC cannot reserve the volume in these three attempts and the RESRETRY limit has not been exceeded, VCC places the volume back on the queue and tries later with another subtask. Thus, specifying RESRETRY=4 causes up to 12 RESERVEs (3 times 4) to be issued for a volume before taking the RESFAILOK action. Use this option with caution, as VTOCs that are not reserved can have their data changed while being processed by VCC. Specify a number between 1 and 250.

Default: RESRETRY=10

SERIALIZE - Controls issuing of a cross-systems ENQ on the SYSVTOC resource for a given volume. This type of ENQ results in a hardware RESERVE being issued for the entire device until the SYSVTOC resource is DEQ'ed (released). This option preserves the integrity of reading a VTOC to ensure that VCC can obtain the correct data set information. Specifying a Y causes an ENQ/RESERVE to be issued before the start of each VTOC scan. Specifying an N bypasses the issuing of the ENQ/RESERVE for ALL VTOCs during the current execution. There is a small possibility that not reserving the VTOC during the scan can cause data integrity problems. Reserving the VTOC can cause operational problems with other jobs and online systems, ESPECIALLY when VCC is run during a prime shift or a busy period.

RECOMMENDATION: Always use SERIALIZE=N to avoid operational bottlenecks due to ENQ waits. Never use SERIALIZE=Y during peak-load. The only occasion you should use SERIALIZE=Y is when absolute data integrity is necessary (for example, when you are utilizing MICS Accounting and Chargeback data), and only then when it is an off-peak time.

You should consider BYPASSRES lists for "system" type volumes such as PAGE, SPOOL, and (DFHSM) ML1 volumes.

SMF - Specifies the recording medium VCC uses to record DASD space utilization data. Y (yes) tells VCC to record to SMF, N (no) tells VCC to record to a data set.

Default: SMF=N

NOTE: If you code SMF=Y, make sure MVS is prepared to write the proper SMF record as coded by SMFID (below). To verify this, check SYS1.PARMLIB(SMFPRMxx) as discussed in IBM's MVS/SPL: Initialization and Tuning (GC28-1128), Chapter 3.

SMFID - Specifies the SMF record number that VCC places in each record it writes. You can specify SMFID as a number between 128 and 255 inclusive. If the default conflicts with an SMF record number being produced by another product, change the record number VCC produces with this parameter. REMEMBER THAT MICS MUST ALSO KNOW ABOUT ANY CHANGES TO THIS PARAMETER.

If remote data centers have DASD data to be collected and processed by MICS at a central location, the SMFID value chosen must be the same by the time it is processed by a central MICS. If this cannot be synchronized, then a copy utility could change the byte in the record to the common value coded in the VCAGENIN member of sharedprefix.MICS.GENLIB.

Default: SMFID=198

SREPORT - Determines the sort order of the VCCSTATS report. The default shows the volumes processed in sequence by volume serial number. Coding SREPORT=N overrides this to list volumes by device address.

Default: SREPORT=Y

TEMPDSN - Provides for the automatic recognition and exclusion of system-generated temporary data sets from the VCC inventory. The space occupied by a temporary data set is still counted toward the totals kept for the VCAVOA file, but TEMPDSN=N prevents VCC from writing a record to the VCCDATA file for the temporary data set itself.

You should remove any EXCLUDEDSN=(SYS94*) statements you may have in your VCCPARMS.

Default: TEMPDSN=N

TEST - Facilitates problem solving by enabling the VCC input/output record dump facility. The Y (yes) specification enables this facility.

You should restrict use of this parameter to a VTOC or catalog and/or data set by using the INCLUDE/EXCLUDE facilities described later in this section. Enabling this facility produces voluminous output.

Default: TEST=N

USEREXIT - Specifies whether VCC invokes a user exit to perform user processing of Format 1 VTOC DSCBs and the VCC output record. See Chapter 5 for more information.

Default: USEREXIT=N

VSAMSUBT - Defines the number of VCCVSCAN subtasks that VCC uses to scan VSAM/ICF catalogs and VVDS data sets. Specify this parameter as a number between 0 and 32. The value you specify should never exceed the number of devices being processed during a particular scan execution.

Default: VSAMSUBT=4

Refer to the VTOCSUBT parameter for a discussion of considerations when choosing this value.

VSAMERR - Defines the number of VCCVSCAN subtasks that can terminate with a "critical" error without affecting the entire run (other subtasks).

Specify this parameter as a number between 0 and 31. The default is 0. The specified value should not exceed the number of tasks specified in VSAMSUBT keyword minus 1.

Example:
VSAMERR=3
VSAMSUBT=4

Refer to Section 5.3, Abnormal Termination Processing, for a discussion of considerations when choosing this value. VTOCSUBT - Defines the number of VCCVTOC subtasks to be used to scan VTOCs. Specify this parameter as a number between 0 and 32. The specified value should never exceed the number of devices being processed during a particular scan execution.

Default: VTOCSUBT=8

VCC uses the VTOCSUBT and VSAMSUBT parameters to govern how fast it scans the VTOCs and catalogs in the DASD configuration. The main purpose is to make the most efficient use of I/O wait time by overlapping VCC I/O requests between subtasks (while one subtask is waiting for I/O to complete, others can be processing their data).

This subtask facility also provides a means by which VCC I/O can be distributed across the I/O configuration. (This is not always true for MVS/XA because the DASD configuration known by the CPU does not have to match the physical configuration known by the channels via the IOCP generation process.)

Use these parameters wisely, especially in the case of the VTOC scan, because a large amount of memory is obtained for I/O buffers and DSCB chain resolution queues by each VTOC scan subtask.

VTOCERR - Defines the number of VCCVTOC subtasks that can terminate with a "critical" error without affecting the entire run (for example, other subtasks).

Specify this parameter as a number between 0 and 31. The default is 0. The value you specify should not exceed the number of tasks specified in VTOCSUBT keyword minus 1.

Example:
VTOCERR=2
VTOCSUBT=8

Refer to Section 5.3, Abnormal Termination Processing, for a discussion of considerations when choosing this value.

WTO - (Write To Operator) Specifies whether or not VCC should notify Operations if unusual or catastrophic situations occur during a VCC run. VCC will issue WTOs to the master console in these situations. See Chapter 7, VCC Return Codes and Messages, for message identifier VCCCN13I.

Default: WTO=Y