RFC-Verarbeitung mit dem
RFC-Adapter
Der RFC-Adapter ermöglicht das Verarbeiten und Ausführen von RFCs (Remote Function Calls) über die Integration Engine und das PCK.
Die Möglichkeit der Verarbeitung von RFC-Aufrufen durch die Integration Engine bietet eine Alternative zur Verarbeitung von XML-Messages, die über die Proxy-Schnittstelle generiert werden. Diese Alternative kommt typischerweise für alle SAP-Anwendungen in Betracht, die bereits RFC-Aufrufe verwenden, sowie für neue Anwendungen von SAP-Komponenten, die noch nicht über die Funktionalität der Proxy-Generierung verfügen.
Weitere Informationen zu RFCs finden Sie
unter
RFC-Grundlagen.
Bestehende Anwendungen müssen nicht geändert werden, alle Sendersysteme, die den RFC-Adapter verwenden, sollten jedoch im System Landscape Directory gepflegt sein. Zudem benötigen sie eine RFC-Verbindung vom Typ TCP/IP zum RFC-Adapter. An dieser RFC-Destination müssen Sie die Programm-ID für den Sender-Adapter registrieren, die Sie beim Konfigurieren des Sender-Adapters spezifiziert haben.

Über diese RFC-Verbindung können keine IDocs versendet werden. Diese müssen zur RFC-Destination des IDoc-Adapters geschickt werden.
Die Verbindungsdaten für das
Metadaten-Repository verwendet der RFC-Adapter, um auf die benötigten
Metadaten der gerufenen Funktionsbausteine zuzugreifen. Zu diesem Zweck muss
ein Benutzer für den
SAP Java Connector
(JCo) gepflegt sein.
Das Metadaten-Repository muss sich nicht unbedingt im Sendersystem befinden. Alternativ kann es auch von einem anderen SAP-System bereitgestellt werden.
Um eine RFC-Destination zum RFC-Adapter einzurichten, verfahren Sie wie folgt:
...
1. Führen Sie die Transaktion Anzeige und Pflege von RFC-Destinationen (SM59) aus.
2. Wählen Sie eine bestehende RFC-Destination vom Typ ABAP-Verbindungen (z.B. ABAP_Alt) per Doppelklick aus.
3. Wählen Sie Destination → Kopieren und kopieren Sie die RFC-Destination unter einem neuen Namen (z.B. ABAP_Neu).
4. Sichern Sie die neue (ABAP_Neu) und löschen Sie die alte (ABAP_Alt) RFC-Destination.
5. Legen Sie eine neue RFC-Destination (z.B. RFC_Adapter) vom Typ T (TCP/IP-Verbindung) als RFC-Destination zum RFC-Adapter an.
6. Markieren Sie die Registrierungsart Registriertes Serverprogramm und geben Sie im Feld Programm-ID die Programm-ID aus der Konfiguration des RFC-Sender-Adapters ein.
7. Geben Sie in den Feldern Gateway-Host und Gateway-Service den Gateway-Host und Gateway-Service aus der Konfiguration des RFC-Sender-Adapters ein.
8. Handelt es sich bei dem sendenden System um ein Unicode-System, definieren Sie die RFC-Destination als Unicode.
9. Legen Sie unter dem Namen der alten ABAP-Verbindung (ABAP_Alt) eine neue RFC-Destination vom Typ L (logische Destination mit Referenzeintrag) an.
10. Geben Sie im Feld Referenzeintrag die RFC-Destination (RFC_Adapter) zum RFC-Adapter ein.
Nun wird unter dem Namen Ihrer alten RFC-Destination (ABAP_Alt) – ehemals vom Typ ABAP-Verbindung, jetzt vom Typ Logische Destination – intern die neue RFC-Verbindung (RFC_Adapter) vom Typ TCP/IP-Verbindung zum RFC-Adapter aufgerufen.
Die Änderung der Zieladresse (RFC-Destination) ist für die Anwendung transparent, ändert jedoch die Semantik der RFC-Verbindung.
Möchten Sie zur alten Destination zurückkehren, müssen Sie einfach den Referenzeintrag in Ihrer logischen Destination (ABAP_Alt) ändern, zum Beispiel von RFC_Adapter auf ABAP_Neu.
Für die Kommunikation zwischen Integration Server/PCK und Empfängersystem werden weder eine RFC-Verbindung noch Parameter aus der Konfiguration des RFC-Adapters benötigt.
Die Kommunikationskanäle aus dem Integration Directory oder dem PCK liefern die jeweiligen Empfängersysteme.
Die angeschlossenen Systeme erzeugen in den Anwendungen RFC-Aufrufe und versenden sie an die RFC-Destination, die die Integration Engine oder das PCK adressiert.
Am Eingang der Integration Engine/des PCK wird der RFC-Adapter aufgerufen, der mit Hilfe des SAP JCo aus den RFC-Metadaten ein RFC-XML-Dokument (XML-Message) erzeugt, das zur weiteren Verarbeitung übergeben wird.
Für jedes RFC-XML-Dokument wird eine Message-ID erzeugt und eine Message bestehend aus Header und Payload (mit dem RFC-XML-Dokument) an die Integration Engine/das PCK geschickt.

Jede Message enthält nur einen RFC-Aufruf.
Eingehende RFC-XML-Dokumente werden nur dann persistiert, wenn ihnen ein tRFC-Aufruf (asynchrone Message-Verarbeitung) zugrunde liegt. Synchrone RFC-Aufrufe (sRFCs) werden nur bei eingeschaltetem Logging persistiert.
Der RFC-Adapter am Ausgang der Integration Engine benötigt für jeden Empfänger aus dem logischen Routing einen Kommunikationskanal aus dem technischen Routing.
Dieser Kommunikationskanal wird bei der Konfiguration des Empfänger-Adapters im Integration Directory definiert. Er wird analysiert und liefert die technischen Informationen für den RFC-Aufruf.
An das Mapping stellt der RFC-Adapter keine speziellen Anforderungen. Er benötigt lediglich ein RFC-XML-Dokument, in einem Format, das vom SAP Java Connector unterstützt wird. Ein solches Dokument ist entweder bereits vorhanden oder muss durch ein Mapping erzeugt werden.
Der RFC-Adapter wird aufgerufen und das RFC-XML-Dokument (XML-Message) wird mit den Parametern aus dem Kommunikationskanal übergeben.
Die Aufgabe des RFC-Adapters am Ausgang der Integration Engine/des PCK ist die Umwandlung von RFC-XML in einen gültigen RFC-Aufruf, sowie dessen Ausführung.
Bei synchronem RFC-Aufruf wird das Ergebnis des Aufrufs vom RFC-Adapter entgegengenommen, falls nötig in XML (RFC-XML-Response) konvertiert, und zur weiteren Verarbeitung an die Integration Engine/das PCK zurückgegeben.