WAD通過行選擇過濾另一個ITEM的資料
需求:在WAD中有兩部分資料顯示,上面是顯示所有公司的相關資料,下面是使用者選擇某一公司後顯示對應的資料。如當使用者單擊選擇“中國廣東核電集團有限公司”後,第二部分就只顯示此公司的資料。
技術實現:通過WAD的ANANLYSIS_ITEM的ROW_SELECTION來實現。
實現步驟:
第一步:建立兩個Query,Z08_ZWUPM_D1_CQ_016和Z08_ZWUPM_D1_CQ_017,分別用於顯示上圖第一、二部分的資料所用的。
因為第二部分的資料是根據使用者所選擇的公司來作出變化的,所以這個Query理應有個待輸入的、基於公司特徵(ZCUPMGSBM)建立的變數,這裡我定義為ZCUPMGSBM01。
記住:公司特徵名是ZCUPMGSBM,基於公司建立的變數是ZCUPMGSBM01。
第二步:很常規的做法,建立DataProvider、拉出CHART_ITEM,ANALYSIS_ITEM出來與DataProvider進行繫結。對於一些設定用個列表來顯示會清楚些:
報表部分 |
DataProvider |
關聯的Query |
ANALYSIS_ITEM的名字 |
第一部分 |
DP_1 |
Z08_ZWUPM_D1_CQ_016 |
ANALYSIS_ITEM_1 |
第二部分 |
DP_2 |
Z08_ZWUPM_D1_CQ_017 |
ANALYSIS_ITEM_2 |
這裡不多說CHART_ITEM,因為它的設定和ANALYSIS_ITEM幾乎差不多。
以下就是如何實現ANANLYSIS_ITEM的ROW_SELECTION。
第三步:在ANANLYSIS_ITEM的屬性有個“行選擇“,這裡我是通過命令實現。
在行選擇中選擇“SINGLE_WITH_COMMAND“, 在啟用操作中選擇”INSTRUCTION“。這兩個選項的意思是使用者當單擊一行資料時,觸發設定的命令。
第四步:SET_SELECTION_STATE_BY_BINDING(通過不同的源設定篩選值)可以實現,設定的引數包括:
1、 受影響的資料提供者:DP_2。
2、 資料繫結:
2.1、特徵:ZUPMGSBM
2.2、繫結型別:Web專案選擇[ITEM_CHARACTERISTIC]
2.3、Web專案:ANALYSIS_ITEM_1
2.4、特徵:ZUPMGSBM
這個命令的設定是當使用者單擊時,哪個資料提供者會受到影響,哪個特徵的值被繫結,設定好後它會自動生成如下程式碼:
<bi:SET_SELECTION_STATE_BY_BINDING xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp">
<bi:TARGET_DATA_PROVIDER_REF_LIST type="ORDEREDLIST">
<bi:TARGET_DATA_PROVIDER_REF index="1" value="DP_2">
</bi:TARGET_DATA_PROVIDER_REF>
</bi:TARGET_DATA_PROVIDER_REF_LIST>
<bi:SELECTION_BINDINGS type="UNORDEREDLIST">
<bi:SELECTION_BINDING type="COMPOSITE" index="1">
<bi:CHARACTERISTIC value="ZUPMGSBM" text="公司部門">
</bi:CHARACTERISTIC>
<bi:SELECTION_BINDING_TYPE type="CHOICE" value="ITEM_CHARACTERISTIC">
<bi:ITEM_CHARACTERISTIC type="COMPOSITE">
<bi:ITEM_REF value="ANALYSIS_ITEM_1">
</bi:ITEM_REF>
<bi:CHARACTERISTIC value="ZUPMGSBM" text="公司部門">
</bi:CHARACTERISTIC>
</bi:ITEM_CHARACTERISTIC>
</bi:SELECTION_BINDING_TYPE>
</bi:SELECTION_BINDING>
</bi:SELECTION_BINDINGS>
</bi:SET_SELECTION_STATE_BY_BINDING>
第五步:命令SET_VARIABLES_STATE(設定變數值)是將變數與特徵進行繫結,引數包括:
變數:ZUPMGSBM01
變數型別:SELECTION_BINDING_TYPE
繫結型別: ITEM_CHARACTERISTIC
Web專案:ANALYSIS_ITEM_1
特徵:ZUPMGSBM
設定好之後生成如下程式碼:
<bi:SET_VARIABLES_STATE xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp">
<bi:VARIABLE_VALUES type="ORDEREDLIST">
<bi:VARIABLE_VALUE type="COMPOSITE" index="1">
<bi:VARIABLE value="ZCUPMGSBM01" text="UPM-公司部門">
</bi:VARIABLE>
<bi:VARIABLE_TYPE type="CHOICE" value="SELECTION_BINDING_TYPE">
<bi:SELECTION_BINDING_TYPE type="CHOICE" value="ITEM_CHARACTERISTIC">
<bi:ITEM_CHARACTERISTIC type="COMPOSITE">
<bi:ITEM_REF value="ANALYSIS_ITEM_1">
</bi:ITEM_REF>
<bi:CHARACTERISTIC value="ZUPMGSBM" text="公司部門">
</bi:CHARACTERISTIC>
</bi:ITEM_CHARACTERISTIC>
</bi:SELECTION_BINDING_TYPE>
</bi:VARIABLE_TYPE>
</bi:VARIABLE_VALUE>
</bi:VARIABLE_VALUES>
</bi:SET_VARIABLES_STATE>
第六步:執行測試,報表會彈出要使用者選擇“公司部門“,這個時候是肯定需要的,還沒到實現行選擇的功能的時候,但報表又有變數所以在這個時候是要使用者手動選擇的。
第七步:報表顯示了,第二部分報表也能顯示原來選擇公司的資料。但單擊第一部分的ANALYSIS_ITEM_1的行時,報表就彈回到變數輸入介面,要使用者重新選擇公司部門。
按理說,我設定了這兩個變數就能實現的了,設定了觸發的控制元件,也設定了傳遞變數值。邏輯沒錯呀,我一直以為自己是不是在以上的設定在哪個地方搞錯的。但設定就那麼幾個我真是看N百遍也不知問題出在哪裡?這個問題差不多折騰了我兩個星期。
無意間在網上看到一往篇文章是關於Query跳轉的,有點啟發。
第八步:用RSBBS來設定SENDER是Z08_ZWUPM_D1_CQ_016,RECEICER是Z08_ZWUPM_D1_CQ_017.
第九步:執行報表再測試。OK,需求實現。
我總覺得在RSBBS是有點畫蛇添足,因為兩個命令已實現了相關的功能,為什麼還要在RSBBS設計BW報表的跳轉呢?
有哪位達人有什麼高見的,請暢所欲言,一起學習。
相關文章
- jQuery選擇器——基本過濾選擇器jQuery
- jQuery選擇器——內容過濾選擇器jQuery
- jQuery選擇器——子元素過濾選擇器jQuery
- jQuery選擇器——屬性過濾選擇器jQuery
- 通過Vue的過濾器實現資料的資料脫敏Vue過濾器
- jQuery子元素過濾選擇器jQuery
- jQuery選擇器——表單元素過濾選擇器jQuery
- jQuery選擇器——可見性過濾選擇器jQuery
- 如何用一個 Excel 過濾另一個 ExcelExcel
- mysql資料過濾MySql
- jQuery選擇器介紹:基本選擇器、層次選擇器、過濾選擇器、表單選擇器jQuery
- JavaMap通過key或者value過濾Java
- [MYSQL -7]資料過濾MySql
- PHP 對資料進行驗證和過濾PHP
- 通過 SQL Server 檢視訪問另一個資料庫伺服器表的方法SQLServer資料庫伺服器
- [MYSQL-6] 過濾資料MySql
- 用Tcpdump過濾資料包TCP
- 使用MySQL之過濾資料MySql
- input檔案選擇框檔案過濾引數accept
- 一個過濾重複資料的sql語句(轉)SQL
- 過濾搜尋引擎的抓取資料
- 關於資料過濾的設計
- 使用SQL Server過濾資料的方法SQLServer
- ListView,點選每一個Item,如何獲取當前Item的資料?View
- 請教過濾選擇框設計程式設計如何寫程式設計
- Lambda表示式where過濾資料
- 通過android:ssp高效過濾Android IntentsAndroidIntent
- 通過使用者選擇多個條件來進生相應的查詢
- 資料泵過濾匯出資料的where條件
- 過濾Servlet--過濾器Servlet過濾器
- 在選擇資料庫的路上,我們遇到過哪些坑?(2)資料庫
- 在選擇資料庫的路上,我們遇到過哪些坑?(1)資料庫
- RangeBitmap提升Java流資料過濾效能Java
- Wireshark-過濾器-資料包解析過濾器
- OpenYurt 之 Yurthub 資料過濾框架解析框架
- 關於fNIRS帶通濾波頻段選擇
- 使用EXPDP工具的 EXCLUDE選項過濾掉不關心的資料庫物件資料庫物件
- List過濾資料ConcurrentModificationException的坑Exception