We have been experiencing a surge in the number of occurrences of record locks in our shop. We make sure we follow the rules for preventing record locks. But I have seen programs where the UNLOCK is not used even though the UPDATE operation is embedded in between If-EndIf statements. At first I thought these were the culprits but on further investigation, I found out that the record locks are released because these programs end with *InLR = *On. I say this because these progams are not maintenace programs. Although they are used by the maintenace programs, they run instantaneously.
Now this question lingers in my mind in the absence of any other leadds: Is it possible for these programs not to release the record lock when the AS400 session hangs when the programs are running? Or is it possible for these programs to accidentally hold on to the record lock infinitely when other jobs attempt to contend for a lock to the same record?
January 17, 2009 10:44 AM
January 19, 2009 2:13 PM