zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    cd的使用
    转换器模式
    装饰模式
    策略模式
    模板方法模式
    工厂模式
    类型信息
    proto编译组件使用
    proto编译引用外部包问题
    Kafka经典三大问:数据有序丢失重复
  • 原文地址:https://www.cnblogs.com/quanweiru/p/6275272.html
Copyright © 2011-2022 走看看