首页 > 技术文章 > 记录ABAP开发的日常——submit的使用案例

zyhcs 2021-12-15 12:49 原文

前言:在开发中,有时候需要直接使用已经存在的报表数据,在这里介绍一下如何调用其他程序获取数据。

案例: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( ).

推荐阅读