RECEIVE RESULTS FROM FUNCTION func
This statement can be used in a callback routine specified in an
asynchronous RFC to receive output parameters
of an asynchronously called function
func in the parameter list
parameter_list and to handle exceptions.
- If a function module is started multiple times in a row using asynchronous RFC, the order of execution is not fixed; instead it depends in the system availability.
If the statement
RECEIVEis used in a callback routine, the current work process must be interrupted before the routine is executed, so that the data can be received. If this has not already been done by another action, such as by using the statement
WAIT FOR ASYNCHRONOUS TASKS, the callback routine is executed after an implicit switch of the work process. A database commit is performed, except during the update.
... KEEPING TASK
KEEPING TASK retains the asynchronous RFC connection, and therefore also the
context of the called function module. When a new call
is made with the same task ID, the same global data of the function group is addressed. A destination
specified directly using
DESTINATION can be specified again, but does not
have to be.
DESTINATION IN GROUP cannot be used to specify a group if a new
call is performed. Without the addition
KEEPING TASK, an asynchronous RFC connection is finished after the remote function is executed or the results are copied.
KEEPING TASK can be used only if the context of the called function module is required for other function calls.