IBM SC34-7012-01 Server User Manual


 
v Do not use DENYNONRLSUPDATE if you run non-RLS work after specifying
PERMITNONRLSUPDATE. The permit status is automatically reset by the CICS
regions that hold retained locks when they open the data set in RLS mode.
Post-batch processing
After a non-RLS program has been permitted to override retained locks, the
uncommitted changes that were protected by those locks must not normally be
allowed to back out.
This is because the non-RLS program may have changed the protected records. To
ensure this, all CICS regions that held retained locks are notified by VSAM that a
non-RLS update may have occurred because of the PERMITNONRLSUPDATE
override. The CICS regions receive this notification when they open the affected
data set in RLS mode.
CICS stores information about any uncommitted changes that are currently
outstanding, and then informs VSAM RLS that the PERMITNONRLSUPDATE state
can be cleared with respect to this CICS region. CICS uses the stored information
to prevent automatic backouts during retries, because this could cause
unpredictable results if backouts were applied to data modified by a batch
program. Whenever a change made by one of these UOWs is about to be backed
out, CICS detects its special status and invokes the XFCBOVER global user exit
program. This allows you to determine what action to take over the uncommitted
changes. The default action for these units of work is not to retry the backouts.
Diagnostic information is provided to help you to correct the data if necessary.
Diagnostic messages DFHFC3001 and DFHFC3010 are issued for each affected
update. CICS uses an internal form of the SET DSNAME RETRY command to
drive any pending backout failures immediately. In the case of indoubt failures,
CICS has to wait for the indoubt to be resolved following resynchronization before
knowing whether the changes were to have been backed out.
Note that neither CICS nor VSAM knows whether the non-RLS program did
change any of the locked records, only that it had the potential to do so. With your
knowledge of the batch application, you may know that the records, or certain of
the records, could not have been changed by batch and could therefore be safely
backed out. For example, the batch application might only ever add records to the
data set. CICS provides a global user exit point, XFCBOVER, which allows you to
request that records are backed out, and which you can also use to perform other
actions. If you choose to back out an update, CICS issues diagnostic message
DFHFC3002 instead of DFHFC3001.
The SHCDS LISTDS subcommand shows whether the non-RLS batch update
PERMITNONRLSUPDATE state is currently set. It also shows the status of a
PERMIT first-time switch, which is a switch that is cleared as soon as a data set for
which non-RLS update has been allowed is next opened for RLS access. The
non-RLS permitted state is used to inform each contributing CICS region that a
non-RLS program has potentially overridden its retained locks. The first-time
switch is used to ensure that a subsequent non-RLS open for update requires a
new PERMITNONRLSUPDATE to be issued even if some permitted states have
not yet been cleared.
Chapter 15. Resolving retained locks on recoverable resources 181