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