ABAP内存使用 EXPORT 和 IMPORT 方法；
Difference Between SAP and ABAP Memory
Can any one tell me what is the difference between ABAP Memory and SAP Memory?
Within a main session, when ever you start an application program, it opens up an internal sessions with in the main session. The internal session has a memory area that contains the ABAP program and its associated data. So when ever you want to pass data between two internal sessions, then you can use ABAP Memory (i.e import, export).
When comes to SAP memory (also known as global memory), if the data has to be passed b/w two main sessions, we can use SAP Memory(SPA/GPA Parameters). SAP Memory can also be used to pass data b/w internal sessions.
SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement. Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens
ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this area remains intact during a whole sequence of program calls. To pass data
to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory. If control is then returned to the program which made the initial call, the same process operates in reverse.
The SAP memory, otherwise known as the global memory, is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions. The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory.
The contents of the ABAP/4 memory are retained only during the lifetime of an external session (see also Organization of Modularization Units). You can retain or pass data across internal sessions. The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
EXPORT ITAB TO MEMORY ID 'TD' (ID is the name of memory, you don't need to create it ).
IMPORT ITAB FROM MEMORY ID 'TD'
EXPORT ITAB TO MEMORY ID 'TD'
IMPORT ITAB FROM MEMORY ID 'TD'
parameters PL_BUKRS like VBRK-BUKRS memory id P_BUKRS default '1000'.
select-options PI_KUNRG for VBRK-KUNRG.
select-options PI_FKDAT for VBRK-FKDAT.
select-options PI_VBELN for VBRK-VBELN.
select-options PI_VGBEL for VBRP-VGBEL.
selection-screen end of block b1.
What is the code to send internal table to abap memory?
This code is from which program you want to export to the ABAP memory:
export ist_resb to memory id 'ZPPC0122_FD'.
where ist_resb is the internal table name &
ZPPC0122_FD is the include name of my program ZPPC0122.
This code is from which program you want to import from the ABAP memory
import *ist_resb *= ist_resb from memory id 'ZPPC0122_FD'.
where *ist_resb This internal table is the importing program internal table.*
ist_resb This internal table is the exporting program internal table.
But remember in both the program you have defined the same internal table with same structure
Nowadays Export & Import statement is OBSOLETE it gives SLIN CHECK ERROR in SAP 6.0 Version.