CEMT INQUIRE UOWDSNFAIL DSN(’RLS.ACCOUNTS.ESDS.DBASE1’)
STATUS: RESULTS
Dsn(RLS.ACCOUNTS.ESDS.DBASE1 ) Dat Del
Uow(AA6DB080C40CEE01) Rls
Dsn(RLS.ACCOUNTS.ESDS.DBASE1 ) Dat Ind
Uow(AA6DB08AC66B4000) Rls
The display shows a REASON code of DELEXITERROR (Del) for one unit of
work, and INDEXRECFULL (Ind) for the other.
2. A CEMT SET DSNAME(...) RETRY command, after fixing the delete exit error
(caused because an XFCLDEL exit program was not enabled) invokes a retry of
both units of work with the following result:
SET DSNAME(’RLS.ACCOUNTS.ESDS.DBASE1’) RETRY
STATUS: RESULTS - OVERTYPE TO MODIFY
Dsn(RLS.ACCOUNTS.ESDS.DBASE1 ) Vsa NORMAL
Fil(0001) Val Bas Rec Sta Ava Ret
3. Another CEMT INQ UOWDSNFAIL command shows that one of the two units
of work failed again. It is the unit of work with the INDEXRECFULL error, as
follows:
INQUIRE UOWDSNFAIL
STATUS: RESULTS
Dsn(RLS.ACCOUNTS.ESDS.DBASE1 ) Dat Ind
Uow(AA6DB08AC66B4000) Dat Ind Rls
This type of error can occur when adding a value to a non-unique alternate
index while trying to back out a change to a record; after the original update
was made, other units of work have added values to the alternate index, filling
all the available space. Such an error should be extremely rare. The solution is
to define a larger alternate index record size for the data set.
4. However, the data set with the remaining failed unit of work is needed
urgently for a batch run, so you may decide not to complete the unit of work
now, and to resolve the problem later. In the meantime, to allow the batch job
to start, you issue SET DSN(’RLS.ACCOUNTS.ESDS.DBASE1’) RESETLOCKS to release
the retained locks associated with the unit of work.
5. To check that there are no retained locks left, you can issue another INQUIRE
DSNAME command. The expanded display shows:
Dsname(RLS.ACCOUNTS.ESDS.DBASE1)
Accessmethod(Vsam)
Action( )
Filecount(0001)
Validity(Valid)
Object(Base)
Recovstatus(Recoverable)
Backuptype(Static)
Frlog()
Availability( Available )
Lostlocks()
Retlocks(Noretained)
Quiescestate()
Uowaction( )
Basedsname(RLS.ACCOUNTS.ESDS.DBASE1)
Fwdrecovlsn(RLS.ACCOUNTS.FWDRECOV.LOG)
6. Diagnostic messages have been written to the CSFL transient data queue about
the locks that were reset.
DFHFC3003 01/04/95 12:08:03 CICSHDA1 Record not backed out because locks for
a backout-failed data set have been reset.
Diagnostic information follows in message DFHFC3010. The record was
updated by unit of work X’AA6DB08AC66B4000’ for file ACCNT1 , base
data set RLS.ACCOUNTS.ESDS.DBASE1
DFHFC3010 01/04/95 12:08:03 CICSHDA1 Diagnostic information for unit of work
Chapter 15. Resolving retained locks on recoverable resources 179