OAF控件及常见问题使用总结教学教案

上传人:youn****329 文档编号:130394816 上传时间:2020-04-27 格式:DOCX 页数:141 大小:1.05MB
返回 下载 相关 举报
OAF控件及常见问题使用总结教学教案_第1页
第1页 / 共141页
OAF控件及常见问题使用总结教学教案_第2页
第2页 / 共141页
OAF控件及常见问题使用总结教学教案_第3页
第3页 / 共141页
OAF控件及常见问题使用总结教学教案_第4页
第4页 / 共141页
OAF控件及常见问题使用总结教学教案_第5页
第5页 / 共141页
点击查看更多>>
资源描述

《OAF控件及常见问题使用总结教学教案》由会员分享,可在线阅读,更多相关《OAF控件及常见问题使用总结教学教案(141页珍藏版)》请在金锄头文库上搜索。

1、OAF项目工程目录布局Oracle.apps.webuiUsed for : Page and ControllerOracle.apps.serverUsed for : AM and VO and VLOracle.apps.schema.serverUsed for : EO and AOOracle.apps.lov.serverUsed for : AM and VO for LOVOracle.apps.lov.webuiUsed for : Page and Controller for LOVOracle.apps.poplist.serverUsed for : AM and

2、 VO for POPLIST从这些路径我们可以得出如下几点:Oracle.apps.是Oracle标准,所有的Project都必须用这样的路径来定义对象。Component name往往是我们所建的Project的名字,比如我做一个客户管理的应用,可定义名称为ManageCust”。webui一般放Clint端的东西, server一般放server端的东西。LOV及POPLIST是可以共享给多个Projects的.所以目录层次与Component name一致。在Oracle.apps前是可以加入个性化的上层目录的,比如用公司名称,用来代替那个MyCompany。举个例子:假设我公司的名字

3、叫Abeam,Jdev home path为C:OAFjdevhomejdev”,我新建一个Project ,功能是进行客户管理,名字为ManageCust”应用为ICX(这里的应用所发挥的作用还有待研究)则你的目录结构会是如下:myprojects|_abeam |_oracle |_ apps |_icx |_managecust | |_webui | |_server | |_schema | |_server |_lov | |_webui | |_server |_poplist |_server下拉框(MessageChoice)控件展示如图:方法一 值集 路径:Manufact

4、uring and Destribution ManagerInventory设置弹性域验证。“值集”来定义展示(相当于代码类别(集)和代码定义(值)值集的定义1. 首先登陆到http:/:8000/OA_HTML/OA.jsp?OAFunc=OAHOMEPAGE#系统。2. 主菜单中选择Manufacturing and Destribution ManagerInventory设置弹性域验证。如图:3. 首先定义集,如图:定义之后,点击工具栏的保存按钮,进行保存。(如上值,该值集定义有10个值选项)4. 定义值集下面的值,点击值,如图:点击名称弹出框,弹出查找窗口,在查找窗口中输入上一步新

5、建的值集名(即INV_STATUS),点击查找,如图:在值区域,新增要显示的显示列值。如上图。如何在OAF中调用定义的值集值集定义数据库中保存的表如下:fnd_flex_value_sets 值集 (ID:FLEX_VALUE_SET_ID)fnd_flex_values值集对应的值 (ID: FLEX_VALUE_ID;关联ID:FLEX_VALUE_SET_ID)fnd_flex_values_tl 值集对应的值的说明(关联ID: FLEX_VALUE_ID)定义VO,如图:选择如上图所示,下一步,如图:在Query Statement中输入一下语句:SELECT tl.DESCRIPTI

6、ON, /值说明v.FLEX_VALUE /值定义FROM FND_FLEX_VALUE_SETS s,FND_FLEX_VALUES v,FND_FLEX_VALUES_TL WHERE s.FLEX_VALUE_SET_ID = v.FLEX_VALUE_SET_ID AND v.FLEX_VALUE_ID=tl.FLEX_VALUE_ID AND s.FLEX_VALUE_SET_NAME=INV_STATUS / INV_STATUS定义的值集名AND tl.LANGUAGE=ZHS /中文AND v.ENABLED_FLAG =Y /启用状态AND trunc(sysdate) be

7、tween trunc(nvl(v.start_date_active, sysdate - 1) and trunc(nvl(v.end_date_active, sysdate + 1); -有效日期(开始日期 ,结束日期 )下一步,完成VO的创建。把VO加到对应的AM中,对绑定列选择VO字段,如图:方法二 代码EBS上维护路径英文路径:Application Developer-Application-Lookups-Common中文路径:应用开发员- 应用产品 - -代码 - 公用1、定义代码类型以及其代码定义,如下图所示:路径见上面。2、根据下面PLSQL语句建立VO视图SELECT

8、 LOOKUP_CODE ,MEANING FROM FND_LOOKUP_VALUES_VLWHERE LOOKUP_TYPE = INV_NOTICE_TRANSPORT AND ENABLED_FLAG=Y and trunc(sysdate) between trunc(nvl(start_date_active, sysdate - 1) and trunc(nvl(end_date_active, sysdate + 1)-有效日期ORDER BY TAG设置控件MessageChoice的属性如下:注:Meaning用于显示(即name),LookupCode用于存值(即code

9、)OAF下拉框缓存在使用OAF开发功能时,经常会遇到下拉框组件,比如查询面板中的,下拉框组件默认是有缓存的,这会导致下拉框中的数据被增加、删除或者修改后,下拉框依然不会发生变化。所以在开发的过程中一般要把下拉框组件的缓存去掉。可以在页面对应的CO中的processRequest方法中去除下拉框缓存,代码如下:public void processRequest(OAPageContext pageContext, OAWebBean webBean) super.processRequest(pageContext, webBean); OAMessageChoiceBean searchIn

10、cidentUrgency = (OAMessageChoiceBean)webBean.findChildRecursive(SearchIncidentUrgency); if(searchIncidentUrgency != null) searchIncidentUrgency.setPickListCacheEnabled(false); OAMessageChoiceBean searchIncidentType = (OAMessageChoiceBean)webBean.findChildRecursive(SearchIncidentType); if(searchIncid

11、entType != null) searchIncidentType.setPickListCacheEnabled(false); OAMessageChoiceBean searchIncidentStatus = (OAMessageChoiceBean)webBean.findChildRecursive(SearchIncidentStatus); if (searchIncidentStatus != null) searchIncidentStatus.setPickListCacheEnabled(false); OAF中实现两个下拉选择框的联动步骤:1. 创建两个VO:Re

12、portTypeVO和ReportVO(ReportVO中的ReportTypeId与ReportTypeVO中的ReportTypeId相关);将两个VO添加到AM中,其Instance Name分别为:ReportTypeVO1和ReportVO1;2. 在页面中创建两个item,Item Style为messageChoice,ID分别为:ParentChoice和ChildChoice,其Picklist View Instance属性分别与第一步的ReportTypeVO和ReportVO相关联;指定各自的Picklist Display Attribute和Picklist Value Attribute属性;3. 设置ParentChoice的Action Type为fireAction,Event为changeList;4. 在CO.java中的processRequest()中处理ChildChoice列表初始化(初始列表值为空): OAApplicationModule am =(OAApplicationModule)pageContext.getApplicationModule(webBean); am.invokeMethod(handleListInitEvent);5. 在AMImpl.java中:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号