SAP Report 變數的值傳遞
Report有時涉及到key date的問題,即有些infoobject的attribute是時間依賴的(time-dependent),所以報表一般會有一個時間,而同時也要求輸Keydate的時間,如果沒有定義report的keydate,那麼系統會預設用當前的系統時間,這樣有些資料出來就是錯誤的。
report做了定義,使用者不明白原因,導致對此項設定的抱怨,於是採用enhancement 。
CMOD-Enhancements :建立工程,對enhancement的實際應用
SMOD-SAP Enhancement Management :管理enhancement本身
因為有戰友已建立了一個處理report變數的工程,所以我是用CMOD進去的,輸入工程名,會有兩個比較顯眼的按鍵
“Enhancement Assign”和“Components”。第一個按鍵是定義工程將用到的Enhancement,Component顯示的是En的內部組成(不是很清楚)。
我要用到的是
RSR00001:BW: Enhancements for global variables in reporting
點選進入:Components,選擇EXIT_SAPLRRS0_001,雙擊進入Function,
Function內容為“INCLUDE ZXRSRU01” . 進入include program“ZXRSRU01”
跳過前面幾行的引數定義,可以看到 CASE i_vnam. 這個就是對變數進行過濾的段落,翻到 此Case的末尾,新增一個when段落,注意其他人的東西不要去動,否則後果自負。
比如,我在report裡面定義report的時間變數為 zperiod,key date的變數為 zkeydate,那麼 when 後面的字元就是用keydate的變數名即“zkeydate”,
大體程式碼如下:
WHEN 'ZKEYDATE'.
DATA: g_date_1(10) TYPE c.
IF i_step = 2.
LOOP AT i_t_var_range INTO loc_var_range
WHERE vnam = 'ZPERIOD' .
CLEAR l_s_range.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
CLEAR g_date_1.
CONCATENATE
loc_var_range-low+0(4)
loc_var_range-low+5(2)
'01'
INTO g_date_1.
l_s_range-low = g_date_1.
APPEND l_s_range TO e_t_range.
EXIT.
ENDLOOP.
ENDIF.
應該程式碼都很容易,即輸入的report的時間變數為年週期,我改為年週期日。
這裡要注意,key date的引數型別要為Customer Exit,否則沒得搞。當然用RSRT去debug還是很容易發現的。
記錄一下。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-351777/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS的方法引數傳遞(按值傳遞)JS
- 獲取url傳遞傳遞的某個引數的值
- 面試官問:Go 中的引數傳遞是值傳遞還是引用傳遞?面試Go
- url傳遞的引數值編碼
- 獲取url傳遞的引數值
- js中函式引數值傳遞和引用傳遞JS函式
- JavaScript的值傳遞和引用傳遞JavaScript
- Java的值傳遞和引用傳遞Java
- FastReport VCL在 TfrxReport.OnGetValue 中傳遞變數值AST變數
- 向檢視傳遞變數變數
- 值傳遞與引用傳遞
- 值傳遞和引用傳遞
- Python的函式引數傳遞:傳值?引用?Python函式
- JavaScript獲取url傳遞的引數值JavaScript
- C#引數傳遞之值引數C#
- 方法的過載、可變形參的方法、方法的引數值傳遞機制、遞迴方法遞迴
- go 值傳遞和地址傳遞的例子Go
- Java中的值傳遞和引用傳遞Java
- Java引數傳遞是傳值還是傳引用?Java
- Python 中變數賦值傳遞時的引用和複製介紹Python變數賦值
- JavaScript 獲取 url 傳遞引數值JavaScript
- JavaScript深入之引數按值傳遞JavaScript
- JavaScript 深入之引數按值傳遞JavaScript
- javascript如何獲取url傳遞的引數值JavaScript
- ajax傳遞的引數值包含單引號
- java值傳遞Java
- 按值傳遞
- HttpRunner3的變數是如何傳遞的HTTP變數
- 快速搞懂值傳遞與引用傳遞
- js函式引數值傳遞和引用傳遞簡單介紹JS函式
- GO中的函式設計時候,引數傳遞選擇傳遞值還是傳遞指標?Go函式指標
- 關於值傳遞和引用傳遞的解釋
- ABAP 方法呼叫的引數傳遞裡,透過引用傳遞的方式,能修改原始引數值嗎?
- 禁止 SSH 傳遞 locale 環境變數變數
- Go語言引數傳遞是傳值?還是傳引用 ?Go
- Go語言引數傳遞是傳值還是傳引用Go
- 獲取url網址傳遞的指定引數值
- Java - 是值傳遞還是引用傳遞Java