‎2005 Feb 03 6:06 PM
Hello,
I am initiating an RFC_READ_TABLE call to get data of a database table from an external application. Could anyone tell me if this would start a "background process" in the application server or not? I ask this because if the database table has many many records, the query would take a long time - in this case would the performance of other business critical processes affected adversely?
Thanks for any help.
‎2005 Feb 03 6:08 PM
‎2005 Feb 04 2:39 PM
Hi Vishal,
The fm RFC_READ_TABLE is RFC-enabled. This doesn't mean that w you call it from a program that it rusn in the background.
So background determination is done based on 2 methods:
1. Make a program that calls this fm, create a variant with it (for your parameters) and then run it in the background (or schedule a job for it).
2. Inside your program do a remote call to fm RFC_READ_TABLE. See next example.
<tt>
CALL FUNCTION 'RFC_READ_TABLE'
STARTING NEW TASK my_task
DESTINATION 'NONE'
...
EXCEPTIONS
COMMUNICATION_FAILURE = 1 MESSAGE my_msg
SYSTEM_FAILURE = 2 MESSAGE my_msg
OTHERS = 3.
</t>
This will process in the 'background'.
By the way, when in foreground, you can influence the time-slice counter. Reset occurs when using COMMIT WORK, so if you are able to use this, you can run in the foreground.
Hope this gives you the information needed.
Regards,
Rob.