E9.0 Fix Inspect - Record Locks


Well Known Member
Hi folks,

I think I know the answer to this before typing this but just want to double check.

Am I right in thinking, E1 screens do not lock any database records themselves at all? (or does it depend on your database? - we use Oracle)
It may occur for a split second in the OK button, but the screens themselves do not do anything special. BSFNS may do this using the select for update APIs etc, but screens in general do not form any lock what so ever.

If they did, they F00095 would not need to be created. Am I right with these assumptions?

Only reason I ask I've been asked to test a delete/purge UBE informs a user a record cannot be purged as someone is in the screen (locked the record)
but I tested this a few times yesterday and my delete statement (table IO) works fine and SV File IO is success afterwards.

So it looks like I've no way way of knowing someone maybe viewing for update a F41021 record.




VIP Member
correct thinking. There may be some RDMS specific software that could provide this information to you, but nothing from JDE land other than F00095


Active Member
There are some out of the box jde functions related to F00095 for object reservations . I am pasting them below and you can give it a try .

// Sar 5490854 - Record Reservation
// Check UDC 00/RR to see if the application has special handling code = '1'.
// The function will return '0' if the application should be processed for Recor
// Reservation. Otherwise, a '1' is returned.
Validate Application Id (N0000604) - please see notes above as to what the business function does and returns .

F00095 Remove Business Object Reservation(N0000602) - to remove object reservation .Sample Mapping as below ->
F00095 Remove Business Object Reservation
SL UserID -> BF szUserId
"F4211" -> BF szNameObject
VA rpt_szGenericKey_GENKEY -> BF szGenericKey
"R42520" -> BF szApplication

F00095 Reserve Object (N0000602) - checks if it is reserved by other else reserves it by the calling program .Sample Mapping as below .
VA rpt_szGenericKey_GENKEY = concat([VA rpt_szDocumentNumber_DOC8],[BC Order Type (F4211)(DCTO)])
VA rpt_szGenericKey_GENKEY = concat([VA rpt_szGenericKey_GENKEY],[BC Order Company (Order Number) (F4211)(KCOO)])
F00095 Reserve Object
"F4211" -> BF szNameObject
SL UserID -> BF szUserId
"1" -> BF cSuppressErrorMessage
VA rpt_szRRErrorMessage_DTAI <- BF szErrorMessageID
VA rpt_szGenericKey_GENKEY -> BF szGenericKey
"R42520" -> BF szApplication
"1" -> BF cWarningError
"2" -> BF cModeOfProcessing
VA rpt_Jobnumber -> BF mnJobnumberA
VA rpt_ComputerID -> BF szComputerID


Well Known Member
Thanks you both
F00095 does work yes, but this is a base E1 screen I can't go changing.

So I did an update in SQL and didnt' click commit, to simulate a lock....
I'll just have to check with CNC what our SQL timeout from E1 is and see what to do about it. As my UBE is just hanging


Legendary Poster
There some apps that use dB transactions processing (P4210 for example) during save/update processing. I wouldn’t be surprised if some batch processes do this also.