Skip to Content

Issue in ABAP Memory in case of Background Jobs

I have developed a program "A" which calls another program "A1" through SUBMIT command. Based on the result of A1, program A updates those values in a table.

(Result of A1 is passed back to program A through ABAP Memory ID.)

Program A works perfectly when run in foreground.
But on running multiple jobs in background simultaneously, it sometimes functions incorrectly.

The issue is that this program "A" is run (in background) daily at midnight for different inputs.

Eg.:
A -> A1
B -> B1
C -> C1
.
.
.

I want to know whether this could be an issue associated with ABAP Memory ID.

Has anyone faced this issue? Any answer/suggestion would help.

Add comment
10|10000 characters needed characters exceeded

  • Sreejith,

    Did you try with writing the data using EXPORT to DATA BASE IDX instead of MEMORY ID ?

    K.Kiran.

  • This design is not great, to be honest... If the answers below are insufficient, it'd be beneficial if you could share more details on what those A and A1 programs do exactly. There could be a better solution.

  • Get RSS Feed

2 Answers

  • Feb 08 at 04:09 PM

    What does "sometimes functions incorrectly" mean at all?

    And by the way, don't switch to EXPORT TO DATABASE or any other general medium too fast. Then you can can run in real problems in parallel processing, because then you really use the same ressource for multiple programs and have to think about unique keys or locking.

    EXPORT TO MEMORY should be perfectly OK, so what's the problem?

    Add comment
    10|10000 characters needed characters exceeded

  • Feb 08 at 12:31 PM

    A data cluster in MEMORY ID is shared/available for all programs with a call sequence in the current session and only to those.

    Did you

    • Explicitly handle the exceptions that the EXPORT statement may raise (e.g. CX_SY_EXPORT_[BUFFER_NO_MEMORY, NO_SHARED_MEMORY])
    • Check for message in system (SM21) or job (SM37) log?
    • Relase memory (DELETE) when no longer required in the call sequence? (e.g. in case of multiple SUBMIT from same program)
    Add comment
    10|10000 characters needed characters exceeded