‎2005 Nov 04 10:26 AM
Hi all,
a simple question?
Are the memory id local on memory of my pc?
bye
enzo
‎2005 Nov 04 10:36 AM
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.
‎2005 Nov 04 10:32 AM
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
‎2005 Nov 04 10:36 AM
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.
‎2005 Nov 04 10:41 AM
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
‎2005 Nov 04 10:54 AM
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
‎2005 Nov 04 11:06 AM
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>
‎2005 Nov 04 12:11 PM
> 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