1.FRM-40654:
出现这个问题原因就是,form查询到的数据集在最后修改的时候被其他进程修改了。今天我碰到了也是这个错误,现象是部分的数据可以修改,部分的数据不能修改。换了一下写法就可以了。 之前: DECLARE v_query VARCHAR2(300) :='(select * from BC_ALLOC_FACTOR where ORGANIZATION_ID=(select ORGANIZATION_ID from HR_ORGANIZATION_units_V where name='''||:edfac||'''))'; BEGIN go_block('MAIN'); clear_block; set_block_property('MAIN', QUERY_DATA_SOURCE_NAME, v_query); execute_query; END; 之后: go_block('MAIN'); clear_block; SET_BLOCK_PROPERTY('MAIN',DEFAULT_WHERE,'where ORGANIZATION_ID=(select ORGANIZATION_ID from HR_ORGANIZATION_units_V where name='''||:edfac||''')'); clear_block; execute_query;
2.FRM-47023,FRM-40105,FRM-40700发生到一起了
这个问题是由于ERP不同版本之间不兼容造成的,只要把你要登陆的那个ERP版本中的APSTANDARD.frm拷贝到本地重新编译即可。