SAP RFC

Aufrufen eines SAP-RFCs


Ein entfernter Funktionsaufruf (Remote Function Call) ist der Aufruf eines Funktionsbausteins, der in einem anderen System läuft, als das aufrufende Programm. Die Verbindung erfolgt über das Netzwerkprotokoll TCP/IP. Lobster Integration nutzt zur Implementierung von RFC-Aufrufen die SAP RFC Java Class Library.

Im SAP-System stellt das RFC-Schnittstellensystem diese Funktionalität bereit. Das RFC-Schnittstellensystem ermöglicht Funktionsaufrufe zwischen zwei SAP-Systemen (R/2 oder R/3) oder zwischen einem SAP-System und einem Nicht-SAP-System.

Ein RFC wird durch eine Schnittstelle definiert, die drei verschiedene Datenarten enthalten kann.


  • Felder von einem bestimmten Typ (z. B. Text, Zahl, Datum, ...) und mit einer bestimmten Länge.

  • Strukturen repräsentieren eine Liste von Feldern.

  • Tabellen enthalten mehrere Werte verschiedener Felder.


Eine Schnittstellenbeschreibung kann grob in drei Teile eingeteilt werden.


  • Eingangsparameter, die vom Aufrufer beim Aufruf übergeben werden. Dies können Felder oder Strukturen sein.

  • Ausgangsparameter, die nach Abarbeitung der entsprechenden Funktion an das aufrufende System zurückgegeben werden. Dies können Felder oder Strukturen sein.

  • Tabellen, sowohl für Eingangs- als auch Ausgangstabellen.


Anhand eines Beispiels soll die Funktionsweise eines RFC erläutert werden. Über den RFC RFC_READ_TABLE sollen aus einem SAP-System aus der Tabelle T005K zwei Felder ausgelesen werden. Die folgende Abbildung zeigt die Struktur dieser Tabelle.


images/download/attachments/189440980/SAP_1-version-1-modificationdate-1733301502591-api-v2.png


Die folgende Abbildung zeigt die RFC-Schnittstellenbeschreibung des RFCs RFC_READ_TABLE.


images/download/attachments/189440980/SAP_2-version-1-modificationdate-1733301502593-api-v2.png


Der RFC besitzt die fünf Eingangsparameter (Input Parameters)


  • DELIMITER,

  • NO DATA,

  • QUERY_TABLE,

  • ROWCOUNT und

  • ROWSKIPS.


Zusätzlich hat der RFC die folgenden Tabellenparameter (Table Parameters).


  • DATA - in dieser Tabelle werden die Daten der Tabelle gespeichert.

  • FIELDS - in dieser Tabelle werden die Felder ausgewählt, die geliefert werden sollen und die Struktur dieser Felder festgelegt.

  • OPTIONS - in dieser Tabelle sind für die Selektion optionale WHERE-Bedingungen enthalten.


Der Funktionsbaustein hat keinen Ausgangsparameter, der in Form eines Feldes oder einer Struktur dargestellt werden kann.


Lobster Integration ist in der Lage, RFC-Aufrufe an ein SAP-System abzusetzen und die Antwort des SAP-Systems zu verarbeiten. Dieser Mechanismus wird in Lobster Integration eingangsseitig dazu verwendet, Daten von einem SAP-System abzuholen. Die vom SAP-System gelieferten Daten können dann in verschiedenen Formaten vom aufrufenden Profil verarbeitet werden. Für Details siehe Abschnitt SAP (Eingangsagent Cron).

Wird ein SAP RFC auf der Ausgangsseite von Lobster Integration aufgerufen, kann die Antwort des SAP-Systems per Message an ein weiteres Profil zur Verarbeitung übergeben werden. Für Details siehe Abschnitt Antwortweg SAP.

Lobster Integration kann die Schnittstellendefinition eines RFC im SAP-System erfragen und die Struktur importieren.


Vorsicht: RFC-Aufrufe aus Lobster Integration beinhalten nur das Senden der Import-Parameter und der Tabellen-Parameter an den Funktionsbaustein, sowie die Rücksendung der Export-Parameter und der Tabellen-Parameter vom Funktionsbaustein an Lobster Integration. Falls der Funktionsbaustein seinerseits auf SAP-GUI-Funktionalität zuzugreifen versucht, wie z. B. das Kopieren von Dateien zwischen SAP und dem Arbeitsplatz-Computer, dann wird diese Funktion bei Aufruf aus Lobster Integration scheitern.

SAP-RFC-Debuggen


Lobster Integration bietet die Möglichkeit, von ihm ausgeführte SAP-RFC-Aufrufe sowohl auf der Eingangs- als auch auf der Ausgangsseite für die Fehlersuche aufzuzeichnen.

Die Aktivierung der Aufzeichnung erfolgt durch das Setzen der Checkbox Trace Meldungen für Phase 1 und 6 in den Logging-Einstellungen. Für Phase 6 muss zusätzlich die Checkbox SAP gesetzt werden. Siehe Bereiche System-Logging und Profil-Logging.

Eingangsseitig (Phase 1) erfolgt die Aufzeichnung der SAP-RFC-Aufrufe in zwei Dateien, die im Verzeichnis ./debug/sap abgelegt werden. Die Dateien tragen die Namen __debugIRfcIn.xml und __debugIRfcOut.xml.

Ausgangsseitig (Phase 6) erfolgt die Aufzeichnung der SAP-RFC-Aufrufe im HTML-Format im Message-Log von Lobster Integration.

Hinweis: Das Debuggen betrifft nur die Kommunikation mit dem SAP-System. Ein Debuggen der ABAP-Komponente des RFC ist von Lobster Integration aus nicht möglich.

RFC-Aufruf in Phase 3 und 5


Siehe Funktion call-sap-rfc(alias a,rfc b,[inMap c,timeout d,filter e,outList f,debug g,h,i,j,k]) und Integration Unit RFCUnit.

Aufrufbarer RFC in Lobster Integration


Siehe hierzu Abschnitt RFCs bereitstellen.