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

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

posted on 2015-06-24 16:17  东方瀚海  阅读(754)  评论(0编辑  收藏  举报