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 validation

former_member576008
Active Participant
0 Likes
6,643

Hi,

I have developed a report using parallel processing, I was able to get the results if scheduled in back ground mode.

Now I want to know how to validate whether parallel processing is working or not, that is more than one process are being executed.

While debugging I can see my data is sent to RFC in packets and multiple update tasks are created.

But how to know multiple work process are assigned to it.

Please help on this.

Regards,

Neeraj

1 ACCEPTED SOLUTION
Read only

former_member576008
Active Participant
0 Likes
6,092

Any hints on this will be helpful.

23 REPLIES 23
Read only

Former Member
0 Likes
6,092

Try checking it in SM51.

Read only

0 Likes
6,092

Hi Murugesh,

When I scheduled my report in BG and checked in SM50, there are 2 process are running under my name.

first one is type BGD, status is On hold and reason column has ARFC. second process type is DIA status is running and in action its showing sequential read of the table I have used.

But, with the test data, I am getting 28 line items, for which I am sending 10 to RFC, so 3 RFC calls should happen and 3 work process should be started right.

Correct me if I am wrong and share your thoughts.

Regards,

Neeraj

Read only

Former Member
0 Likes
6,092

Hi,

Go to SM51 and check which application server this job is assigned there you can go and debug.

the debug option you can find in

Program?session--->program--->debug.

Thanks,

Dinesh.

Read only

0 Likes
6,092

Hi Dinesh,

I don't want to debug, I want to see number of work process are running for my job.

As suggested by Murugesh, I will check in SM51.

Regards,

Nandha

Read only

Former Member
Read only

former_member576008
Active Participant
0 Likes
6,094

Any hints on this will be helpful.

Read only

0 Likes
6,091

It is possible that by the time you check SM50, 2 out of 3 tasks have finished.

Perhaps you can write wait 30 seconds statement in remote FM, so that you have enough time to check the tasks in SM50.

Read only

0 Likes
6,091

nice, I will try this and get back to you.

Read only

0 Likes
6,091

Hi Manish,

even though I add wait for 30 seconds, its showing only one process. any other reason?

Read only

0 Likes
6,091

Go through following link. As Manish said you may miss things in SM51. I would recommend you record the process parameters by generating a simple list output. The link below has a nice example program which will help you understand parallel processing. 

http://help.sap.com/saphelp_nw70/helpdata/en/fa/096e92543b11d1898e0000e8322d00/content.htm

Read only

0 Likes
6,091

Did you use a group like parallel_generators in the CALL FUNCTION STARTING NEW TASK syntax. If yes, then execute transaction RZ12 to determine how many processes can be executed simultaneously.

Regards,

Raymond

Read only

0 Likes
6,091

It means either parallel process is not working, or only 1 task is fired for 28 items.

Use write statements to print start of FM call, and also print the records passed to it.

That way you would know whether 1 FM call is taking place or 3.

It would also be helpful if you post full code snippet as zipped attachment.

Read only

0 Likes
6,091

Hi Mrugesh,

"record the process parameters by generating a simple list output",

In this do I need to print the process names or update task name, could you please explain this in detail. Thanks

Read only

0 Likes
6,091

Hi Raymond & Manish,

I have attached the code snippet, please suggest if I am wrong any where.

In debugging mode it is making 3 RFC calls.

Regards,

Neeraj

Read only

0 Likes
6,091

Code looks ok.

Use write statements to confirm how many FM calls are taking place, and how much data is being passed.

Read only

0 Likes
6,091

How do you determine "gv_jobnum" ? Are you sure its value is not "1" by any chance, meaning only 1 dialog process will be used?

Otherwise I can only repeat what was suggested, write all these global counters out and post the resulting list here.

Thomas

Read only

0 Likes
6,090

Hi Raymond,

I have attached the RZ12 screen shot, in that I can see Minimum Number of Free WPs  as   1.

Is this the reason, only one WP is being executed, kindly guide on this.

Read only

0 Likes
6,090

Hi Thomas,

Yes, there is a mistake in that, I am correcting the logic. Will post when done.

thanks.

Read only

0 Likes
6,090

Hi Thomas,

Before dividing the data into packets, now I have hard coded the value for gv_jobnum as 20.

I was able to see multiple process are running under name for the FM.

But, this is not always happening, sometime multiple process are showing, sometimes nothing is coming for the same variant.

Even I have printed values, like total material values, how many RFC calls are happened, how many packets are sent.

the results are like, I have 28 materials, 3 RFC calls are made, 3 packets are sent, since I have divided the packets with 10 each.

Also, the 3 RFC calls are made at same time.

Now, I am worried why its appearing in process over view. Please suggest if I made any mistake on this.

Regards,

Neeraj.

Read only

0 Likes
6,090

How about writing an infinite loop in RFC FM?

It should be viewable in SM50 as they just won't end. Process would then have be cancelled manually.

Caution: System may hang because of this, so make sure that you are using less than half of available processes.

Read only

0 Likes
6,090

Please be careful with that value, it should be the number of available DIA work processes minus a reserve for other stuff that is going on in your system.

Good practice is to call SPBT_INITIALIZE and subtract n from the result in FREE_PBT_WPS.

Thomas

Read only

0 Likes
6,090

I am able to see the process while keep on refreshing in SM50.

Many thanks to Thomas and Manish. I will try to avoid the hard coding.

Regards,

Neeraj

Read only

Former Member
0 Likes
6,090

With this FM TH_SYSTEMWIDE_WPINFO,you can see all the workprocess running just filter it with your program name.

Regrads,

Supratik