!--a11y-->
RECEIVE 
RECEIVE RESULTS
FROM FUNCTION
func
parameter
list
[KEEPING
TASK].
Zusatz:
... KEPPING TASK
Diese Anweisung kann in einer beim Asynchronen RFC angegebenen Callback-Routine verwendet werden, um in der Parameterliste parameter listAusgabeparameter einer asynchron aufgerufenen Funktion func entgegen zu nehmen und Ausnahmen Rückgabewerte zuzuordnen.
Wenn ein Funktionsbaustein mehrmals
hintereinander über asynchronen RFC gestartet wird, liegt die Reihenfolge der
Ausführung nicht fest, sondern hängt von der Systemverfügbarkeit ab.
Zusatz
... KEEPING TASK
Mit dem Zusatz KEEPING TASK bleibt die asynchrone RFC-Verbindung und damit der Kontext des aufgerufenen Funktionsbausteins erhalten. Bei einem erneuten Aufruf mit derselben Aufgabenkennung werden die gleichen globalen Daten der Funktionsgruppe adressiert. Ohne den Zusatz KEEPING TASK wird eine asynchrone RFC-Verbindung nach Ausführung der remote-Funktion bzw. nach Übernahme der Ergebnisse beendet.
Der Zusatz KEEPING
TASK sollte nur dann verwendet werden, wenn
der Kontext des aufgerufenen Funktionsbausteins für weitere Funktionsaufrufe
benötigt wird.
... [IMPORTING p1 = a1 p2 = a2 ...]
[TABLES
t1 = itab1 t2 = itab2 ...]
[EXCEPTIONS exc1 = n1 exc2 = n2 ... [MESSAGE mess]
[OTHERS
= n_others]].
Mit diesen Zusätzen werden die angegebenen Formalparameter des in func angegebenen Funktionsbausteins an Aktualparameter der Callback-Routine im aufrufenden Programm übergeben und nicht-klassenbasierten Ausnahmen Rückgabewerte zugeordnet. Die Bedeutung der Zusätze ist wie beim synchronen RFC. Insbesondere können auch den speziellen Ausnahmen SYSTEM_FAILURE und COMMUNICATION_FAILURE Rückgabewerte zugeordnet werden. Wenn keine Ausnahme auftritt, setzt RECEIVE den Inhalt von sy-subrc auf 0.