2013 Sep 10 8:00 AM
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
2013 Sep 10 11:27 AM
2013 Sep 10 8:11 AM
2013 Sep 10 8:49 AM
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
2013 Sep 10 8:19 AM
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.
2013 Sep 10 8:32 AM
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
2013 Sep 10 8:30 AM
Hi Neeraj,
You can see the work process in SM50,
Check these links;
http://help.sap.com/saphelp_nw04/helpdata/en/c4/3a5f87505211d189550000e829fbbd/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/69/c24e104ba111d189750000e8322d00/content.htm
http://www.sap-perf.ca/run-sap-sm50-sm66/
Hope this will help you.
Thanks & Regards
2013 Sep 10 11:27 AM
2013 Sep 10 11:42 AM
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.
2013 Sep 10 12:09 PM
2013 Sep 10 12:34 PM
Hi Manish,
even though I add wait for 30 seconds, its showing only one process. any other reason?
2013 Sep 10 12:55 PM
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
2013 Sep 10 1:31 PM
2013 Sep 10 1:32 PM
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.
2013 Sep 10 1:34 PM
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
2013 Sep 10 1:46 PM
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
2013 Sep 10 1:58 PM
Code looks ok.
Use write statements to confirm how many FM calls are taking place, and how much data is being passed.
2013 Sep 10 2:41 PM
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
2013 Sep 10 2:53 PM
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.
2013 Sep 10 3:17 PM
Hi Thomas,
Yes, there is a mistake in that, I am correcting the logic. Will post when done.
thanks.
2013 Sep 11 1:29 PM
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.
2013 Sep 11 1:39 PM
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.
2013 Sep 11 3:23 PM
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
2013 Sep 11 6:06 PM
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
2013 Sep 10 11:46 AM
With this FM TH_SYSTEMWIDE_WPINFO,you can see all the workprocess running just filter it with your program name.
Regrads,
Supratik