Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation RFC-Leistungsprofil  Dokument im Navigationsbaum lokalisieren

Der Aufruf eines Funktionsbausteins, der in einem anderen System definiert ist als das aufrufende Programm, wird als Remote Function Call (RFC). bezeichnet. Für diese Art der Programmkommunikation steht die RFC-Schnittstelle zur Verfügung, die Funktionsaufrufe zwischen unterschiedlichen SAP-Systemen (bzw. NW Application Servern) oder einem SAP-System und einem Fremdsystem unterstützt. Dabei ruft ein RFC-Client den Funktionsbaustein auf, während ein RFC-Server diesen bereitstellt und ausführt. Die RFC-Schnittstelle übernimmt folgende Dienste:

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

     An- und Abmeldung an das entfernte System und Berechtigungsprüfungen für die verwendete Funktionsgruppe.

     Konvertierung von Aktualparametern in die im entfernten System benötigte Darstellung und umgekehrt. Dazu gehören auch eventuelle plattform-abhängige Konvertierungen (z.B. bei unterschiedlichen Codepages oder Byte-Reihenfolgen). Die Konvertierung unterstützt alle ABAP-Datentypen.

     Behandlung der bei der Kommunikation auftretenden Fehler und, falls angefordert, Weiterreichen an den Aufrufer.

Bei unterschiedlichen SAP-Systemen kommunizieren zwei ABAP-Programme über die RFC-Schnittstelle miteinander, während bei der Kommunikation zwischen SAP- und Fremdsystemen ein ABAP-Programm mit einem Programm in einer anderen Programmiersprache (C, C++, Visual Basic, Java und .NET) in Verbindung tritt.

Für die Kommunikation mit Programmen in anderen Programmiersprachen sind RFC-Bibliotheken für alle von SAP unterstützten Betriebssysteme wie MS Windows, Unix (RS/6000, SUN Solaris, HP-UX), Linux, z/OS (OS/390) und OS400 vorhanden:

     Java-Connector (JCo) für Java

     .NET-Connector für .NET (C#, VB.NET)

     RFC Software Development Kit (SDK) für C und C++

Folgende Zusätze der Anweisung CALL-FUNCTION-RFC bewirken einen Remote Function Call:

     CALL FUNCTION - DESTINATION (synchroner RFC)
Wenn der Zusatz
DESTINATION ohne einen der folgenden beiden Zusätze angegeben ist, wartet das aufrufende Programm, bis die remote-aufgerufene Funktion beendet wurde.

     CALL FUNCTION - STARTING NEW TASK (asynchroner RFC, aRFC)
Mit dem Zusatz
STARTING NEW TASK wird die Verarbeitung des aufrufenden Programms fortgesetzt, sobald die remote-aufgerufene Funktion gestartet wurde, ohne ihre Beendigung abzuwarten. Die Ergebnisse können in Callback-Routinen entgegen genommen werden.

     CALL FUNCTION - IN BACKGROUND TASK (transaktionaler RFC, tRFC)
Mit dem Zusatz
IN BACKGROUND TASK wird die remote-aufgerufene Funktion zur Ausführung vorgemerkt und mit der Anweisung COMMIT WORKgestartet.

 

 

 

RFC-Kontext

 

Ende des Inhaltsbereichs