Kbase P55536: Browse widget releases record lock unexpectedly
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  19/11/2009 |
|
Status: Verified
SYMPTOM(s):
Browse widget releases record lock unexpectedly
** The <filename> record has NO-LOCK status. DELETE not allowed. (335)
** <filename> record has NO-LOCK status, update to field not allowed. (396)
Using a static browse widget.
Default locking behavior used throughout the application code (no locking behavior explicitly specified).
Errors occur when something causes the focus to move on to or away from the browse widget (4GL dialog boxes popping up, APPLY "FOCUS" / "ENTRY" / "LEAVE" statements being executed..).
FACT(s) (Environment):
Progress/OpenEdge Product Family
All Supported Operating Systems
CAUSE:
This is expected behavior.
By default, records fetched by the the static browse widget are fetched with a NO-LOCK status. As a result of this, whenever a record is re-fetched any locks that were on the buffer will be released.
FIX:
Define the browse widget as using a SHARE-LOCK:
DEFINE BROWSE <browse name> QUERY <query name> SHARE-LOCK .....
Note that when designing a Browse using the AppBuilder the browse and it's associated query will both be defined with the locking level defined in the Query Builder.