Oracle EBS Form CUSTOM.PLL详解

13 篇文章 0 订阅
 

编写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;

 

本文转自:http://blog.csdn.net/cunxiyuan108/article/details/6624691

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统包含项目的源码和搭建的详细文档,以及数据库脚本 系统功能模块(开发时可取舍) 1. 权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限。 按钮权限: 给角色分配按钮权限。 2. 按钮管理:自定义按钮管理,维护按钮权限标识等 3. 菜单管理:无限级别自定义菜单,自定义菜单图标,业务菜单和系统菜单分离,菜单状态显示隐藏(递归处理) 4. 数据字典:无限级别,支持多级别无限分类。内设编号,排序等 5. 组织机构:无限级别,公司or部门管理 6. 在线管理:websocket技术,实时检测在线用户列表,统计在线人数,可强制用户下线 同一用户只能在一个客户端登录 7. 系统用户:对各个基本的用户增删改查,单发、群发站内信邮件短信,导入导出excel表格,批量删除 8. 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料 9. 代码生成:生成完整的模块代码,并保留生成记录模版,可复用 (超强悍开发利器) 正向生成: 生成完整的模块,页面、处理类、service层、myabaits的xml 建表的sql脚本等 反向生成: 任意连接其它数据库(mysql、oracle、sqlserver),根据表反射生成本系统的模块 10. 性能监控:监控整个系统的性能,SQL监控,SQL防火墙,URL监控,SPRING监控,SESSION监控等 11. 接口测试:POST or GET 方式检测系统接口,参数加密,json返回结果,计算服务器响应时间 12. 发送邮件:单发,群发邮件 13. 置二维码:生成二维码图表保存到服务器 or 解析读取二维码内信息 14. 图表报表:柱状图、饼状图、折线图、各种图表大全 15. 地图工具:打开地图, 鼠标点击地图某位置获取经纬度坐标,根据经纬度计算两点距离 16. 打印测试:页面打印预览测试 17. 图片管理:对批量上传的图片统一管理 ,点击放大,可打开多个,自由切换,绚丽预览效果 18. 图片爬虫:输入某网址,爬出其图片显示在页面上,可以放大预览。可保存到服务器上,到图片管理里面 19. 站内信:收信箱和发信箱, websocket技术通讯技术做的及时收信提醒,可配置语音提示来信 20. 系统设置:修改系统名称,邮件服务器配置,短信账号设置,图片水印配置,微信配置 21. 及时聊天:打开聊天窗口,可群聊、一对一聊天 22. 表单构建:拖拽式快速自定义构建表单,组建元素丰富,有富文本、上传控件、下拉框等等 23. 主附结构:提供一个主表和明细表模块的例子(用本代码生成器生成的) 24. 员工管理:和组织机构部门管理,可以绑定登录系统用户,授权数据权限 -------------------------------------------------------------------------------------------------------------------------数据库管理 25. 数据库备份:可备份单表、整库,支持本地和远程数据库备份(java界面编程技术,socket编程技术) 26. 备份定时器:quartz 2.2 强大的任务调度,多线程备份数据库,任务启动关闭异步操作 27. 数据库还原:历史备份记录,还原数据库 or 单表 ,统计备份时间和文件大小 28. SQL编辑器:强大的SQL编辑器,支持编辑语句复杂查询语句,生成动态报表,可导出excel ------------------------------------------------------------------------------------------------------------------------- 菜单权限:分配给每个角色不同的菜单权限, 每个角色看到的菜单不同,无限级别菜单 按钮权限:独立分配不同的角色不同的功能权限,增删改查权限分配具体到不同的菜单,自定义按钮管理 支持多用户分权限管理后台, 权限具体到不同的菜单不同的按钮

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值