EBS 菜单栏的开发

custom.pll是EBS标准的一个library,当系统启动的时候会加载这个library。打开这个Pll入图1
 
Custom.pll里面有两个函数和一个过程,我们要修改的是 event这个过程,通过测试发现此过程会在WHEN-NEW-FORM-INSTANCE ; WHEN-NEW-BLOCK-INSTANCE ;  WHEN-NEW-RECORD-INSTANCE ;WHEN-NEW-ITEM-INSTANCE ; WHEN-VALIDATE-RECORD这些触发器触发时候执行,了解的这个特性我们就可以在这个procedure中写入添加菜单的代码如下:
procedure event(event_name varchar2) is
  Form_Name     Varchar2(30) := Name_In('system.current_form');
  Block_Name    Varchar2(30) := Name_In('system.current_block');
  Item_Name     Varchar2(30) := Name_In('system.current_item');
  Form_Status   Varchar2(30) := Name_In('system.form_status');
  Record_Status Varchar2(30) := Name_In('system.record_status');
  v_Stage       Varchar2(1000);
Begin
  IfForm_Name = 'GLXJEENT' And Block_Name = 'LINES' and
     Event_Name = 'WHEN-NEW-BLOCK-INSTANCE'Then
    Declare
      Special_Menu_Name Varchar2(2000);
    Begin
      Special_Menu_Name := 'Longqin Add Action Message Test';
      App_Special2.Instantiate('SPECIAL42', Special_Menu_Name, Null, True);--添加菜单API
      Return;
    End;
  End If;
  If ((Form_Name = 'GLXJEENT') and (Block_Name = 'LINES') And
     (Event_Name = 'SPECIAL42')) Then
    --当Form为GLXJEENT,BLOCK为LINES,点击菜单Longqin Add Action Message Test时候执行下列PL/SQL代码。
    FND_MESSAGE.DEBUG('Longqin Add Action Message Test');
    --execute PL/SQL BLOCK
  else
    return;
  END IF;
end event;
修改完成后上传Custom.pll编译,就可以到相应的界面看看效果了.(特别提示:Custom.pll是标准的库文件,如果我们每次添加修改菜单都修改此文件难免会出现问题,因此建议将Custom.pll复制一份改个名称,Custom.pll调用我们复制的custom.pll文件,以后就只用修改我们复制的custom.pll文件,这样可以减少系统出现故障的机率);

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25103190/viewspace-722006/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25103190/viewspace-722006/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值