2014-06-02 Created By BaoXinjian

一、摘要


OAF实现查询功能或需求,一般都会采用以下四种方式

(1). ResultBasedSearch

最简单的实现方式,将结果中某些栏位需要查询的栏位的属性search设定为true即可

(2). AutoCustomizationCriteria:SimpleSearchPanel & AdvancedSearchPannel

使用最多的查询方式,存在两种方式simple & advanced pannel

(3). 完全客制化Search:查询栏位Region - 按钮Regoin - 结果Region

如果遇到非常复杂,查询条件需要通过逻辑进行组合,就可以采用这种方式,完全客制化查询

1. ResultBasedSearch

(1). 建立Query Region

(2). 在Query Region下建立Result Table Region

(3). 设定Item的属性为Research为true

(4). 结构

-Query

-Result Table

-Item 设定Research为true

2. AutoCustomizationCriteria - SimpleSearchPanel

(1). 建立Query Region

(2). 在Query Region下建立Result Table Region

(3). 建立SimpleSearchPannel, 在其下建立messageComponentLayout,在建立Search Items

(4). 建立SimpleSearchMappings, 建立Mapping关系,Search Item和Result Item的关系

3. AutoCustomizationCriteria - AdvancedSearchPannel

(1). 建立Query Region

(2). 在Query Region下建立Result Table Region

(3). 建立AdvancedSearchPannel, 在其下建立messageComponentLayout,在建立Search Items

(4). 建立AdvancedSearchMappings, 建立Mapping关系,Search Item和Result Item的关系

4. 完全客制化Search

(1). 建立Page,SearchInovice包含查询栏位Region、查询结果Region、按钮Region

(2). 在SearchInvoiceCO.java中添加如下方法processFormRequest
         作用:按下查询发票Button,触发AM中的方法
   (3). 在InvoiceAM中添加如下方法
         作用:查询发票,
触发VO中的方法
   (3). 在InvocieSummaryVO中添加如下方法
         作用:设定sql的条件及具体语法

、解析


当你为pageLayout区域添加一个query 区域时,OAF框架生成一个oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean对象。

它依赖于它的配置,并通过一个子控件table, advanced table或者HGrid来实现simple search, advanced search和view panel组合,OAF框架自动在合适的区域生成按钮。

1. 结构

2. Query区域的使用限制

LOV Choice组件是不支持的。当使用一个query区域时,你不应该把结果表中的messageLovChoice列标记为可查询列(”queryable”)

、案例 - SimpleSearchPanel 查询方式


1. 建立SimpleSearchPannel

2. 测试SimpleSearchPannel结果

、案例 - AdvancedSearchPannel 查询方式


1. 建立AdvancedSearchPannel

2. 测试AdvancedSearchPannel结果

Thanks and Regards

OAF_开发系列04_实现OAF查询4种不同的实现方式的比较和实现(案例)的更多相关文章

  1. OAF_开发系列26_实现OAF中Java类型并发程式开发oracle.apps.fnd.cp.request(案例)

    20150730 Created By BaoXinjian

  2. OAF_开发系列13_实现OAF通过Vector动态查询设置(案例)

    20150715 Created By BaoXinjian

  3. OAF_开发系列03_实现OAF如何在保存前判断数据是否存在变更(案例)

    2014-06-26 Created By BaoXinjian

  4. OAF_开发系列02_实现OAF页面的通过个性化多语言开发国际化(案例)

    2014-06-10 Created By BaoXinjian

  5. OAF_开发系列28_实现OAF中反编译获取class包代码JD Compiler(案例)

    20150730 Created By BaoXinjian

  6. OAF_开发系列24_实现OAF更新记录显示Record History(案例)

    20150716 Created By BaoXinjian

  7. OAF_开发系列12_实现OAF开发中URL中的标记和加密参数传递(案例)

    20150712 Created By BaoXinjian

  8. OAF_开发系列10_实现OAF动态LOV设定

    20150712 Created By BaoXinjian

  9. OAF_开发系列07_实现OAF下拉菜单的上下联动Poplist Synchor(案例)

    20150706 Created By BaoXinjian

随机推荐

  1. PHP 监控服务器动态

    预期准备 一个139邮箱,收到邮件后,可以免费给你短信提醒.如果你不需要短信提醒功能,用什么邮箱都可以 另外一个可以运行PHP文件的Web服务器(相当于监控服务器),现在免费的PHP网站空间很多,上网 ...

  2. C#字符串截取

    .取前i个字符 ,i); string str1=str.Remove(i,str.Length-i); .去掉前i个字符 ,i); string str1=str.SubString(i); .从右 ...

  3. php组合

    为了提高代码的复用性,降低代码的耦合(组合实现的两种方式) 模式一: <?php //组合模式一 class Person{ public function eat(){ echo " ...

  4. js中的事件部分总结

    一.HTML事件 HTML事件处理就是直接在HTML标签上添加事件,举例 <p class="" onclick=function(){alert(HTML事件)}>& ...

  5. 学习maple

    定义函数:$f:=(x,y) \rightarrow x^2+y^2$ 类似mathematica的manipulate功能:plots[animate](plot,[f(x,y),x=0..1],y ...

  6. centos 安装beanstalkd

    You need to have the EPEL repo (http://www.servermom.org/2-cents-tip-how-to-enable-epel-repo-on-cent ...

  7. python 使用virtualenvrapper虚拟环境管理工具

    centos 默认安装的python是2.6版本的 使用virtualenv 环境管理工具建立python虚拟环境的时候会遇到一些错误,DEPRECATION: Python 2.6 is no lo ...

  8. WINDOW.PARENT.CKEDITOR.TOOLS.CALLFUNCTION 图片上传

    CKEDITOR  编辑器   图片上传 WINDOW.PARENT.CKEDITOR.TOOLS.CALLFUNCTION (CKEditorFuncNum,图片路径,返回信息); CKEditor ...

  9. 关于Java中的基本数据类型转换

    Java中的基本类型有四种,其中整型分为byte.short.int.long,浮点型分为float.double,字符型char,布尔型boolean.8种类型的级别由低到高byte->sho ...

  10. 用JS实现的类似QQ密码的输入特效

    <input ID="_PSD"></input> <script> function passwordText(ID,pd,mark){ ma ...