Show TOC

HintergrundRFC-Aufrufe Dieses Dokument in der Navigationsstruktur finden

 

In allen SAP-Systemen ist CALL FUNCTION ein integraler Bestandteil der ABAP-Sprache. Diese Anweisung führt eine Funktion (einen Funktionsbaustein) im selben System aus.

Remote Function Call (RFC) ist eine Erweiterung von CALL FUNCTION in einer verteilten Umgebung. Bestehende Funktionsbausteine können über einen RFC-Aufruf aus einem entfernten System heraus ausgeführt werden. Dazu wird DESTINATION-Parameter zu der CALL FUNCTION-Anweisung hinzugefügt:

Die Abbildung wird im Begleittext erläutert.

Der DESTINATION-Parameter zeigt einen Eintrag der Tabelle RFCDES an. Dieser Eintrag enthält alle Parameter, die Sie benötigen, um eine Verbindung zum Zielsystem aufzubauen und sich dort anzumelden.

Hinweis Hinweis

Die Tabelle RFCDES wird über die Transaktion SM59 (Entfernet Destinationen) gepflegt.

Ende des Hinweises.

Schnittstellenfunktionen

RFC entbindet den ABAP-Programmierer davon, seine eigenen Kommunikationsroutinen schreiben zu müssen. Bei einem RFC-Aufruf, übernimmt die RFC-Schnittstelle

  • die Konvertierung aller Parameterdaten in die im entfernten System benötigte Darstellung. Dazu gehören auch die Konvertierung von Zeichenketten und alle erforderlichen Hardware-abhängigen Konvertierungen (z.B. Integer, Fixpunkt). Alle ABAP-Datentypen werden unterstützt.

  • den Aufruf der Kommunikationsroutinen, die benötigt werden, um mit dem entfernten System zu kommunizieren.

  • die Handhabung der bei der Kommunikation auftretenden Fehler und, falls erwünscht, die Benachrichtigung des Aufrufers. (Der Aufrufer kann über den Parameter EXCEPTIONS der CALL FUNCTION-Anweisung festlegen, ob er benachrichtigt werden möchte.)

Die RFC-Schnittstelle ist für den ABAP-Programmierer unsichtbar. Die Verarbeitungsschritte für den Aufruf entfernter Programme sind in die CALL FUNCTION-Anweisung integriert. Die Verarbeitungsschritte für die Entgegennahme eines Aufrufs werden für jeden als entfernt registrierten Funktionsbaustein automatisch generiert (in Form eines RFC-Stub). Dieses Stub-Programm dient dann als Schnittstelle zwischen aufrufendem Programm und Funktionsbaustein.

SAP unterscheidet zwischen einem RFC-Client und einem RFC-Server. Der RFC-Client ist die Instanz, die die RFC-Schnittstelle aufruft, um den Funktionsbaustein auszuführen, der von einem RFC-Server bereitgestellt wird. Im folgenden werden die Funktionsbausteine, die entfernt ausgeführt werden können, als RFC-Funktionen bezeichnet, und die über die RFC-Bibliothek bereitgestellten Funktionen als RFC-Aufrufe.

Kontextmanagement

Jeder Remote-Aufruf eines Funktionsbausteins über die RFC-Schnittstelle definiert einen eigenen Kontext im Zielsystem. Die Funktionsgruppe des Funktionsbausteins wird in einen internen Modus des Kontexts geladen und bleibt dort erhalten, sodass bei wiederholten Aufrufen von Funktionsbausteinen derselben Destination und derselben Funktionsgruppe gemeinsam auf die globalen Daten dieser Funktionsgruppe zugegriffen wird.

Eine Verbindung und ihr Kontext bleiben so lange erhalten, bis sie explizit geschlossen oder das aufrufende Programm beendet wird. Für das explizite Schließen einer Verbindung stehen der Funktionsbaustein RFC_CONNECTION_CLOSE.

Weitere Informationen

Detailinformationen zum Theme RFC-Aufrufe finden Sie hier: