假如我需要用A程序将参数传入B程序,运行B程序后再将结构返回至A程序,这时我就可以使用关键字submit来实现。
关键字submit可以用于在A程序中调用B程序,使用方法如下:
SUBMIT [被调用的程序B] {WITH 参数关系} {AND RETURN}.
传入传出的参数可以用memory来存储,memory可用于在整个环境中跨程序传送数据。
传入语句:IMPORT wa FROM MEMORY ID 'wa' . 写在A程序里面
返回语句:EXPORT wa TO MEMORY ID 'wa' . 写在B程序里面
用完之后记得要释放memory。
FREE MEMORY ID 'wa' .
wa为任意自己创建参数的内表。
例如这样:
DATA : BEGIN OF w_data,
ebeln like ekko-ebeln ,
bsart like ekko-bsart,
END OF w_data.
data : wa like w_data occurs 0 with header line .
注意该表在A和B程序内都需要定义。
在寻找资料时,找到了一些参考文章。
A程序调用B程序:
关于MEMORY ID:
https://blog.csdn.net/Pegasus666/article/details/116020930
SAP Memory & ABAP Memory超级详细解析_勤恳蜗牛的博客-CSDN博客_sap memory
SUBMIT的使用方法:
【ABAP】SUBMIT程序相互调用_SAP剑客的博客-CSDN博客_sap abap 程序调用submit传递内表
SUBMIT官方解释:
ABAP关键字SUBMIT的简单例子和学习小记_fengyeyu090813的博客-CSDN博客_abap submit动态指定程序名