内容发布更新时间 : 2024/12/25 21:33:57星期一 下面是文章的全部内容请认真阅读。
常用ORACLE EBS FORM 二次开发常用总结 1.锁住当前行
Set_Item_Instance_Property('main.import_flag', CURRENT_RECORD, UPDATE_ALLOWED, PROPERTY_OFF);
用在WHEN-NEW-RECORD-INSTANCE 或者POST-QUERY中。
同:app_item_property.set_property('MAIN.REF_COST',ALTERABLE,PROPERTY_ON) ; 2.设置记录的颜色
app_record.highlight('RED_REC'); 3.窗口居中
app_window.set_window_position('WINDOW_NAME','CENTER'); 4.最大化窗口时自动扩展文件夹数据块
在WHEN-WINDOW-RESIZED中添加以下代码即可。 if :system.event_window in ('MAIN') then app_folder.event('WHEN-WINDOW-RESIZED'); end if;
5.Form中调用forms基本参数方式
FND_FUNCTION.EXECUTE(FUNCTION_NAME=>'CUXSOSETUP', OPEN_FLAG=>'Y', SESSION_FLAG=>'Y',
OTHER_PARAMS=>NULL);
其它参数传入OTHER_PARAMS即可。 6.动态设置当前行指定列的必输属性
Set_Item_Instance_Property(item_name, CURRENT_RECORD, REQUIRED,PROPERTY_TRUE); 如: if :CUX_WORKHOUR_EMP.ATTRIBUTE2 <> :CUX_WORKHOUR_EMP.ATTRIBUTE1 then Set_Item_Instance_Property('CUX_WORKHOUR_EMP.MODIFY_REASON', CURRENT_RECORD, REQUIRED,PROPERTY_TRUE);
if :CUX_WORKHOUR_EMP.MODIFY_REASON is null then :CUX_WORKHOUR_EMP.MODIFY_REASON := '123'; :CUX_WORKHOUR_EMP.MODIFY_REASON := null ; fnd_message.set_string('请输入调整原因.'); fnd_message.show; end if; else
if :CUX_WORKHOUR_EMP.ATTRIBUTE4 = :CUX_WORKHOUR_EMP.ATTRIBUTE3 then Set_Item_Instance_Property('CUX_WORKHOUR_EMP.MODIFY_REASON',
CURRENT_RECORD, REQUIRED,PROPERTY_FALSE); end if; end if;
7.增加菜单 在 FORM级的when-new-form-instance
APP_SPECIAL.INSTANTIATE('SPECIAL1','取消需求行', '', TRUE, 'LINE');
8.LOV指定初始值后需在WHEN-NEW-RRECORD-INSTANCE用以下语句模拟验证, 否则会弹出验证框.代码如下:
app_item_property.set_property('DETAIL_D.DEMAND_STATUS_DESC', ITEM_IS_VALID,property_on);