‎2014 Jun 03 7:43 AM
A BW data source ZTEST
has been created based on a function module ZTEST_FM to pull the
data into BW system from R/3.
(Have checked the parellel jobs running in SM66 transaction).
Inside the function module, an RFC function
module ZTEST_RFC1 has been called asynchronously to implement the parallelization
to improve the data extraction time into BW system.
Note: In this scenario asynchronous
RFC is used to implement the parallel processing.
The logic in the function module is as follows.
Function module ZTEST_FM Logic:
The output structure contains the following fields.
Could you please give us some suggestions, to implement the parellel processing using asychronous RFC in this scenario.
Would appreciate your help.
‎2014 Jun 03 9:40 AM
Hi Jayashankar,
Just want know, why WAIT statement is written before RFC call ? Usually WAIT will be written after RFC call to collect consolidated result in parallel processing . It seems like before calling RFC call system will wait till previously called RFC So it will be like synchronous behavior. Please correct me if my assumption is wrong.
Thanks & Regards,
Arun
‎2014 Jun 03 8:35 AM
Your RFC call looks correct. For collecting the result you will need to code the callback routine Write_E_T_data. Inside the callback you can use the statement
RECEIVE RESULTS FROM FUNCTION ZFHLS_EX_TNM_ACADEMY_RFC1 IMPORTING <parameter list>
to retrieve the calculated result. For the declaration of the callback routine I recommend
FORM Write_E_T_data USING iv_name TYPE c.
The parameter iv_name containing the name of the RFC task turned out to be mandatory in my tests.
‎2014 Jun 03 8:43 AM
Thank you Jochen for your reply,
I have implemented the RECEIVE RESULTS FROM FUNCTION ZFHLS_EX_TNM_ACADEMY_RFC1
in the function module in WRITE_E_T_DATA sub routine.
but main issue is the jobs are not running in parellel.
i.e. jobs running synchronously.
‎2014 Jun 03 8:51 AM
Have you checked with transaction RZ12 if any parallel server group has been configured on your system?
‎2014 Jun 03 9:03 AM
Yeah, have checked the RFC server group maintained in RZ12 transaction.
RZ12 server group name is 'pararellel_generators'.
system = 'pararellel_generators'.
we tried the below two options.
DESTINATION IN GROUP system
DESTINATION IN GROUP DEFAULT.
but the issue remains same.
Thanks
Jay.
‎2014 Jun 03 9:10 AM
I usually check my parallel jobs with SM50. Could it be that the calculation is so quick that the RFC call is finished before the next RFC request is issued? - Debugging parallel jobs is not easy. What I have done for my task is to create program logic to switch between synchronous or asynchronous/parallel execution. Whenever I have made major changes in the RFC code I first monitor a clean synchronous execution and only then switch to parallel execution. Note that you have to call the callback routine manually for synchronous execution.
‎2014 Jun 03 9:40 AM
Hi Jayashankar,
Just want know, why WAIT statement is written before RFC call ? Usually WAIT will be written after RFC call to collect consolidated result in parallel processing . It seems like before calling RFC call system will wait till previously called RFC So it will be like synchronous behavior. Please correct me if my assumption is wrong.
Thanks & Regards,
Arun
‎2014 Jun 03 11:01 AM
Thank you Aruna Kumara K,
I have tried by removing the statement WAIT UNTIL before the RFC CALL, now the jobs are executing in parellel.
Thanks again.
Regards,
Jay.