Escolar Documentos
Profissional Documentos
Cultura Documentos
control blocks when the VSAM data set which was opened for output is
successfully closed.
The actual VSAM control-block fields that get updated depend on the type
of data set being verified. VSAM control block fields that can be updated
include High used RBA/CI for the data set, High key RBA/CI, number of
index levels, and RBA/CI of the first sequence set record.
The VERIFY command should be used following a system failure that
caused a component opened for update processing to be improperly
closed. Clusters, alternate indexes, entry-sequenced data sets, and
catalogs can be verified. Paths over an alternate index and linear data sets
cannot be verified. Paths defined directly over a base cluster can be
verified.
The VERIFY macro will perform no function when VSAM RLS is
being used.
VSAM RLS is responsible for maintaining data
set information in a shared environment.
Although the data and index components of a key-sequenced cluster or
alternate index can be verified, the timestamps of the two components are
different following the separate verifies, possibly causing further OPEN
errors. Therefore, use the cluster or alternate index name as the target of
your VERIFY command. You should issue the VERIFY command every time
you open a VSAM cluster that is shared across systems. For information
about using VERIFY with clusters that are shared, see Cross-System
Sharing.
Recovering from Errors Due to an Improperly Closed VSAM Data Set
Sometimes a data set is closed properly, but an error occurred. The most
likely error is an incorrect high RBA in the catalog. Other possible errors are
an incomplete write to a DASD or duplicate data exists. One way to avoid
these errors is by doing synchronous direct inserts. Another way is by
using abnormal termination user exits in which you issue a CLOSE
(perhaps with the TYPE=T parameter) to close the data set properly.
verified after a create (load) mode failure; however, you cannot run VERIFY
against an empty data set or a linear data set.
Any attempt to do either will result in a VSAM logical error.
Replicate and Imbed (INDEXED clusters only)
REPLICATE specifies that VSAM should write each index record on a track as
many times as it will fit. IMBED specifies that sequence set records are to be
imbedded with the data in the data component of the cluster. When the
sequence set is imbedded in the data component, VSAM writes each sequence
set record on the first track of its associated control area. IMBED automatically
implies REPLICATE. Without imbedding, the sequence set records are kept in the
index component with other index records. The use of REPLICATE and IMBED
may improve performance at the expense of an increase in storage
requirements.
Pre-Formatting Space
The SPEED / RECOVERY parameters are used to specify whether or not VSAM
should preformat the space allocated to the cluster as part of the DEFINE
process. Specifying RECOVERY (the default) causes the allocated space to be
filled with end-of-file markers. If the initial load of the cluster with data should
fail before completion, the end-of-file markers can be used to resume the load
from the point of failure. For large datasets, this can save recovery time,
however there is a trade-off in time to write the end-of-file markers during the
definition of the cluster.
01 WS-FILE-STATUS-FLAG
88 SUCCESSFUL-COMPLETION
PIC X(02).
VALUE '00'.
88 END-OF-FILE
VALUE '10'.
88 SEQUENCE-ERROR
VALUE '21'.
88 DUPLICATE-KEY
88 NO-RECORD-FOUND
88 NO-MORE-SPACE
88 UNCORRECTABLE-IO-ERROR
VALUE '22'.
VALUE '23'.
VALUE '24'.
VALUE '30'.
88 VSAM-LOGIC-ERROR
VALUE '90'.
88 FILE-NOT-OPEN
VALUE '92'.