SUBMIT report EXPORTING LIST TO MEMORY
AND RETURN.
submit 关键字的作用就是在程序内部调用一个程序,and return 就是调用report之后,继续返回当前session。那么exporting list to memory的作用是什么呢?
This addition stores the basic list for the program accessed in the ABAP Memory. It can only be used together with the addition AND RETURN.
首先他必须要和 AND RETURN 一起使用,其次,它的功能是将report产生的list清单,写入ABAP 缓存里。我们可以通过几个有用的Function module 将这些信息读取、展示等。
不多说,给一个例子:ytest_0102 作为主程序,调用ytest0101,程序ytest0101里面的作用就是一个loop,里面用write语句打印出循环索引值。执行的结果证明,通过'LIST_FROM_MEMORY' 'WRITE_LIST'
两个Function module 可以将submit 产生的list 读取并展示。这个例子可以运用到BDC,batch job等批量作业上面。
REPORT ytest_0102.
DATA list_tab TYPE TABLE OF abaplist.
SUBMIT ytest0101 EXPORTING LIST TO MEMORY
AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = list_tab
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc = 0.
CALL FUNCTION 'WRITE_LIST'
TABLES
listobject = list_tab.
ENDIF.
调用程序传输屏幕参数时可以有两种方法:
1:
SUBMIT zmmt004 USING SELECTION-SCREEN '1000'
WITH p_on EQ p_on EXPORTING LIST TO MEMORY
WITH s_bukrs IN s_bukrs
AND RETURN.
2.
SUBMIT zRM06INP0 WITH SELECTION-TABLE rspar_tab EXPORTING LIST TO MEMORY
AND RETURN.
其中rspar_tab是参考结构 rsparams定义的