BW Query替換路徑變數的使用
在BW Query變數處理型別中,有替換路徑這一項,在這裡記錄下我最近使用的一種業務情況,也介紹下它的使用步驟。
業務場景
在DSO裡有以下資料,有一條主流程N2012110107(以下圖中的第一條資料)和四條子流程記錄(以下截圖中的第二、三、四、五條資料記錄),子流程資料記錄是由主流程發起的(很類似採購訂單的頭資訊與行資訊的關係),有其主流程編號和各自的子流程編號,但它們的“流程發起時間”不一樣。
現在要求獲取子流程,其主流程發起時間是在一定期間(使用者輸入)的,而不管子流程的“流程發起時間”是什麼時候。例如要獲取“流程發起時間”是2011.11的子流程資料記錄,那麼以下的所有的子流程記錄都符合條件,因為它們的主流程的“流程發起時間”是2012.11。
這種情況不能通過子流程的“流程的發起時間”來做Filter,否則第五條記錄(N201211010704就漏掉了),在DSO再增加一個時間型別的欄位來儲存主流程的“流程的發起時間”,可以實現但很繁瑣且造成資料冗餘。
實現設想
先獲取符合條件的主流程資料記錄,然後在獲取子流程的資料時只需要找出“流程編號”在前一步的主資料資料記錄的範圍即可。即第二個Query的輸入引數由第一個Query的執行結果決定。這時可以使用替換路徑的變數來實現。
技術實現
1、建立第一個Query Z08_ZWUE_D01_CQ_035,它是獲取主流程記錄的,其流程發起時間是供使用者輸入。這個是很普通的Query,但要包含有“流程編號”特徵。
2、 建立替換路徑變數,在“流程編號”特徵上建立新變數,處理由選擇“替換路徑”,查詢輸入第一個Query的技術名稱Z08_ZWUE_D01_CQ_035。
3、建立第二個Query Z08_ZWUE_D01_CQ_025,這個是獲取子流程的資料記錄。只要把此替換路徑變數拉到Filter,或行列限制即可。
4、 執行第二個Query Z08_ZWUE_D01_CQ_025的時候,系統會先執行第一個Query Z08_ZWUE_D01_CQ_035,所以Z08_ZWUE_D01_CQ_035的變數輸入介面會彈出來。
5、 完畢,核查結果,正確。
相關文章
- 教你如何替換@PathVariable中的變數變數
- Jquery 替換掉路徑中的某些欄位 replaceAll(selector)jQuery
- word轉html用到的圖片路徑替換上傳HTML
- Nginx的location規則:優先順序和路徑替換Nginx
- Excel 多個變數替換 實際值Excel變數
- Jenkins allure report 路徑使用環境變數失敗Jenkins變數
- Stata-將變數名稱替換成標籤變數
- C#用正規表示式高效替換變數C#變數
- EOF 如何防止多行寫入檔案變數替換變數
- 定積分之換元積分法公式(或稱變數替換法)公式變數
- 不使用臨時變數交換兩個變數的值變數
- Lumen 替換 world 裡面變數並匯出 PDF 圖片變數
- Lumen 替換 Word 裡面變數並匯出 PDF 圖片變數
- bash 引數替換中的模式匹配模式
- SQL中的替換函式replace()使用SQL函式
- 如何不使用臨時變數,交換兩個變數的值。變數
- 用javascript替換URL中的引數值JavaScript
- Redis 中使用 scan 替換 keysRedis
- python如何將相對路徑轉換為絕對路徑?Python
- HTML 替換元素與非替換元素HTML
- Java替換RequstBody和RequestParam引數的屬性Java
- 6754 路徑計數
- 使用 Ignition 替換 whoops 報錯提示OOP
- spring cloud: 使用consul來替換eurekaSpringCloud
- vue-router如何實時地址不變,動態替換路由引數(位址列引數)Vue路由
- .NET正則替換URL引數值
- 不用第三個變數,交換變數的值變數
- Vi替換
- 替換空格
- js中字串的替換JS字串
- 使用正規表示式替換字串的方法(replace方法)字串
- 使用java8的方法引用替換硬編碼Java
- 【構建】start.sh指令碼中變數被maven profile構建過程替換指令碼變數Maven
- js replace替換字串,同時替換多個方法JS字串
- 3300. 替換為數位和以後的最小元素
- 替換橫槓
- linux文字替換Linux
- SQL Server 替換SQLServer
- 替換燈桶