Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

MEMORY ID

Former Member
0 Likes
1,548

Hi all,

a simple question?

Are the memory id local on memory of my pc?

bye

enzo

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,513

Memory ID is local to a USER / SESSION / TRANSACTION.

If same user runs same transaction in another session the memory ID of that transaction will not clash with the transaction in previous session.

Cheers.

6 REPLIES 6
Read only

FredericGirod
Active Contributor
0 Likes
1,513

Hi Enzo,

MEMORY ID is for a user, for a connection, but it's in the memory of your SAP Server.

if you need global memory use : EXPORT obj1 ... objn TO SHARED MEMORY itab(ar) ID key.

Rgd

Frédéric

Read only

Former Member
0 Likes
1,514

Memory ID is local to a USER / SESSION / TRANSACTION.

If same user runs same transaction in another session the memory ID of that transaction will not clash with the transaction in previous session.

Cheers.

Read only

0 Likes
1,513

Are you sure that : Memory ID is local to a USER / SESSION / <b>TRANSACTION</b> ??

At the end of the transaction the system delete the memory id ??

Frederic

Read only

0 Likes
1,513

Some clarity...

Memory ID refers to the use of <i>ABAP Memory</i> which is specific to an external session(window). When you have multiple sessions open, <u>each</u> of the concurrent sessions(windows) has it's own <i>ABAP Memory</i>.

<i>ABAP Memory</i> can thus, only be used to share data between internal sessions, that is programs/transactions that have been called by other programs/transactions in the <b><u>same</u></b> external session(window).

<i>ABAP memory</i> is cleared(and correspondingly all Memory IDs), when the session is deleted(window is closed), not when the transaction ends. The only exception to this rule when a transaction ends through the use of

<b>LEAVE TO TRANSACTION</b>

,which is when the entire external session is flushed and the <i>ABAP Memory</i> is cleared.

Hope this helps

Dushyant Shetty

Read only

0 Likes
1,513

Ok By one transaction means one transaction and all its internal sessions .

Just read these and it will be clear to you -

( from - http://help.sap.com//saphelp_470/helpdata/EN/fc/eb2d40358411d1829f0000e829fbfe/content.htm )

<b>Only one internal session is ever active. If the active application program calls a further application program, the system opens another internal session. Here, there are two possible cases: If the second program does not return control to the calling program when it has finished running, the called program replaces the calling program in the internal session. The contents of the memory of the calling program are deleted. If the second program does return control to the calling program when it has finished running, the session of the called program is not deleted. Instead, it becomes inactive, and its memory contents are placed on a stack.</b>

Read only

0 Likes
1,513

> Ok By one transaction means one transaction and all

> its internal sessions .

One transaction = one internal session

Then, when you say "transaction", do you mean a session window/"external session"?

Regards,

Dushyant Shetty