在開發的產銷存報表的過程中,由於資料量過大,且取數邏輯太過於複雜,導致報表效能上很緩慢;
後來業務顧問要求直接在mb5b上取數,一開始有點納悶,怎麼從標準報表上取數。
於是從網路上搜尋相關資料發現還真有,即將其**下來,以做備用。
在專案開發過程中需要從標準報表 mb5b中獲取資料,以下是本人例項中的相關部分,程式同樣適用於獲取其他標準報表的資料。
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
cl_salv_bs_runtime_info=>
set
(
display
= abap_false
metadata = abap_false
data
= abap_true ).
submit
rm07mlbd
" tcode mb5b
with
werks
in
s_werks
" 填寫篩選螢幕字段
with
datum
in
s_budat
with
xsum =
''
with
pa_sumfl =
'x'
with
xchar =
''
with
lgbst =
''
with
bwbst =
'x'
and
return
.
try
.
cl_salv_bs_runtime_info=>get_data_ref(
importing
r_data = ls_data ).
assign
ls_data->
* to < lt_data >.
catch
cx_salv_bs_sc_runtime_info.
message
'無法獲取alv資料'
type
'e'
.
endtry
.
cl_salv_bs_runtime_info=>clear_all( ).
if
< lt_data > is
assigned
.
loop
at
< lt_data >
assigning
< l_data >.
move
-
corresponding
< l_data >
to
lw_mb5b.
lw_mb5b
to
lt_mb5b.
clear
lw_mb5b.
endloop
.
endif
.
另外,當首次使用的時候,無法確定內錶定義欄位時,可以在這斷點,然後檢視< lt_data >的字段;
SAP報表上增加命令按鈕
如何在sap的報表上新增命令按鈕,並通過該按鈕實現一些特定的功能?首先,要在top 中定義相應物件 type pools icon.tables sscrfields.data functxt type smp dyntxt.selection screen function key 1.butto...
SAP報表事件
報表事件包括 1.initialzation 初始化事件,常用來填充選擇螢幕的預設值。2.at selection screen output 選擇螢幕的pbo事件。顯示選擇螢幕之前觸發。3.start of selection 選擇開始事件。選擇螢幕結束後觸發 即點選 execute 按鈕之後 4...
SAP存貨分析報表
存貨分析,sap提供了一大堆mc.的報表,但基本無企業用,why?因為大部分是基於資訊結構,非常不準確 一.存貨周轉率 製造企業中存貨所佔的流動資產比重較大,存貨的變現能力將直接影響企業資產的利用效率,存貨的變現能力,一般用存貨的周轉率來反映。存貨周轉率是衡量和評 價企業購人存貨 投人生產 銷售收回...