调用MB5B
TYPES: BEGIN OF gw_mb5b,
matnr LIKE mbew-matnr,
maktx LIKE makt-maktx,
bwkey LIKE mbew-bwkey,
werks LIKE mseg-werks,
charg LIKE mseg-charg,
sobkz LIKE mslb-sobkz,
name1 LIKE t001w-name1,
start_date LIKE sy-datlo,
end_date LIKE sy-datlo,
anfmenge(09) TYPE p DECIMALS 3,
meins LIKE mara-meins,
soll(09) TYPE p DECIMALS 3,
haben(09) TYPE p DECIMALS 3,
endmenge(09) TYPE p DECIMALS 3,
anfwert(09) TYPE p DECIMALS 2,
waers LIKE t001-waers,
sollwert(09) TYPE p DECIMALS 2,
habenwert(09) TYPE p DECIMALS 2,
endwert(09) TYPE p DECIMALS 2,
color TYPE slis_t_specialcol_alv,
END OF gw_mb5b.
DATA: gt_mb5b TYPE STANDARD TABLE OF gw_mb5b,
gs_mb5b TYPE gw_mb5b.
FORM frm_get_mb5b.
DATA:lr_alv_data TYPE REF TO data.
FIELD-SYMBOLS : <lt_alv_data> TYPE ANY TABLE .
FIELD-SYMBOLS : <lt_data> TYPE any. "LIKE LINE OF it_tab .
cl_salv_bs_runtime_info=>set( EXPORTING display = abap_false
metadata = abap_false
data = abap_true ).
CLEAR lr_alv_data.
UNASSIGN <lt_alv_data>.
SUBMIT rm07mlbd
WITH matnr IN gt_matnr_rang
WITH datum IN s_budat
WITH werks EQ '1040'
WITH xchar EQ 'X'
WITH lgbst EQ 'X'
WITH bwbst EQ ''
AND RETURN.
TRY.
cl_salv_bs_runtime_info=>get_data_ref( IMPORTING r_data = lr_alv_data ).
ASSIGN lr_alv_data->* TO <lt_alv_data>.
CATCH cx_salv_bs_sc_runtime_info.
MESSAGE '无法检索ALV数据!请尝试其他条件。' TYPE 'E'.
ENDTRY.
cl_salv_bs_runtime_info=>clear_all( ).
IF <lt_alv_data> IS ASSIGNED.
UNASSIGN <lt_data>.
LOOP AT <lt_alv_data> ASSIGNING <lt_data>."即所需要内表数据
MOVE-CORRESPONDING <lt_data> TO gs_mb5b.
APPEND gs_mb5b TO gt_mb5b.
CLEAR gs_mb5b.
CLEAR <lt_data>.
ENDLOOP.
ENDIF.
ENDFORM.