ITPub博客

首页 > 数据库 > Oracle > Oracle EBS Form CUSTOM.PLL详解 (转)

Oracle EBS Form CUSTOM.PLL详解 (转)

Oracle 作者:动力源 时间:2013-12-08 11:15:51 0 删除 编辑

来自:http://blog.csdn.net/cunxiyuan108/article/details/6624691>

编写CUSTOM 库

     CUSTOM库是一个OracleForms Developer  PL/SQL 库,它容许您充尝试使Oracle Forms Developer直接整合您的代码到Oracle 应用轨范而没必要改变Oracle Application 的代码。

  什么时分行使CUSTOM库

      正在一些次要的状况下,可以行使CUSTOM库。

       Zoom  Zoom 但凡是会打开另一个form并且可以传递参数抵达开的form中。

       通用事件的逻辑  正在肯定的通用form事件中,加强Oracle 应用轨范的逻辑譬喻:

   WHEN-NEW-FORM-INSTANCE 或WHEN-VALIDATE-RECORD您可以行使通用事件来改变区域的提示战其他的属性,隐hide区域,加加考据战其它

    产品新鲜事件的逻辑正在肯定的产品新鲜事件中加强或替换Oracle 应用轨范逻辑真现营业逻辑。

     客户定义菜单  正在Oracle 应用轨范form中加加条目到special菜单中,譬喻一个打开客户化form的条目。

     设置视觉属性  行使CUSTOM库正在运行时来改变视觉属性,行使Oracle Forms内建轨范 SET_VA_PROPERTY 来设置CUSTOM1 – CUSTOM5的视觉属性,并行使APP_ITEM_PROPERTY2.SET_PROPERTY正在运行时来应用视觉属性。

 

编写Zoom

Zoom容许用户挪用正在每个块中挪用逻辑,譬喻,您梗概期看正在输进采购定单form时打开供应商form,您可以正在这一个块上行使Zoom并且当用户挪用它,您可以打开供应商form

  11i版本Zoom的举动:

    Oracle 应用轨范供应一个菜单项战东西栏中的一个按钮,用户可以挪用Zoom,只有当这个块正在CUSTOM库Zoom逻辑定义后,菜单项战按钮才可用。

     当光标正在form中改变到好别的块中,form挪用CUSTOM库中的ZOOM_AVALIABLE 方法。若是这个方法返回TRUE,ZOOM条目战按钮可用,若是返回FALSE弗成用。

     若是Zoom条目是可用的,这是当用户挪用Zoom时挪用CUSTOM中的ZOOM方法。您基于当前form战块编写这个事件的方法。

  正在CUSTOM库中编写Zooms

1.      加加一个CUSTOM.ZOOM_AVALIABLE方法只是form 战块什么时分可以启用Zoom

2.      加加正在ZOOM事件中加加CUSTOM.EVENT历程。

  撑持一个块中的多Zoom时间。

     11i版中Oracle应用轨范为Zoom供应一个LOV战相应的参数:

u     LOV:APPCORE_ZOOM

u     参数:APPCORE_ZOOM_VALUE

行使LOV战参数当这个块露有多余1个的ZOOM时供应给用户一个LOV。

编写ZoomLOV到CUSTOM库中。

正在CUSTOM库中(包括Zoom事件代码)

1.     建坐一个记载组合,并挖充可用的Zoom名字战值

2.     加加记载组到APPCORE_ZOOM LOV中

3.     挪用show_lov来隐示LOV给用户

4.     若是用户选择一个Zoom,将返回值给APPCORE_ZOOM_VALUE参数

5.     取得参数的值选择好别的Zoom

编写通用Form事件

          您可以编写逻辑,正在新鲜的form并正在块的新鲜的事件中触收,您可以编写逻辑正在一下的事件中:

? WHEN–FORM–NAVIGATE

? WHEN–NEW–FORM–INSTANCE

? WHEN–NEW–BLOCK–INSTANCE

? WHEN–NEW–RECORD–INSTANCE

? WHEN–NEW–ITEM–INSTANCE

? WHEN–VALIDATE–RECORD

? SPECIALn (n 是1 到 45之间的一个数)

? ZOOM

? EXPORT

? KEY–Fn (n 是1 到 8之间的一个数)

一些Oracle 应用轨范forms譬喻大都的Oracle人力资源模块的form梗概供应附加的事件挪用CUSTOM库,这些附加事件被列正在具有这个form的产品的文档中。您可以编写逻辑正在CUSTOM库中以沟通的方法正在通用时间中编写逻辑。

  正在CUSTOM库中为通用的form时间编写逻辑:

1.      正在CUSTOM.EVENT历程傍边为新鲜的事件加加一个分收。

