SAP RFC-Schnittstellen

Eine RFC-Schnittstellen bezeichnet die Freigabe eines ABAP-Funktionsbausteins über das SAP-eigene Protokoll RFC. Dies ermöglicht die Kommunikation sowohl innerhalb von SAP-Systemen als auch zwischen SAP- und Nicht-SAP-Systemen. Bibliotheken für die Nutzung des RFC-Protokolls stehen auf praktisch allen Plattformen zur Verfügung. RFC-Schnittstellen sind beliebte Einfallstore für Cyberangriffe und gehören zu den häufig unterschätzen IT-Sicherheitsrisiken.
Funktionsweise von RFC Schnittstellen
Im SAP-System lassen sich zwei Arten von RFC-Schnittstellen unterscheiden. Das erste ist für den Datenaustausch mit ABAP-Programmen entwickelt, die zweite für die Kommunikation außerhalb des SAP-System.
Aufruf innerhalb von ABAP
Ein ABAP-Programm kann einen Funktionsbaustein auf einem entfernten SAP-System direkt ansprechen, um Daten zu senden oder zu empfangen. Dazu nutzt es eine systemweit definierte RFC-Verbindung – der Aufruf erfolgt dabei so, als würde es sich um eine lokale Funktion handeln. Jedes ABAP-Programm kann als Aufrufer fungieren, solange der angesprochene Baustein als RFC-fähig deklariert ist.
Administratoren pflegen RFC-Verbindungen zwischen ABAP-Systemen in der Regel über die Transaktion SM59. Diese Verbindungen ähneln festen VPN-Tunneln und definieren eine klar vorgegebene Datenverbindung zu einem Zielsystem.
Auch SAP selbst setzt intern intensiv auf RFC: Zahlreiche Funktionsbausteine im Standard nutzen RFC-Aufrufe – sogar innerhalb eines einzelnen Systems, um Nebenläufigkeit (Parallelverarbeitung) effizient zu ermöglichen. In solchen Fällen spricht man von einem lokalen RFC-Aufruf (LRFC).
Aufruf von Nicht-ABAP-Programmen
Wenn der aufrufende oder angesprochene Partner kein SAP-System ist, muss das externe Programm die RFC-Kommunikation korrekt unterstützen und sich als RFC-Partner gegenüber SAP verhalten. Auf jedem Rechner mit installierter SAP GUI steht RFC standardmäßig zur Verfügung, da die Programmbibliothek librfc32.dll automatisch mitinstalliert wird.
Externe Programme rufen über RFC-Schnittstellen direkt Funktionsbausteine in SAP auf und führen sie aus. Umgekehrt nutzen ABAP-Programme Funktionen, die externe Programme über RFC bereitstellen. Diese Kommunikation ist sehr flexibel, da keine vollständige SAP-Programmierumgebung auf der Gegenseite nötig ist.
Eine besondere Variante ist die Registrierung als entfernter Server: Das externe System meldet sich beim SAP-System mit einer Funktion, die SAP zur Laufzeit auf dem entfernten System ausführt. So kann SAP gezielt externe Prozesse anstoßen.
Ein typisches Beispiel sind Zeiterfassungsterminals, die Meldungen direkt über RFC an SAP senden.
Optimierung von RFC Schnittstellen Berechtigungen
Zur Absicherung von RFC-Schnittstellen stehen zwei unterschiedliche Ansätze bereit. Viele Unternehmen setzen dabei auf den klassischen Ansatz, der aktuell als Standardvorgehen gilt.
Klassischer Ansatz zur Optimierung von Schnittstellen Berechtigungen
Der klassische Ansatz kommt ohne Spezialwissen aus, da er ausschließlich auf Standardwerkzeuge zurückgreift. Er eignet sich besonders für weniger kritische Schnittstellen und Benutzer.
Schritt 1: Analyse der Schnittstellen
Im ersten Schritt erfolgt eine Analyse der vorhandenen Schnittstellen sowie der aktuell eingesetzten Benutzer. Dabei sind mehrere Aspekte zu berücksichtigen:
- Wie viele Schnittstellenbenutzter sind aktuell im SAP-System vorhanden?
- Wie viele Schnittstellenbenutzer sind nach der Bereinigung erforderlich sind? Werden Benutzer im SAP für mehrere Schnittstellen verwendet, stellt dies ein Sicherheitsrisiko dar und schränkt die Flexibilität unnötig ein. Zudem steigen die Kosten für die Wartung.
Ein weiterer wichtiger Punkt ist die Prüfung, ob bereits Dokumentationen zur angebundenen Hardware vorliegen, auf die im Vorfeld zugegriffen werden kann. Ebenso relevant ist die Frage, in welchem Intervall die jeweilige Schnittstelle genutzt wird und in welcher Reihenfolge die Bereinigung der Schnittstellenbenutzer erfolgen sollte.
Abschließend sollte eine Risikobewertung durchgeführt werden. Dabei ist zu berücksichtigen, welche Auswirkungen ein möglicher Ausfall der jeweiligen Schnittstelle auf die Geschäftsprozesse und das Unternehmen insgesamt hätte.
Schritt 2: Benutzerkopien einrichten
Im zweiten Schritt erfolgt die Einrichtung von Benutzerkopien.
Dieser Schritt reduziert zum einen das Risiko eines Ausfalls und schafft zum anderen die Voraussetzung, um Berechtigungen gezielt und sinnvoll einzuschränken.
Ziel ist es, jeder Schnittstelle einen eigenen, dedizierten Systembenutzer zuzuweisen. In der Praxis verfügen diese Benutzer jedoch häufig weiterhin über veraltete und zu umfangreiche Berechtigungen – ein Aspekt, der im weiteren Verlauf berücksichtigt und angepasst werden sollte.
Schritt 3: Statistische Auswertung und Bildung von Traces
Im dritten Schritt wertet das System die Statistikdaten der Benutzer aus und erstellt Traces zur Analyse der Schnittstellenaktivitäten.
Schritt 4: Rollenentwicklung
Im nächsten Schritt baut man die Rollen basierend auf den ausgewerteten Statistikdaten und Trace-Ergebnissen auf. Gleichzeitig prüft man die Quellcodes der Funktionsbausteine auf zusätzliche Authority Checks.
Schritt 5: Testing
Anschließend testet man die neuen Berechtigungen, indem man sie den Schnittstellenbenutzern zuweist. Dabei sollte unbedingt in vorgelagerten Systemen geprüft werden, um Produktionsausfälle zu verhindern. Erfahrungsgemäß ist es nötig, diesen Schritt mehrfach zu wiederholen, um eine zufriedenstellende Qualität sicherzustellen.
Schritt 6: Go-Live
Sobald die Schnittstellenberechtigungen eine zufriedenstellende Qualität erreichen, veranlasst man im sechsten und letzten Schritt den Go-Live. Die neuen Berechtigungen werden in den Produktivbetrieb überführt. Um Berechtigungsfehler frühzeitig zu erkennen, empfiehlt es sich, Alerts auf System Dumps zu setzen.
Bewertung
Der klassische Ansatz eignet sich nicht für kritische Schnittstellen, da viele Testphasen nötig sind, um eine annähernd 100-prozentige Qualität zu erreichen. Teilweise treten auch nach Monaten noch Probleme auf, die den Produktivbetrieb beeinträchtigen. Dadurch wird der klassische Ansatz kostspielig, ohne die bestmöglichen Ergebnisse zu liefern.

