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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM