




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Form开发中组件控制的几个常用方法Form, 组件, 开发本帖最后由 ebs.wang 于 2009-9-2 10:59 编辑 在Oracle EBS 的Form二次开发中,经常需要灵活的来控制某些组件是否可用、是否可见;有时希望某些字段的值自动生成或者手动输入;有时又希望能够根据不同的职责、不同的用户等来设置不同的行为控制。常见的需求:1. 只有某些角色的人才能看到销售订单中“登记订单”这个按钮 2. 只有某些角色的人才可以切换到某个标签页 3. 实现订单号码根据需要自动生成编号或者手工录入 4. 快速编码的值即可以录入所有应用下的,也可以只能录入某个应用,更可以只能录入某个应用下某个类型下的值 5. 在某些情况下Form需要只能够查询 6. 在Oracle EBS环境中有很多方法来实现这些功能,但是使用预置文件(Profile)、子功能(Subfunction)和功能参数(Function Parameter)是最常用最方便有效的3种方式,一,子功能(Subfunction)子功能是实际上是一个特殊的功能,利用子功能的方式其实就是使用了Oracle EBS的功能权限控制来实现安全性的控制,其实质就是某个用户能够执行一个被授权的功能,一般情况下会使用子功能来控制某些按钮是否显示,进而实现了用户是否可以操作Form中的某些功能,所以Oracle EBS的开发人员经常使用子功能来通过显示/隐hide或者有效/失效界面上的组件来实现功能的有效或无效,如上面常见需求中的1,2使用子功能最适合。如下我希望只有授权的用户才能看到Book Order这个按钮,看不到的自然也无法进行这个操作了下载 (54.62 KB)2009-9-2 10:56实现步骤:1,为Book Order按钮组件定义一个子功能下载 (8.54 KB)2009-9-2 10:562,Form代码中根据功能来控制组件在PRE-FORM触发器中,来判断用户是否有权限看到这个操作,如果有就显示否则不显示 1. IF (fnd_function.test(XHUORDER_BOOK_ORDER) THEN2. app_item_property.set_property(headers.book_order, DISPLAYED, PROPERTY_ON);3. ELSE4. app_item_property.set_property(headers.book_order, DISPLAYED, PROPERTY_OFF);5. END IF;复制代码3,将子功能授权给有权的用户如果某个用户需要显示这个按钮,只要将子功能XHUORDER_BOOK_ORDER添加用户拥有的职责对应的菜单里面,把子功能XHUORDER_BOOK_ORDER添加为一个菜单项,但是Prompt留空就可以下载 (50.99 KB)2009-9-2 10:56定义的时候需要将Prompt栏位留空,这样在菜单显示的时候就看不到这个菜单项,实际关键的是最后的Grant列,默认都是勾上的,代表了授权给相关的职责用户二、功能参数功能参数的方法实际上和子功能是一致的控制方法,都是使用功能权限来进行控制, 它通过针对同一个Form定义多个Function,不同Function参数的值不同来实现控制,Oracle EBS中最典型的应用就是Form中的仅仅查询功能和快速编码(Lookup Code)定义界面在快速编码定义界面中,可以通过APPL_SHORT_NAME参数来控制只能查询特点应用的快速编码;LOOKUP_TYPE参数来控制特点类型的快速编码。实现了参数值不同界面的行为也不同下载 (92.29 KB)2009-9-2 10:56实现步骤:1,在Form设计器中定义参数像快速编码定义的Form中,定义了如下图的参数下载 (14.92 KB)2009-9-2 10:562,在Form程序代码中引用参数的值来控制根据业务需求和功能设计的要求,通过参数的值来编写代码,如 1. if (:parameter.lookup_type is not null) then2. set_block_property(FND_LOOKUP_TYPES, INSERT_ALLOWED,3. PROPERTY_FALSE);4. end if;5.6. if (:parameter.appl_short_name is not null) then7. :parameter.appl_short_name := upper(:parameter.appl_short_name);8. :parameter.appl_id := 9. fnd_utilities.get_application_id(:parameter.appl_short_name);10. :parameter.application := 11. fnd_utilities.get_application_name(:parameter.appl_id);12.13. app_item_property.set_property(FND_LOOKUP_TYPES.APPLICATION_NAME,14. INSERT_ALLOWED, PROPERTY_OFF);15. end if;复制代码parameter的参数值在Form运行的时候会从Function定义中传入3,定义Function时设置具体的参数值如上面显示的DEMAND_CLASS的快速编码,参数为:VIEW_APPLICATION=”AU” LOOKUP_TYPE=”DEMAND_CLASS” 下载 (39.57 KB)2009-9-2 10:56为Function定义了参数,在运行的时候就会到form的parameter中去查找同名的参数,并将等号(=)后的值传给参数,多个参数间用空格隔开。因此可以采用功能参数值的不同定义不同的功能,并赋给对应用户的职责就实现了不同的控制三、预置文件(Profile)预置文件的控制是这些方法中最灵活最强大的一种方法,通过预置文件可以实现到站点层、应用层、职责层和用户层的控制,预置文件相当于Oracle EBS系统中根据的一个全局变量,这个全局变量在不同的上下文可以设置为不同的值,因此在Form的开发中可以使用它来实现业务逻辑的控制,上面列出的常见需求都可以使用预置文件的方法来实现,只是预置文件太过灵活,所以有的需求则显得大材小用,因此只要需要较灵活层次控制并符合站点层、应用层、职责层和用户层这样层次控制的时候才采用。实现步骤:1,定义预置文件在Application Developer职责下定义预置文件,就像在Oracle EBS系统中定义一个变量的感觉,SQL Validation区域就是预置文件可以定义的值列表下载 (75.59 KB)2009-9-2 10:572,Form中根据预置文件值进行控制 1. l_order_num_mode := fnd_profile.value(DEMO_ORDER_NUMBER_MODE);2.3. if :parameter.order_number_mode = AUTOMATIC then4. app_item_property.set_property(HEADERS.ORDER_NUMBER, REQUIRED,PROPERTY_FALSE);5. app_item_property.set_property(HEADERS.ORDER_NUMBER, ENTERABLE, PROPERTY_FALSE);6. app_item_property.set_property(HEADERS.ORDER_NUMBER, NAVIGABLE, PROPERTY_FALSE);7. end if;复制代码上面的代码代表了如果预置文件DEMO_ORDER_NUMBER_MODE的值是AUTOMATIC的话,进行ORDER_NUMBER的控制3,设置预置文件的值Form程序中根据预置文件值的不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度酒水线上线下联销合作协议
- 二零二五年美容院加盟店员工招聘及培训协议
- 二零二五年度能源代签合同委托书范本
- 2025版防盗门安装与智能社区管理系统合同
- 二零二五年度企业文化交流活动合作协议样本
- 二零二五年度设备保密协议范本(升级版)
- 2025年航空代签合同委托书全新范本
- 二零二五年度工业园区场地租赁与基础设施建设合同
- 霍邱村官考试题目及答案
- 成品油采购合同违约责任范文
- 潍坊银行笔试题库及答案
- 护理学科研创新试题及答案
- 日本签证个人信息处理同意书
- DB50∕T 632-2015 火灾高危单位消防安全评估规程
- 从患者画像到个性化治疗医疗大数据的作用路径
- 盾构施工安全培训教育全面版
- 流动餐车走街串巷的美食之旅
- 配电网建设知识培训课件
- 井下矿山顶板安全知识培训
- 病历质量管理持续改进
- 护理实习生安全教育
评论
0/150
提交评论