Accessing stack memory of RFC-called system

后端 未结 1 1419
灰色年华
灰色年华 2021-01-14 20:13

When a program is running in SAP ECC, the \"system stack\" stores all global variable irrespective of what modules/programs are called in that single session.

When i

相关标签:
1条回答
  • 2021-01-14 20:52

    As the RFC connection is not automatically closed after the call, the memory of the user session is retained, right after this call, so you may call a custom RFC-enabled function module that you create in the APO system, that accesses the memory you wish and return its value. Note that an object reference cannot be passed via RFC.

    So that you better understand, I adapted the official figure about memory areas to show how a RFC call reuses the memory when the connection is not closed between 2 ABAP systems:

    Legend (arrows "1" and "2"):

    1. At the first RFC call, a connection is opened, a new User Session is created, ABAP session and internal session. The global variables are stored in the block entitled "(Data) Object" inside the internal session. At the end of the call, the connection is retained, including the first internal session and its global variables.
    2. At the next RFC call using the same connection (the existing connection is reused), the user session is reused (along with its ABAP and internal sessions) to execute the function module, consequently it may access the global variables of the previous call(s).
    0 讨论(0)
提交回复
热议问题