Skip to Content

Import from shared buffer in multiple servers environment

Dec 12, 2017 at 04:17 PM


avatar image


We are making a carry-froward in PSM-FM (FMJ2) using parallel processing due to high volume of the data. This year we have changed the app servers landscape and now we have two app servers on Linux. We have a derivation strategy in PSM-FM which is using inside one of its rules an import statement from a shared buffer, e.g.

IMPORT p_ex_tbl = w_table FROM SHARED BUFFER indx(zf) ID wid.
w_table_name = w_table.
CHECK w_table_name IS NOT INITIAL.

We suspect that this statement returns empty value, as the rule in question is not triggered when the process is run with parallel option. It is, though, working when the same document is processed through a 'normal' run or on foreground.

This is despite the fact that we do mention the app server in the job of FMJ2 execution.

Could you please verify our hypothesis? Is import from shared buffer could be problematic when working with two (multiple) app servers? Is there some note which might solve it?

Thanks in advance,


10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Best Answer
Sandra Rossi Dec 12, 2017 at 10:48 PM

Yes, you're right, it's a frequent issue. It could work only if you submit the parallel jobs in the same application server as the application server of the calling/waiting program.

Moreover, be careful when you use SHARED BUFFER rather than SHARED MEMORY, as the buffer may be deleted by the system without warning if there's a need of memory (ABAP documentation: "This procedure deletes the least used data objects from the buffer").

You may simply use a EXPORT TO DATABASE/IMPORT FROM DATABASE instead, for instance.

Show 3 Share
10 |10000 characters needed characters left characters exceeded

Thank you, Sandra. What puzzles me is that in the job which is created for the parallel run we specify a single application server. Still, the system acts like it doesn't consider this setting :(

So, it might be, indeed, what you said that the buffer is deleted without our knowledge. It didn't happen in the past when we had only one server, but this year the troubles started: number ranges, buffers, etc.


To make sure what happens with the server, look at the job "details", it shows the actual server used. If it's different from the one you entered, then you made an error in your entry.


I think, after analysis, that putting the server doesn't change much. The job is started from it, but the processes created by parallel could be then shifted from one to another. Thanks again for your explanations. We will check what could be done instead...