抓取SAP報表ALV GRID上的資料

2021-08-08 12:45:01 字數 2933 閱讀 2099

在開發的產銷存報表的過程中,由於資料量過大,且取數邏輯太過於複雜,導致報表效能上很緩慢;

後來業務顧問要求直接在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  ).

submitrm07mlbd" tcode mb5b

withwerksins_werks" 填寫篩選螢幕字段

withdatumins_budat

withxsum =''

withpa_sumfl ='x'

withxchar =''

withlgbst =''

withbwbst ='x'

andreturn.

try.

cl_salv_bs_runtime_info=>get_data_ref(

importingr_data = ls_data ).

assignls_data->* to < lt_data >.

catchcx_salv_bs_sc_runtime_info.

message'無法獲取alv資料'type'e'.

endtry.

cl_salv_bs_runtime_info=>clear_all( ).

if< lt_data > isassigned.

loopat< lt_data >assigning< l_data >.

move-corresponding< l_data >tolw_mb5b.

lw_mb5btolt_mb5b.

clearlw_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?因為大部分是基於資訊結構,非常不準確 一.存貨周轉率 製造企業中存貨所佔的流動資產比重較大,存貨的變現能力將直接影響企業資產的利用效率,存貨的變現能力,一般用存貨的周轉率來反映。存貨周轉率是衡量和評 價企業購人存貨 投人生產 銷售收回...