正在分收内部,指定您期看您的逻辑触收的form 战块并加加逻辑到您期看产生的事件到这些块中。

编写产品指定的事件:

    为了编写产品指定的事件逻辑到CUSTOM库中:

1.     为新鲜的产品的指定的事件加加分收到CUSTOM.EVENT历程傍边

正在分收中加加逻辑。

2.     若是要撑持客户化的施行典范,加加分收到CUSTOM.STYLE方法来指定施行典范。

加加客户化条目到special菜单中。

     为了正在CUSTOM 库中加加逻辑到special菜单中的条目

1.     正在CUSTOM.EVENT历程傍边加加分收事件WHEN-NEW-FORM-INSTANCE

正在这个分收中指定您期看加加逻辑的form战块,加加逻辑到Special菜单中

2.     将新鲜的SPECIALn事件加加分收到CUSTOM.EVENT历程。

正在这个分收中,指定逻辑产生的form战块。加加逻辑到您的Special菜单中。若是是您开收的form您应当加加逻辑到用户定名的SPECIALn触收器中。

Oracle应用对象库中产品新鲜的事件。

     Oracle 应用对象库供应可以行使CUSTOM库行使的产品新鲜事件。

WHEN-LOGON-CHANGED 事件

     行使WHEN-LOGON-CHANGED事件正在用户行使”File-> Log On as a Different User”坐刻触收来考据。这个方法是只是对基于Oracle Forms Developer开收的form有用。而对基于HTML或Java 的from是无用的。

    您可以行使FND_PROFILE.GET方法取得新的用户名战其他预置文件值

    若是由于一些缘由起因正在这个时间中的代码扔出form_trigger_failure的非常,用户将返登录界面。

WHEN-RSPONSIBILITY-CHANGED 事件

   行使WHEN-RESPONSIBILITY-CHANGED事件当用户行使“Fiel->SwitchResponsibility”来切换职责时触收进行考据。这个方法只对基于Oracle  Forms Developer 开收的forms有用。

   您可以颠末历程FND_PROFILE.GET 方法取得新的职责称吸战其他预置文件的值。若是由于一些缘由起因正在这个事件中的代码扔出 form_trigger_failure的非常,用户将返回似乎选择了一个偏差的职责的值列表界面。

CUSTOM 包

  CUSTOM包包括了以下的方法战历程

     CUSTOM.ZOOM_AVALIABLE

     CUSTOM.STYLE

      CUSTOM.EVENT

CUSTOM.ZOOM_AVAILABLE

    function custom.zoom_available return BOOLEAN;

     若是闭于这个块Zoom是可用的,则返回TRUE,不然返回FALSE,但凡是用于测试form战块。

     但凡是这个方法返回FALSE

      CUSTOM.STYLE

     function custom.style(event_name varchar2) return integer;

     这个方法容许您决意施行的典范。您可以选择代码的施举动,之前,以后,或替换。寄看的是一些产品特定事件是没有撑持所有的施行典范的CUSTOM.STYLE没有合偏差通用form事件或Zoom起做用。

     以下的包变量以用做返回值:

        Custom.before

        Custom.after

        Custom.override

        Custom.standard

   做为默许值,这个方法返回custom.standard

CUSTOM.EVENT

    procedurecustom.event(event_name varchar2);

    这个方法容许您正在指定的事件中施行您的代码。但凡是测试事件称吸然或测试form战块。

    做为默许这个方法应当返回null;

 

 

行使倡议:

custom.pll是EBS标准的一个library>,当系统启动的时分会加载这个library。

很多时分,我们会需供写一些pll文件,比如控造Form上某些item的属性,若是是控造标准Form的某些属性,那末我们便可以颠末历程Library来真现,而没有消往动标准的Form(一样平时我们倡议没有往批改标准的Form)。再比如正在东西条上增添一些菜单,等等。

当然,所有这些我们都可以颠末历程直接批改custom.pll来真现,但是,我们没有倡议这么做,我们可以copy custom.pll重定名为:xx_cn_custom.pll (名字本人取),然后把xx_cn_custom.pll加载到custom.pll下 (正在custom.pll的event里,加上这段代码便可:xx_cn_custom.event;),这样,系统启动的时分便会颠末历程custom.pll也把xx_cn_custom.pll启动起来,那末,今后有什么客户化的library都可以正在xx_cn_custom.pll里面批改了。比如,我客户化了一个叫xx_wip_custom.pll的library,那末我只要正在xx_cn_custom.pll的event的procedure里加上:xx_wip_custom.event;便可以了。

这样做的益处便是降低了风险,由于custom.pll是标准的library,没有管是调试还是其它的,都邑影响到齐局,当我们加载xx_cn_custom.pll以后,便会躲免这些成绩。


<!-- 正文结束 -->

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

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-04-21