Dieser Artikel erschien bereits im März 2017. Der Artikel wurde am 16.10.2025 erneut geprüft und mit leichten Anpassungen aktualisiert.
Weitere Informationen
FAQ
Was sind SAP RFC-Schnittstellen?
Eine RFC-Schnittstellen bezeichnet die Freigabe eines ABAP-Funktionsbausteins über das SAP-eigene Protokoll RFC. Dies ermöglicht die Kommunikation sowohl innerhalb von SAP-Systemen als auch zwischen SAP- und Nicht-SAP-Systemen.
Welche Arten von SAP RFC-Schnittstellen gibt es?
Im SAP-System lassen sich zwei Arten von RFC-Schnittstellen unterscheiden. Das erste ist für den Datenaustausch mit ABAP-Programmen entwickelt, die zweite für die Kommunikation außerhalb des SAP-System.
Wie lassen sich SAP RFC-Schnittstellen optimieren?
Der klassische Ansatz zur Optimierung läuft in fünf Schritten ab: 1. Analyse der Schnittstellen, 2. Benutzerkopien einrichten, 3. Statistische Auswertung und Bildung von Traces, 4. Rollenentwicklung, 5. Testing und 6. Go-Live. Der Klassische Ansatz ist nicht für kritische Schnittstellen zu empfehlen, da viele Testphasen benötigt werden, bis die Qualität der Schnittstellen annähernd 100 Prozent erreicht.
Wer kann mir beim Thema SAP RFC-Schnittstellen helfen?
Wenn Sie Unterstützung zum Thema SAP RFC-Schnittstellen benötigen, stehen Ihnen die Experten von RZ10, dem auf dieses Thema spezialisierten Team der mindsquare AG, zur Verfügung. Unsere Berater helfen Ihnen, Ihre Fragen zu beantworten, das passende Tool für Ihr Unternehmen zu finden und es optimal einzusetzen. Vereinbaren Sie gern ein unverbindliches Beratungsgespräch, um Ihre spezifischen Anforderungen zu besprechen.
2 Kommentare zu "SAP RFC-Schnittstellen"
Dieser Text könnte ja auf so ziemlich alles passen. Etwas Konkretes erfährt man jedenfalls nicht. 🙁
Hallo.
Tut mir leid, dass nicht das dabei war, was Sie gesucht haben. Welche Frage ist denn offen geblieben?
Mit freundlichen Grüßen,
Tobias Harmes