2014-06-02 Created By BaoXinjianjava
1、摘要web
OAF实现查询功能或需求,通常都会采用如下四种方式sql
(1). ResultBasedSearchoracle
最简单的实现方式,将结果中某些栏位须要查询的栏位的属性search设定为true便可app
(2). AutoCustomizationCriteria:SimpleSearchPanel & AdvancedSearchPannel框架
使用最多的查询方式,存在两种方式simple & advanced pannel测试
(3). 彻底客制化Search:查询栏位Region - 按钮Regoin - 结果Regionui
若是遇到很是复杂,查询条件须要经过逻辑进行组合,就能够采用这种方式,彻底客制化查询spa
1. ResultBasedSearchorm
(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