货铺QQ群号:834508274
微信群不能扫码进了,可以加我微信SAPliumeng拉进群,申请时请提供您哪个模块顾问,否则是一律不通过的。
进群统一修改群名片,例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接,小程序等,进群看公告,谢谢配合
不修改昵称会被不定期踢除,谢谢配合!
有时候是需要获取其他程序的结果,可以考虑把某个程序的主要逻辑封装成function,也可以考虑在某个地方submit下这个程序。
因为submit return,没有输出接口。
所以需要从内存中获取。
下面是个简单的demo:
先建一个program,根据carrid 获取spfli数据。
REPORT zlm_spfli.
TABLES:spfli.
DATA:lt_spfli TYPE TABLE OF spfli.
SELECT-OPTIONS s_carrid FOR spfli-carrid.
START-OF-SELECTION.
SELECT * FROM spfli INTO TABLE lt_spfli
WHERE carrid IN s_carrid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_structure_name = 'SPFLI'
TABLES
t_outtab = lt_spfli
EXCEPTIONS
program_error = 1.
现在另外一个程序来submit这个程序,然后获取alv的值
*&---------------------------------------------------------------------*
*& Report ZLM_GET_ALV_DATA
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zlm_get_alv_data.
TABLES spfli.
RANGES s_carrid FOR spfli-carrid.
DATA:lr_alv_data TYPE REF TO data.
FIELD-SYMBOLS: TYPE ANY TABLE .
FIELD-SYMBOLS: TYPE any.
START-OF-SELECTION.
s_carrid[] = VALUE #( ( sign = 'I' option = 'EQ' low = 'LH'
high = '' ) ).
cl_salv_bs_runtime_info=>set(
EXPORTING
display = abap_false
metadata = abap_false
data = abap_true ).
CLEAR lr_alv_data.
UNASSIGN .
SUBMIT zlm_spfli
WITH s_carrid IN s_carrid
AND RETURN.
TRY.
cl_salv_bs_runtime_info=>get_data_ref(
IMPORTING
r_data = lr_alv_data ).
ASSIGN lr_alv_data->* TO .
IF IS ASSIGNED AND sy-subrc = 0.
ENDIF.
CATCH cx_salv_bs_sc_runtime_info.
ENDTRY.
cl_salv_bs_runtime_info=>clear_all( ).
推荐阅读:
《DEMO:S/4 1809 FAGLL03H 增加字段增强》
《几个ABAP实用模板,体力活就别一行行敲了,复制粘贴得了》
《SAP Parallel Accounting(平行分类账业务)配置+操作手册+BAPI demo程序》
《CC02修改确认日期BAPI:Processing of change number was canceled》
《女儿的部分书单》
《苏州游记》
《溜达:无锡》
《杂谈:几种接口》
《RESTful DEMO 一:SAP 如何提供 RESTful Web 服务》
《DEMO search help 增强 ( vl03n KO03 等)》
WDA Demo
Debug 系列