Application Development 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: 

Parallel Processing

Former Member
0 Kudos

Hi Folks,

We have a report which is supposed to process a large amount of data in background. At the same time it should also be able to process records individually through selection screen. So we have this report (Rep1) which does the processing (and no data retrieval), and another report(Rep2) which will retrieve all the data and then schedule 10 backgroud jobs of the first report(Rep1). Rep1 simply needs to process the data. We are passing data from Rep2 to Rep1 using Export/Import to database.

Is there any other approach to achieve this?

Regards,

Munish

4 REPLIES 4

raymond_giuseppi
Active Contributor
0 Kudos

You could use Function Modules to process batch of data

Suppose a first database table can "pilot" the job

Main Program

(1) Declare cursor

(2) Fetch 1000, 10000 records

(3) Call FM STARTING NEW TASK (destination NONE if one application server, else loop on available servers) passing the records in a table parameter PERFORMING a routine at end which receives results in internal table parameters

(Count number of call and decrement in end-routine)

(4) process until end of data

(5) wait until all processes come to end

(6) terminate the job

Regards

0 Kudos

Thansk for the reply Raymond!

Is there anyway we can just use these reports without having to create another FM? Also, can you please provide me with some sample code?

Thanks.

0 Kudos

Going with the approach as mentioned in the first post.

Thanks.

Former Member
0 Kudos

Hi Munish,

I am Vijay. I found your ID on SDN. I read the forum on parallel processing that was posted by you on Nov 30. Now, I have the similar Issue in front of me.

See the details below.

· A new version of ZREDISND1_OLD named ZREDISND1_EINVOICE with the possibility of processing the blocked invoices with parallel processing capability. The program will process the blocked invoices and will have the same results / outcome as the old program ZREDISND1_OLD had.

· A new version of Z_RECTHI01_60 named ZRECTHI01_EINVOICE with the possibility of charging the amounts with parallel processing capability. The program will have the same results / outcome as the old program Z_RECTHI01_60 had.

· An umbrella-program ZREDISND1_UMBRELLA will have de same capability as ZREDISND1_EINVOICE but will split the data automatically into batches, initial by supplier and additional by Business Partner followed by Contract Account. It will therefore act as an umbrella program for ZREDISND1_EINVOICE.

· An umbrella-program ZRECTHI01_UMBRELLA will have the same capability as ZRECTHI01_EINVOICE but will split the data automatically into batches by suppliers. It will therefore act as an umbrella program for ZRECTHI01_EINVOICE.

For the realisation of the umbrella-programs, a new table must be created. The table must contain all the service providers, which are charged by E-Facturering. Also the indication if the blocked invoices belong to the service provider are processed indirect (the old method) or directly (the new method) must be stored. The table name will be ZEINVOICE.

The batches are to be scheduled in parallel.

I have to develop the umbrella programs.

Could please suggest how to achieve this task i.e. to schedule batches in parallel without creating any FM.?

Can we achieve this without using CALL FUNCTION fn STARTING NEW TASK…?

Regards,

Vijay