form中各种组件应用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
引用 Form开发中组件控制的几个常用方法 在Oracle EBS 的Form二次开发中,经常需要灵活的来控制某些组件是否可用、是否可见;有时希望某些字段的值自动生成或者手动输入;有时又希望能够根据不同的职责、不同的用户等来设置不同的行为控制。常见的需求: 只有某些角色的人才能看到销售订单中“登记订单”这个按钮 只有某些角色的人才可以切换到某个标签页 实现订单号码根据需要自动生成编号或者手工录入 快速编码的值即可以录入所有应用下的,也可以只能录入某个应用,更可以只能录入某个应用下某个类型下的值 在某些情况下Form需要只能够查询 …… 在Oracle EBS环境中有很多方法来实现这些功能,但是使用预置文件(Profile)、子功能(Subfunction)和功能参数(Function Parameter)是最常用最方便有效的3种方式,? 一,子功能(Subfunction) 子功能实际上是一个特殊的功能,利用子功能的方式其实就是使用了Oracle EBS的功能权限控制来实现安全性的控制,其实质就是某个用户能够执行一个被授权的功能,一般情况下会使用子功能来控制某些按钮是否显示,进而实现了用户是否可以操作Form中的某些功能,所以Oracle EBS的开发人员经常使用子功能来通过显示/隐藏或者有效/失效界面上的组件来实现功能的有效或无效,如上面常见需求中的1,2使用子功能最适合。如下我希望只有授权的用户才能看到Book Order这个按钮,看不到的自然也无法进行这个操作了 实现步骤: 1,为Book Order按钮组件定义一个子功能 2,Form代码中根据功能来控制组件 在PRE-FORM触发器中,来判断用户是否有权限看到这个操作,如果有就显示否则不显示 IF (fnd_function.test(XHUORDER_BOOK_ORDER)) THEN app_item_property.set_property(headers.book_order, displayed, property_on); ELSE app_item_property.set_property(headers.book_order, displayed, property_off); END IF; 3,将子功能授权给有权的用户 如果某个用户需要显示这个按钮,只要将子功能XHUORDER_BOOK_ORDER添加到用户拥有的职责对应的菜单里面,把子功能XHUORDER_BOOK_ORDER添加为一个菜单项,但是Prompt留空就可以 定义的时候需要将Prompt栏位留空,这样在菜单显示的时候就看不到这个菜单项,实际关键的是最后的Grant列,默认都是勾上的,代表了授权给相关的职责用户? 二、功能参数 功能参数的方法实际上和子功能是一致的控制方法,都是使用功能权限来进行控制, 它通过针对同一个Form定义多个Function,不同Function参数的值不同来实现控制,Oracle EBS中最典型的应用就是Form中的仅仅查询功能和快速编码(Lookup Code)定义界面 在快速编码定义界面中,可以通过APPL_SHORT_NAME参数来控制只能查询特点应用的快速编码;LOOKUP_TYPE参数来控制特点类型的快速编码。实现了参数值不同界面的行为也不同 实现步骤: 1,在Form设计器中定义参数 像快速编码定义的Form中,定义了如下图的参数 2,在Form程序代码中引用参数的值来控制 根据业务需求和功能设计的要求,通过参数的值来编写代码,如 IF (:parameter.lookup_type IS NOT NULL) THEN set_block_property(FND_LOOKUP_TYPES, insert_allowed, property_false); END IF; IF (:parameter.appl_short_name IS NOT NULL) THEN :parameter.appl_short_name := upper(:parameter.appl_short_name); :parameter.appl_id := fnd_utilities.get_application_id(:parameter.appl_short_name); :parameter.application := fnd_utilities.get_application_name(:parameter.appl_id); app_item_property.set_property(FND_LOOKUP_TYPES.APPLIC

文档评论(0)

wx171113 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档