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

Parallel Processing in ABAP

Former Member
0 Likes
1,295

Hi,

I have a internal table that has object references in it. Each item in the table are indepenent of the other. I want to extract info from each object and convert it into a internal table so that i can pass it to an RFC function.

So how can i do this extraction of the info from the objects in internal table in parallel.

To use the STARTING NEW TASK, i created a fn module that is RFC enabled.... then i can't pass the object reference to this module. So how can do this?

Also i read that this function module call will create a main or external session which has a limit of 6 per user session.Is this correct?

If above can be done, I also wanted to restrict the no of parallel processes being executed at any point of time to be 5 or so.

thanks in advance

Murugesh

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,017

Hi Murugesh,

Parallel processing can be implemented in the application reports that are to run in the background. You can implement parallel processing in your own background applications by using the function modules and ABAP keywords.

Refer following docs.

<b>Parallel Processing in ABAP</b>

/people/naresh.pai/blog/2005/06/16/parallel-processing-in-abap

<b>Parallel Processing with Asynchronous RFC</b>

http://help.sap.com/saphelp_webas610/helpdata/en/22/0425c6488911d189490000e829fbbd/frameset.htm

<b>Parallel-Processing Function Modules</b>

http://help.sap.com/saphelp_nw04s/helpdata/en/fa/096ff6543b11d1898e0000e8322d00/frameset.htm

Dont forget to reward pts, if it helps ;>)

Regards,

Rakesh.

8 REPLIES 8
Read only

Former Member
0 Likes
1,017

You could use background processing, starting a new background job for each task. To do this, you may have to store the data in a cluster using the EXPORT keyword, so that the programs, when they start, can access the data.

Read only

0 Likes
1,017

Hi Martin,

As it is a object reference i am unable to do an export.

Thanks

Murugesh

Read only

0 Likes
1,017

Hello Murugesh,

Can you give some background as to why this needs to be done in parallell? Perhaps there is an alternative solution to your problem.

Cheers,

Martin

Read only

0 Likes
1,017

Hi Martin,

I am doing performance improvement for existing code.

Currently there are classes for some r/3 objects, so when we want to export say, material. This material will be represented by a class whose object reference in the internal table. We will call the existing methods in the material class and we will form a structure and pass this structure to some other system thru RFC call.

This happens for all the object references in the internal table.

So we are thinking now is that we will create create strucutre for all the object reference in the r/3 (in parallel) and then call the RFC send this whole strucutre and then do the operations on the other end.

Thus avoiding multiple RFC calls and avoiding the sequential processing on source system.

thanks

Murugesh

Read only

0 Likes
1,017

Murugesh,

hope I got you right.

You can't pass object references into a new task (separate LUW) as the referenced objects are located in the calling task. The two don't know each other.

But: Your question started with an existing internal table containig object references. Your parralel processing should start earlier, that means before the internal table is created.

What ever the internal table is made of: Try to split it and do the creation process parrallel. Inside the called new tasks you can create the objects (instances of classes), use the object references to use methods of the class to extract whatever data you want to pass by RFC calls.

Hope it helps a little (although I don't know the situation in detail).

regards,

Clemens

Read only

0 Likes
1,017

Hi Clemens,

This internal table is already formed with the object reference in the application (while we display the objects to be extracted to the user) and when i click on the execute button i want the process to start extracting the info from the references in parallel

Murugesh

Read only

Former Member
0 Likes
1,018

Hi Murugesh,

Parallel processing can be implemented in the application reports that are to run in the background. You can implement parallel processing in your own background applications by using the function modules and ABAP keywords.

Refer following docs.

<b>Parallel Processing in ABAP</b>

/people/naresh.pai/blog/2005/06/16/parallel-processing-in-abap

<b>Parallel Processing with Asynchronous RFC</b>

http://help.sap.com/saphelp_webas610/helpdata/en/22/0425c6488911d189490000e829fbbd/frameset.htm

<b>Parallel-Processing Function Modules</b>

http://help.sap.com/saphelp_nw04s/helpdata/en/fa/096ff6543b11d1898e0000e8322d00/frameset.htm

Dont forget to reward pts, if it helps ;>)

Regards,

Rakesh.

Read only

0 Likes
1,017

Rakesh,

I had a chance to read this documents before itself. May be this will be helpful fo whomever reads this thread in future.

Thanks,

Murugesh

I have rewarded you