Skip to Content
avatar image
Former Member

SAP memory vs ABAP memory ?

Hi Gurus,

I know what is SAP memory and ABAP memory.

My question "<b> what is the need two memories ? </b>"

Can't we manage with one memory i.e. by just using SAP memory ??

<b>Helpful answers will be REWARDED.</b><b>

Waiting for the valuable answers......</b>

Thanks and regards,

V.Raghavender.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Aug 20, 2007 at 01:34 PM

    Hi

    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

    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/4 Memory

    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.

    SAP memory

    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.

    ABAP/4 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.

    Regards

    Ravish

    Reward if useful

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 20, 2007 at 01:53 PM

    Hi raghavender,

    1. Your question like similar to asking

    Can't we manage with one type of variables ie. GLOBAL Variables,

    instead of Local Variables.

    regards,

    amit m.

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Raghavendar,

      Go thru this.....

      <b>ABAP MEMORY:</b>To transfer the Data between the Programs Running in the Same Session We can use.

      Eg:

      Calling Report.

      REPORT ZREP1.

      DATA : ITAB TYPE TABLE OF MARA.

      SELECT * FROM MARA INTO TABLE ITAB.

      EXPORT TEMPTAB FROM ITAB TO MEMORY ID 'M1'.

      SUBMIT ZREP2 AND RETURN.

      Called report

      REPORT ZREP2.

      DATA: IT_MARA TYPE TABLE OF MARA.

      DATA WA TYPE MARA.

      IMPORT TEMPTAB TO IT_MARA FROM MEMORY ID 'M1'

      LOOP AT IT_MARA INTO WA.

      WRITE:/ WA-MATNR.

      ENDLOOP.

      <b>SAP Menory:</b>

      It is used to pass the Data to Screen fields or Read data from Screen Fields.

      It can be used to Transfer data from one Session(window) to another within the Login.

      DATA : V_KUNNR TYPE KNA1-KUNNR VALUE 1000.

      SET PARAMETER ID 'KUN' FIELD V_KUNNR.

      CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.

      <b>Reward if Helpful</b>

  • avatar image
    Former Member
    Aug 21, 2007 at 04:25 AM

    Hi,

    SAP Memory

    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 (see below).

    ABAP Memory

    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. For further information

    Regards,

    Priyanka.

    Add comment
    10|10000 characters needed characters exceeded