Have you ever got this error in your oracle form ? FRM-40654: Record has been updated by another user. Re-query to see. The case that i had was i changed the query of 1 database block dynamically use set_block_property(’BLOCK1′,Query_Data_Source_Name,’TABLE_X’). This BLOCK1 previously assign to TABLE_A. TABLE_X and TABLE_A has same fields structure.
As summary, my form blocks condition were like this :
BLOCK1 = TABLE_A
use set_block_property on pre_query trigger to change the query_data_source_name to TABLE_X.
Everything looks fine when i load the form, but when i tried to change the field value, it gave me this form error FRM-40654. I search around in Google and only can found several peoples face the same frm-40654 but in different situation.
Some people said its because of the record has been lock somehow and need to released first. Its correct somehow, but not in my case here. After hassle try this and that for several hours… (really wasting time..) then EUREKA … need to set this property as well dml_data_target_name in the pre-query trigger.
set_block_property(’BLOCK1′,dml_data_target_name,’TABLE_X’)
I hope this can save most of your time rather than finding the causes by your self, might my experience help you reduce your hassle.