‎2010 Apr 19 6:14 PM
Dumpings:
An error occurred when executing a REMOTE FUNCTION CALL. It was logged under the name "TIME_OUT" on the called page.
And another dump for the same execution: An error occurred when executing a REMOTE FUNCTION CALL. It was logged under the name "No free intervals were found" on the called page.
I am getting these dumps only sometimes. and more frequent when trying to update high volume of meter reading. this meter read program has been developed to estimate and update the meter reads. here is the code:
CALL FUNCTION 'BAPI_MTRREADDOC_UPLOAD'
STARTING NEW TASK 'FUNC1'
DESTINATION 'NONE'
PERFORMING set_function1_done ON END OF TASK
TABLES
meterreadingresults = t_meterreadingresults1.
CALL FUNCTION 'BAPI_MTRREADDOC_UPLOAD'
STARTING NEW TASK 'FUNC2'
DESTINATION 'NONE'
PERFORMING set_function1_done1 ON END OF TASK
TABLES
meterreadingresults = t_meterreadingresults2.
WAIT UNTIL functioncall1 = done.
WAIT UNTIL functioncall2 = done.
FORM set_function1_done USING taskname.
RECEIVE RESULTS FROM FUNCTION 'BAPI_MTRREADDOC_UPLOAD' (DUMPING HERE)
TABLES
return = cstgdetail1.
functioncall1 = done.
ENDFORM. "PROCESS_DATA
FORM set_function1_done1 USING taskname.
RECEIVE RESULTS FROM FUNCTION 'BAPI_MTRREADDOC_UPLOAD' (DUMPING HERE)
TABLES
return = cstgdetail2.
functioncall2 = done.
ENDFORM. "PROCESS_DATA
It is dumping at one of the Receive results statements. Please check the code and let me know where am I doing wrong. Thanks in advance.
‎2010 Apr 22 11:14 AM
Hi Clemens, Its working properly but for high number of records, its just taking ages actually never finishes, for example: I tried to process 160,000 meter records updates with 160 tasks and it never finsihed. but it was working good for 5000meter record update. could you please tell me if there is any way we can find the status of the task processed?
‎2010 Apr 19 7:31 PM
Hi Kumar,
apparently nothing is wrong with the code, but the addtion STARTING NEW TASK will limit the execution time to the time configured for online tasks ,usually 10 minutes (600 seconds).
I wonder why you do not use the IN GROUP addition, refer to my [stone-old code snippets|http://wiki.sdn.sap.com/wiki/display/Snippets/Easily%20implement%20parallel%20processing%20in%20online%20and%20batch%20processing] or
[Enhanced - Easily implement parallel processing in online and batch processing|https://www.sdn.sap.com/irj/scn/wiki?path=/display/snippets/enhanced%252b-%252beasily%252bimplement%252bparallel%252bprocessing%252bin%252bonline%252band%252bbatch%252bprocessing]
Regards,
Clemens
‎2010 Apr 20 9:53 AM
Thanks for the reply clemens, but, I do not know OOPS concept. Is there any example without using OOPS??
Edited by: Kumar Tallapally on Apr 20, 2010 6:20 PM
‎2010 Apr 22 11:14 AM
Hi Clemens, Its working properly but for high number of records, its just taking ages actually never finishes, for example: I tried to process 160,000 meter records updates with 160 tasks and it never finsihed. but it was working good for 5000meter record update. could you please tell me if there is any way we can find the status of the task processed?
‎2010 Apr 22 1:44 PM
Hi Kumar,
thats what I already had in mind but forgot to tell you: Before calling the function, check the size of meter table passed - if too many records are present, you can try to split the table into parts of smaller size and then call function for each package.
Regards,
Clemens
‎2010 Apr 23 11:45 PM
Thanks Clemens, i did in the same way and it worked properly... thanks alot...