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文件,这样可以减少系统出现故障的机率);
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/