2008 Feb 13 7:52 AM
Hi everyone,
now i have one problem about performance tuning using threading in SAP programs: split one big program into two programs - one is main program and the other is sub program. using batch jobs, we can submit multi jobs of sub program at the same time.
does anybody know how to pass data between different batch jobs? I don't want to use temp files. can ABAP memory can implement this?
thanks!
2008 Feb 13 7:55 AM
ABAP memory can be helpful here, yes. Restriction: all jobs have to be executed in the same SAP instance.
2008 Feb 13 7:55 AM
ABAP memory can be helpful here, yes. Restriction: all jobs have to be executed in the same SAP instance.
2008 Feb 13 8:57 AM
Wei,
Yes we can transfer the data by using
SAP Memory OR ABAP Memory.
Ex: V_count TYPE i.
V_count = 100.
LOOP AT itab.
IF v_count EQ 25.
Here For every batch job
EXPORT data TO MEMORY ID 'ABC'
Function module
JOB_OPEN
JOB_SUBMIT
JOB_CLOSE.
ENDIF.
ENDLOOP .
IN your 2nd program.
INITIALIZATION.
IMPORT data FROM MEMORY IF 'ABC'.
FREE memory if .---When you free the memory you will get recent data.
Don't forget to reward if useful.
2008 Feb 15 8:01 AM
But when the job is finished, the memory is freed automatically. i have tried use ABAB Memory, but they can not get data from each other.
2008 Feb 13 10:38 AM
You could also try EXPORT .... TO DATABASE INDX(xx) .. in your first program
IMPORT ... FROM DATABASE INDX(xx) in your next.
This will be slower as it is reading and writing to a cluster database, but you have a permanent copy of the data if you need to rerun the second part. SAP use this technique in HR.
2008 Feb 13 10:41 AM
Another idea is to make use of Shared Memory Objects...
[http://help.sap.com/saphelp_sm32/helpdata/en/ae/92d93f130f9215e10000000a155106/frameset.htm]
2008 Oct 22 3:20 AM