在开发的产销存报表的过程中,由于数据量过大,且取数逻辑太过于复杂,导致报表性能上很缓慢;
后来业务顾问要求直接在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.
APPEND
LW_MB5B
TO
LT_MB5B.
CLEAR
LW_MB5B.
ENDLOOP
.
ENDIF
.
|
另外,当首次使用的时候,无法确定内表定义字段时,可以在这断点,然后查看< LT_DATA >的字段;
最后
以上就是冷傲枫叶最近收集整理的关于抓取SAP报表ALV GRID上的数据的全部内容,更多相关抓取SAP报表ALV内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复