CAUTION:
The VSAM data trap described in this topic is
intended to be used under the direction of IBM Service. It can cause
performance degradation due to the additional validation of data records
before they are written to DASD. You should enable the VSAM data
trap only after contacting IBM service when a problem is encountered
related to a data CI and additional diagnostic data is needed for
problem determination. The VSAM data trap should be disabled as soon
as the data is collected.
If the data component of a key-sequenced data set (KSDS) is damaged,
the problem may show up in several ways, including:
- Records out of sequence
- Records in the freespace area
- Problems with RDF or CIDF fields.
If data corruption occurs, the VSAM data trap can help to:
- Prevent the record from being added incorrectly
- Collect documentation close to the time of the problem. Without
the VSAM data trap, diagnostic data is collected too long after the
initial error and is usually not sufficient to diagnose the problem.
The VSAM KSDS data trap includes the following features and limitations.
It:
- Is only for KSDS
- Does not test spanned records or when there can be only one record
in a CI
- Cannot test for sequence errors between control intervals
- Tests key sequence in the CI as it is being written to DASD
- Examines the Control Interval (CI) to see if the keys have correct
value as related to the keys for the previous, and next, control interval
(CI).
Use the following MVS commands to turn the data trap off or on.
By default, the VSAM data trap is off.
- Make VSAM data components eligible for the data trap:
V SMS,MONDS(IGWVSAM.BASE.DATA.TRAP),ON[,](data component name1,…,data component name8)
At
least one data component name must be provided. The following additional syntax rules apply.- The maximum length for the entire data set mask is 44 characters.
- An asterisk (*) or percent sign (%) can be specified anywhere except in the first position.
- % represents any single character. For example, %%% represents any 3
characters.
- * by itself indicates that at least one qualifier occupies that position. * within a qualifier
represents zero or more characters.
- A qualifier can be a single *.
- ** represents zero or more qualifiers.
- ** cannot appear with any other characters within a qualifier.
- Three or more adjacent asterisks (for example, ***) are not allowed within a qualifier.
The data components are enabled when they are opened. To add more data components to the
list, issue the command with new data component names. The data set specified in the command is
enabled to use the data trap, and any data set previously enabled for the data trap is enabled again
and remains eligible until the data set is closed.
To make all VSAM data components eligible
for the data trap, use an asterisk in place of the data component names, as
follows:
V SMS,MONDS(IGWVSAM.BASE.DATA.TRAP),ON(*)
- Turn the data trap off for future use:
V SMS,MONDS(IGWVSAM.BASE.DATA.TRAP),OFF
To
disable the data trap for any existing data set being trapped, the
data set must be closed.
- To determine if the data trap is active for the system:
D SMS,MONDS(IGWVSAM.BASE.VSAM.DEBUG.FEATURES)
This
displays the status of VSAM diagnostic features. If the data trap
is enabled, the command displays the data component name(s) found
in the current data trap list created when you last enabled the data
trap with the VARY SMS command. Any data set previously enabled for
the data trap remains eligible until the data set is closed.