Home  >  Article  >  Database  >  Oracle EBS Form CUSTOM.PLL详解

Oracle EBS Form CUSTOM.PLL详解

WBOY
WBOYOriginal
2016-06-07 17:02:591063browse

编写CUSTOM 库CUSTOM库是一个OracleForms Developer PL/SQL 库,它允许你充分使用Oracle Forms Developer直接整合你的代码到Ora

编写CUSTOM 库
     CUSTOM库是一个OracleForms Developer  PL/SQL 库,它允许你充分使用Oracle Forms Developer直接整合你的菜单  在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;

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn