Monday, August 5, 2013

JBO-25014: Another user has changed the row

oracle.jbo.RowInconsistentException: JBO-25014: Another user has changed the row with primary key oracle.jbo.Key[8110 ].

try by checking the Change Indicator of one of the attribute of entity object (for e.g primary key)  . There could be a trigger on update of the row if is trying to lock the row



  

https://forums.oracle.com/thread/2309847


if you get this error only when you commit the  transaction for the 1st time...
We can overcome it with the help of a procedure which tries to commit some trivial data by accepting a parameter or by just closing the window after committing the data ...this makes the cursor on page load not to update the data again

http://matt-shanto.blogspot.com/2012/09/oraclejborowinconsistentexception-jbo.html

By doing this - if the data on the screen is updated by a PL/SQL or a trigger we don't want the user to show an error ...like 'Another user has changed the row'...if the change indicator is set to true..the framework would catch the error and hold the lock on updated data 'row'..

https://blogs.oracle.com/emeapartnerweblogic/entry/explaining_change_indicator_property_for


One more way:


Oracle ADF info : to avoid this Exception Another user has changed the row with primary key oracle.jbo.Key[1 ]. override this Method in Entity Impl And write this code inside it
public void lock() { try { super.lock(); } catch (RowInconsistentException e) { // checkInconsistentAttrs(); refresh(REFRESH_WITH_DB_ONLY_IF_UNCHANGED ); super.lock(); } }




1 comment:

Anonymous said...

Thanks for sharing...

----Frank