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
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(); } }
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:
Thanks for sharing...
----Frank
Post a Comment