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
RECEIVEstatement are possible in the syntax, but are to be avoided and viewed as programming errors. Callback routines without aRECEIVEstatement behave implicitly in the same way as when the additionKEEPING TASKis specified forRECEIVE. -
Before the statement
RECEIVEis 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.