匯率變數在Report中的幾點應用

leniz發表於2009-08-31

摘要:本文主要介紹瞭如何在Query中實現多型別的匯率轉換,以及如何實現多時間段的匯率轉換。

涉及T-CODE:RRC1,RRC2,RRC3

在Report中使用匯率轉換,這個功能可能大家都很熟悉。但是隨著我們的專案增加很多以及程度的提高,一些個性化的需求就出現了。比如這段時間就碰到幾個對匯率有特殊要求的問題,通過對Query以及匯率變數的相關了解也找到了相關的解決方案。

我先將問題描述一下.

問題1:DWHD要做一個Actual   Forecast的對照表,Actual的資料採用當前的標準匯率,但是Forecast的資料採用使用者自己提供的匯率,因為這個提供的匯率是針對未來幾期的,所以和實際的匯率可能不一致或者無法去要求一致,所以希望我們的報表需要能夠滿足這樣一種功能要求。

問題2:MM段要在某個報表中增加上個月的金額和本月資料作對比,並且匯率要按照實際月份進行轉換。

在解決問題之前,有幾個知識點我們是需要清楚的。

1.      Currency Conversion Type:幣種轉換型別,也就是轉換幣種的規則。幣種轉換會涉及到幾個關鍵問題:A. 匯率 B. 源幣種 C. 目標幣種 D. 匯率時間

2.      Currency Conversion Key: 即幣種轉換型別的編碼

3.      Target Currency Variable:如果在1中設定C目標幣種為“Sel. Of targ. Currency with Translation”時,可以在Report中設定目標幣種變數,允許使用者改變目標幣種

 

在分析上述兩個問題之後,我們大致可以把問題1歸結為:如何實現多幣種轉換;而問題2可以歸結為:如何實現多時間段轉換。

作了以上分析,我們先逐一看看。

首先在Query中,每個Key Figure只要是金額欄位都可以進行匯率轉換,如果不是金額欄位通過“Calculated Key Figure”(CKF)或“Restricted Key Figure”(RKF)也可以實現匯率轉換。所以通過CKF或RKF可以實現一個Key Figure多種匯率轉換。比如將Amount和“Actual” 設定為RKF“Actual Data”,而將Amount和“Forecast”設定為RKF“Forecast Data”,那麼就可以分別設定兩個匯率轉換型別了,其實這個知識點就可以解決問題1了。另外使用者有特別說明,Forecast有自己的一套匯率,那麼我們就必須把這種情況考慮進去。當然方法也很簡單,我們在設定Exchange Rate Type時就有必要自定義一些Type來區別標準的“M“型別。

 

而問題2著力點可能是如果將匯率轉換時間切換到上一個月(或者非當前月)。我們來看看在1中設定D匯率轉換時間有那些內容在裡面。

1.      Fixed Time Ref. (固定時間)

            i.                Current Date (系統當前時間)

          ii.                Key Date (設定一個定值)

        iii.                Time Based From Variable(設定時間變數,這個變數必須是掛在Calendar下面)

2.      Variable Time Ref. (變動時間)

            i.                Standard InfoObject (當前報表中標準的時間Object)

          ii.                Special InfoObject (處理不是精確到日的時間Object,比如0Fiscper)

如果是ii的情況,會要求設定具體的時間點

3.      Query Key Date

通過上述的屬性的列舉,我們可以找到兩種解決方案

1.      採用1-iii 設定一個時間變數,這樣可以靈活的獲取時間

2.      採用3,因為這個Report其實不要用到Key Date,所以可以利用Key Date 來傳遞時間

最終權衡之後,我們選擇了方案1,因為來得更為合理而專業。同時只需要將設定的時間變數型別設為“Customer Exit”,就可以通過程式碼來設定時間。

Reed Lei 20090831

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-613621/,如需轉載,請註明出處,否則將追究法律責任。

相關文章