06-05-2011 1:46 PM
Hello,
I am actually trying to improve a program that is taking much time everyday.
There are 5 selects to CO tables (independent) and tried to use ARFCs. All the code seems perfect.
Time out is defined as 1800 seconds (30 min).
Assuming I am calling these 5 FMs (using ARFC), why am I getting short dump CALL_FUNCTION_REMOTE_ERROR.
Looking ST22, the error ocurred due "Time limit exceeded."
Really, do no understand why the system is considering the time limit set in the system if I am executing these FMs using ARFC.
For sure there is something I missed.
Can you please help or give some hint?
Thanks in advance!
Regards,
FCosta
Edited by: FCOSTA_SDN on Jun 5, 2011 2:46 PM
Edited by: FCOSTA_SDN on Jun 5, 2011 2:49 PM
06-05-2011 2:34 PM
Hi FCosta,
Timeout is always taken under consideration with dialog workprocesses, and aRFC (and any RFC) runs in dialog workprocesses. The only way to avoid that is to use background jobs (other ways can be used to avoid that in dialog but I doubt you should/can use them).
BR
Sandra
06-05-2011 8:03 PM
Hi,
Thanks Sandra! Noticed you replied faster to my question. After checking SM66, realized you were right: ARFC is indeed using Dialog processes. I thought that with ARFC it would use BTC.
I am wondering if instead you can give some hint how to solve my issue, reading table JCDS (over 400 Million entries) improving performance and leaving rest of CO tables (4) using ARFC.
This one I removed from ARFC strategy due my 1800 max processing per PID.
Regards,
FCosta
Edited by: FCOSTA_SDN on Jun 5, 2011 9:03 PM
06-05-2011 8:43 PM
Hi FCosta,
Well, that's very difficult to answer what you could do about JCDS without more information. I think you should better post a new thread in the performance forum, indicate exactly what data you want to read, how you read it (the exact SQL request(s)), and which SQL requests are time-consuming (with the SQL explain plan if applicable).
BR
Sandra
06-05-2011 9:28 PM