SAP 内存管理--ABAP内存

ABAP内存

内部会话之间的数据共享(内部会话:在主会话中进行程序调用时,即call function,还在当前窗口中调用产生的窗口,就叫内部会话)。只有在同一个窗口执行的程序才能共享ABAP内存。另外:在每个程序里使用的内存有ABAP内存和SAP内存。

使用ABAP内存时可以在程序级别上任意指定内存IDmemory id)名,不需要参数ID(即不需要到表TPARA中创建PID)

 

使用ABAP内存的语句及步骤:

1、EXPORT … TO … 向MEMORY ID传出数据

2、IMPORT … FROM … 从MEMORY ID传入数据

3、使用CALL TRANSACTION/SUBMIT/CALL DIALOG等命令调用其他程序时,会生成内部会话并共享ABAP内存数据

4、FREE MEMORY ID,删除ABAP内存

 

实例:

1、在程序一中获取数据,并使用“EXPORT GT_DATA TO MEMORY ID 'ZMMID'.”语句传值:

SAP 内存管理--ABAP内存

2、另在程序二中使用“IMPORT GT_DATA FROM MEMORY ID 'ZMMID'.”语句获取值,然后显示:

SAP 内存管理--ABAP内存

注意:(1)、ABAP中使用的MEMORY ID不用在表TPARA中创建,只要保证两个程序在内部会话中使用的MEMORY ID名称一致即可实现数据共享。

(2)、ABAP内存只存在于当前同一窗口中,不同窗口不能实现ABAP内存数据共享。(即上面两程序只能通过内部调用,在同一内部会话实现数据共享)。

(3)、可以在程序中使用语句“FREE MEMORY ID 'ZMMID'.”删除ABAP内存。