Show TOC

ProzessParameter in RFC-Aufrufen Dieses Dokument in der Navigationsstruktur finden

 

Bei einem RFC-Aufruf handhabt das System Parameter anders als bei einem lokalen Aufruf.

Prozess

TABLES-Parameter

Die eigentliche Tabelle wird übergeben, nicht jedoch der Tabellenkopf. Geben Sie keinen Tabellenparameter an, so verwendet der gerufene Funktionsbaustein eine leere Tabelle.

RFC arbeitet mit einem Delta-Verwaltungsmechanismus, um die Netzwerkbelastung bei der Parameter- und Ergebnisübergabe so gering wie möglich zu halten. Als Parameter bei Funktionsbaustein-Aufrufen können Sie interne ABAP-Tabellen verwenden. Bei einem lokalen Funktionsbaustein-Aufruf wird eine Parametertabelle "by reference" übergeben. Daher muss keine neue lokale Kopie angelegt werden. RFC unterstützt die Übergabe "by reference" nicht. Daher muss die gesamte Tabelle zwischen dem RFC-Client und dem RFC-Server hin und her übergeben werden. Sobald der RFC-Server die Tabelleneinträge erhält, legt er eine lokale Kopie der internen Tabelle an. An den RFC-Client werden dann nur noch die Delta-Informationen zurückgegeben. Allerdings werden Delta-Daten nicht bei jeder Tabellenoperation an den RFC-Client zurückgegeben, sondern gesammelt und auf einmal übergeben, sobald die Funktionskontrolle zum RFC-Client zurückkehrt.

Bei der ersten Übergabe einer Tabelle erhält die Tabelle eine Objekt-ID und wird im aufrufenden System als "virtuelle globale Tabelle" registriert. Diese Registrierung bleibt erhalten, solange weitere Aufrufe zwischen dem rufenden und dem gerufenen System möglich sind. Wenn also noch mehrere Aufrufe erfolgen, wird zwar jeweils die Delta-Information übergeben, um die lokale Kopie zu aktualisieren, aber die Tabelle selbst muss nur einmal kopiert werden (beim ersten Aufruf).