VSAM RLS locks individual records within a data set, and these locks are converted
to retained locks for those UOWs that are not completed because of backout or
in-doubt failures, thus preserving data integrity. To avoid corruption of a data set by
a non-RLS batch job, which is not aware of the retained record locks, a data set
cannot normally be opened for update in non-RLS mode if it has any locked
records.
Retained lock override for batch: There may be circumstances in which you
want to override these locks and force the open of a data set for batch processing.
For example, when:
v There is insufficient time available, before running the batch job, in which to
resolve the situation that caused the records to be locked, or
v It is known that the batch job cannot harm data integrity (because it does not
update existing records in the data set, or it does not update any records that
CICS may have updated).
To override the open restriction, VSAM RLS provides the SHCDS
PERMITNONRLSUPDATE command, to allow a non-RLS batch job to open a
sphere for update even when there are retained locks.
Effect of retained lock override on CICS: VSAM records the use of the option to
override retained locks, so that it can notify a CICS region when the region next
opens the data set. Because data could have been altered by the non-RLS batch
job, the results of CICS performing any recovery (on UOWs that were in a
backout-failed or indoubt-failed state at the time of the batch job) are unpredictable.
In this situation, therefore, the default CICS action is not to back out any updates
that were outstanding at the time that locks were overridden, and to write diagnostic
information about each backout ignored to the CSFL transient data queue.
The XFCBOVER global user exit is provided to enable you, for each UOW log
record for which backout is being ignored, to:
v Write application-related diagnostics to supplement those provided by CICS
v To perform application-related recovery actions
v To reverse the default by requesting that the backout should be carried out after
all. This option is required for the case where the batch job is known not to
corrupt data integrity (for example, because it only inserts records).
When invoked
Whenever CICS is about to ignore a UOW log record that is due to be
backed out, because the lock that protected the updated record could have
been overridden by a non-RLS batch program.
Exit-specific parameters
UEPOLOGR
Address of the file control portion of a shunted log record that
represents an update to a data set for which retained locks may
have been overridden. The file control portion of the log record can
be mapped using the DSECT DFHFCLGD.
UEPODSN
Address of a 44-byte area of storage containing the name of the
data set whose locks were overridden.
Return codes
Chapter 1. Global user exit programs 133