Why does an ADS dialog set locks when RETRIEVAL NOLOCK is specified in IDMS sysgen SYSTEM definition?
We have RETRIEVAL NOLOCK set in sysgen SYSTEM statement and also the dialog in question is compiled to specify NO (not selected) for "retrieval locks are kept" on the options screen in ADSC.
In OPER W DB when this dialog is in control it always shows 128 locks have been requested. Why?
In OPER W DB sometimes it shows status KKA which means the task is waiting for a record level lock (dbkey lock). Why?
The 128 locks that always show for the task are AREA level locks associated with the READY RETRIEVAL for the 128 areas Readied by the dialog. These will not cause any conflict with record level (dbkey) locks.
In this case although the dialog in question was properly compiled to NOT keep retrieval locks, the dialog did a LINK to another Retrieval dialog that was compiled to specify "retrieval locks are kept" so in the process of transferring control to the second dialog SHR locks are set during Currency Restore process, AND if any of those dbkeys are being updated by another task at the time, the task will wait to get the SHR locks until the relevant EXCL (update) locks are released.
Be sure that any dialogs linked-to from the Retrieval dialog also are compiled to NOT specify "retrieval locks are kept".