前言:在开发中,有时候需要直接使用已经存在的报表数据,在这里介绍一下如何调用其他程序获取数据。
案例:SUBMIT 调用程序获取ALV数据
*****************示例******************
"数据定义
FIELD-SYMBOLS: <dyn_alv_data> TYPE STANDARD TABLE .
FIELD-SYMBOLS: <dyn_wa> TYPE any .
DATA l_alv_data TYPE REF TO data. "返回数据"
DATA:lt_sel_tab TYPE TABLE OF rsparams WITH HEADER LINE. "选择条件"
"具体用法
cl_salv_bs_runtime_info=>set(
EXPORTING
display = abap_false
metadata = abap_false
data = abap_true ).
"调用目标程序获取ALV数据
SUBMIT zdemo_alv_fm WITH SELECTION-TABLE lt_sel_tab AND RETURN.
TRY.
"获取数据并处理
cl_salv_bs_runtime_info=>get_data_ref(
IMPORTING r_data = l_alv_data ).
ASSIGN l_alv_data->* TO <dyn_alv_data>.
READ TABLE <dyn_alv_data> INDEX 1 ASSIGNING <dyn_wa>.
"捕获异常
CATCH cx_salv_bs_sc_runtime_info.
MESSAGE `Unable to retrieve ALV data` TYPE 'E'.
ENDTRY.
cl_salv_bs_runtime_info=>clear_all( ).