form开发中组件控制的几个常用方法

form开发中组件控制的几个常用方法

ID:6031139

大小:532.50 KB

页数:9页

时间:2017-12-31

form开发中组件控制的几个常用方法_第1页
form开发中组件控制的几个常用方法_第2页
form开发中组件控制的几个常用方法_第3页
form开发中组件控制的几个常用方法_第4页
form开发中组件控制的几个常用方法_第5页
资源描述:

《form开发中组件控制的几个常用方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Form开发中组件控制的几个常用方法Form,组件,开发本帖最后由ebs.wang于2009-9-210:59编辑在OracleEBS的Form二次开发中,经常需要灵活的来控制某些组件是否可用、是否可见;有时希望某些字段的值自动生成或者手动输入;有时又希望能够根据不同的职责、不同的用户等来设置不同的行为控制。常见的需求:1.只有某些角色的人才能看到销售订单中“登记订单”这个按钮2.只有某些角色的人才可以切换到某个标签页3.实现订单号码根据需要自动生成编号或者手工录入4.快速编码的值即可以录入所有应用下的,也可以只能录入某个应用,更可以只能录入某个应用下某个类型下的

2、值5.在某些情况下Form需要只能够查询6.……在OracleEBS环境中有很多方法来实现这些功能,但是使用预置文件(Profile)、子功能(Subfunction)和功能参数(FunctionParameter)是最常用最方便有效的3种方式,一,子功能(Subfunction)子功能是实际上是一个特殊的功能,利用子功能的方式其实就是使用了OracleEBS的功能权限控制来实现安全性的控制,其实质就是某个用户能够执行一个被授权的功能,一般情况下会使用子功能来控制某些按钮是否显示,进而实现了用户是否可以操作Form中的某些功能,所以OracleEBS的开发人员经常

3、使用子功能来通过显示/隐hide或者有效/失效界面上的组件来实现功能的有效或无效,如上面常见需求中的1,2使用子功能最适合。如下我希望只有授权的用户才能看到BookOrder这个按钮,看不到的自然也无法进行这个操作了实现步骤:1,为BookOrder按钮组件定义一个子功能2,Form代码中根据功能来控制组件在PRE-FORM触发器中,来判断用户是否有权限看到这个操作,如果有就显示否则不显示1.IF(fnd_function.test('XHUORDER_BOOK_ORDER'))THEN2.app_item_property.set_property('heade

4、rs.book_order',DISPLAYED,PROPERTY_ON);3.ELSE4.app_item_property.set_property('headers.book_order',DISPLAYED,PROPERTY_OFF);5.ENDIF;复制代码3,将子功能授权给有权的用户如果某个用户需要显示这个按钮,只要将子功能XHUORDER_BOOK_ORDER添加用户拥有的职责对应的菜单里面,把子功能XHUORDER_BOOK_ORDER添加为一个菜单项,但是Prompt留空就可以定义的时候需要将Prompt栏位留空,这样在菜单显示的时候就看不到这个

5、菜单项,实际关键的是最后的Grant列,默认都是勾上的,代表了授权给相关的职责用户二、功能参数功能参数的方法实际上和子功能是一致的控制方法,都是使用功能权限来进行控制,它通过针对同一个Form定义多个Function,不同Function参数的值不同来实现控制,OracleEBS中最典型的应用就是Form中的仅仅查询功能和快速编码(LookupCode)定义界面在快速编码定义界面中,可以通过APPL_SHORT_NAME参数来控制只能查询特点应用的快速编码;LOOKUP_TYPE参数来控制特点类型的快速编码。实现了参数值不同界面的行为也不同实现步骤:1,在Form

6、设计器中定义参数像快速编码定义的Form中,定义了如下图的参数2,在Form程序代码中引用参数的值来控制根据业务需求和功能设计的要求,通过参数的值来编写代码,如1.if(:parameter.lookup_typeisnotnull)then2.set_block_property('FND_LOOKUP_TYPES',INSERT_ALLOWED,3.PROPERTY_FALSE);4.endif;5.6.if(:parameter.appl_short_nameisnotnull)then7.:parameter.appl_short_name:=upper(

7、: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_ALLO

8、WED,P

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。