ABAP Keyword Documentation → ABAP − Reference → Data Interfaces and Communication Interfaces → RFC - Remote Function Call → CALL FUNCTION - RFC → CALL FUNCTION - STARTING NEW TASK
RECEIVE
Other versions: 7.31 | 7.40 | 7.54
Syntax
RECEIVE RESULTS FROM FUNCTION func
[KEEPING TASK]
parameter_list.
Addition
Effect
This statement must 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.
Notes
-
Callback routines without a
RECEIVE
statement are possible in the syntax, but are to be avoided and viewed as programming errors. Callback routines without aRECEIVE
statement behave implicitly in the same way as when the additionKEEPING TASK
is specified forRECEIVE
. -
Before the statement
RECEIVE
is executed in a callback routine, the current work process is interrupted so that the data can be received. If this has not already been done by another action, such as by using the statementWAIT 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.
Addition
... KEEPING TASK
Effect
The addition KEEPING TASK
retains the asynchronous RFC connection, and therefore also the
RFC session 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 ended after the remote function is executed or after the results are applied.
Note
The addition KEEPING TASK
should be used only if the RFC session of the called function module is needed for further function calls.