通過webi給BW傳值

通過BO定義參數獲取BW結果集的原理:

由於BW是通過query designer 生成abap代碼程序來獲取BW的數據集合,這一點和BO鏈接數據庫是不同的。我們不能像連接數據庫那樣通過webi的語義層建立模型生成SQL語句減少數據庫結果集。我只能將BW中的數據全部遍歷出來在從遍歷出來的結果集去篩選。

所以我們可以利用BW自帶的參數來減少BW生成的結果集。這樣我們又遇到了一個問題,如何通過BW自帶的參數傳參。

下面是一個通過BW自帶的參數傳參的例子:

首先:我們創建以BW作爲數據源的Universe之後,Universe會自動根據BW自帶的參數生成一個filter,我們可以通過這個filter對BW數據集合進行篩選,從而減少BW端生成的結果集。比如我們在BW端要傳一個時間年/月的參數,我們要做的是:

1、更改filter的名字,如圖1

tmpB7

圖1

2、雙擊filter會看到Universe爲BW生成的Where條件,將@Prompt的第一個參數改成OpenDocument傳入時的參數名。

3、去掉“在查詢中強制使用過濾器選項”,否則在通過OpenDocument連接跳轉到webi的頁面時會彈出參數面板而且無法去除。

tmpB8

圖2

tmpBC

圖3 

運行刷新時,過濾器會被帶出。

4、保存並導出Universe。

tmpBA

圖4

5、在webi中將所需要的參數過濾條件和Universe帶過來的過濾條件一起放入到過濾區域中。

tmpBB

圖5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章