Einführung in bgRFC

Von Tanisha Gupta

Einführung in bgRFC

Von Tanisha Gupta

Hallo, liebe Leser,
Wir sind zurück mit einem weiteren spannenden Thema vor Ihrer Haustür. Diesmal geht es um bgRFC und einige verwandte Terminologien.

Hintergrund RFC (Entfernter Funktionsaufruf) ist eine leistungsstarke Funktion in SAP, die auf dem Standard-RFC-Protokoll basiert und die es Benutzern ermöglicht, Remote-Funktionsaufrufe im Hintergrund auszuführen, ohne die Leistung des SAP-Systems zu beeinträchtigen. Hauptsächlich wird sie zur Ausführung lang laufender, ressourcenintensiver Prozesse wie Batch-Jobs und Datenübertragungen verwendet.

Der bgRFC ermöglicht, vereinfacht ausgedrückt, die Ausführung von Remote-Funktionsaufrufen zwischen verschiedenen SAP-Systemen oder zwischen einem SAP-System und einem Nicht-SAP-System. Damit können Benutzer Remote-Funktionsaufrufe in einem separaten Hintergrundprozess ausführen, der unabhängig von der Benutzeroberfläche läuft. Diese Funktion ermöglicht es dem Benutzer, einen lang laufenden Prozess zu initiieren und an anderen Aufgaben weiterzuarbeiten, ohne durch den Prozess unterbrochen zu werden.

bgRFC ist der Nachfolger von tRFC und qRFC, mit erheblichen Verbesserungen in Bezug auf Leistung und Funktionalität.

Die Begriffe tRFc und qRFC mögen für einige von Ihnen, die neu in SAP sind, ungewohnt klingen, aber keine Sorge, wir werden zuerst die Bedeutung dieser Begriffe verstehen und dann weitermachen.

Was ist Standard RFC?

Standard RFC

Standard RFC bezeichnet die einfachste Form der Kommunikation zwischen SAP-Systemen oder zwischen einem SAP-System und einem Nicht-SAP-System (Fremdsystem).

Ein Standard-RFC wird von einem System initiiert und in einem anderen ausgeführt, wobei die Antwort auf den Aufruf sofort an das anfordernde System zurückgegeben wird. Der Standard-RFC ist ein synchroner Kommunikationsprozess. Dies bedeutet, dass das anfordernde System blockiert bleibt, bis es die Antwort vom empfangenden System erhält.

Es ist gängige Praxis, sie für kurze Transaktionen oder Prozesse zu verwenden, die eine sofortige Reaktion erfordern. Zum Beispiel für das Abrufen von Daten oder das Auslösen einer bestimmten Aktion in einem anderen System.

Es sei darauf hingewiesen, dass Standard-RFCs zwar einen einfachen und unkomplizierten Weg für den Datenaustausch zwischen Systemen bieten, dass sie aber in Szenarien mit hohem Datenaustauschvolumen oder langer Verarbeitungszeit der RFC-Aufrufe zu einem Engpass werden können.

Was ist t-RFC?

t-RFC steht für Transaktionaler Fernfunktionsaufruf. Es handelt sich um eine Kommunikationsmethode, die dem zuverlässigen Datenaustausch zwischen SAP-Systemen dient, Transaktion Art und Weise.

Ein t-RFC-Aufruf wird von einem System initiiert und in einem anderen ausgeführt, wobei die Transaktion automatisch bestätigt oder zurückgenommen wird. Dies hängt von dem Ergebnis des Aufrufs ab.

Wird ein Aufruf an ein empfangendes System gesendet, das nicht erreichbar ist, so wird der Aufruf in der lokalen Warteschlange für einen späteren Zeitpunkt aufbewahrt. Wenn ein t-RFC-Aufruf nicht erfolgreich ist, kann die Transaktion automatisch wiederholt werden, um die Datenkonsistenz zwischen den Systemen zu gewährleisten.

Dabei ist zu beachten, dass ein t-RFC-Aufruf in einer einzigen Transaktion ausgeführt wird, d. h. entweder vollständig übertragen oder zurückgesetzt wird.

Was ist q-RFC?

q-RFC steht für Warteschlangen-Fernfunktionsaufruf. Es handelt sich um eine Art Remote Function Call, der die Kommunikation zwischen SAP-Systemen auf zuverlässige und skalierbare Weise ermöglicht. Er verwendet eine Warteschlange zur Speicherung und Verwaltung der Kommunikationsanfragen.

Ein q-RFC-Aufruf wird von einem System initiiert und in einem anderen System ausgeführt, wobei die Anfrage in einer Warteschlange im Empfangssystem gespeichert wird. Das empfangende System kann dann die Anfragen in der Warteschlange zu einem späteren Zeitpunkt verarbeiten, je nach Konfiguration entweder auf sequentielle oder parallele Weise. Dies ist hilfreich, wenn Benutzer Transaktionen in einem vordefinierte Reihenfolge.

Nun aber zurück zum Thema.


Das anfragende System initiiert einen bgRFC, und das empfangende System führt ihn im Hintergrund aus. Dadurch kann das anfordernde System die Verarbeitung fortsetzen, ohne durch die Antwort des empfangenden Systems blockiert zu werden. Die Antwort des bgRFC wird normalerweise zu einem späteren Zeitpunkt zurückgegeben und kann über verschiedene Transaktionscodes und Tabellen in SAP überwacht werden.

Hintergrund-RFCs sind eine beliebte Wahl für lang laufende Transaktionen oder Prozesse, die keine sofortige Antwort erfordern. Im Vergleich zu synchronen Kommunikationsmethoden bieten sie ein effizienteres Mittel für den Datenaustausch zwischen Systemen.

Mit dem bgRFC können Anwender Reports und Batch-Jobs regelmäßig, z.B. täglich, wöchentlich oder monatlich, ausführen, d.h. er basiert auf einem planergesteuerter Warteschlangenrahmen.

💡 Bei der Entgegennahme eines Anrufs muss sichergestellt werden, dass er entweder nur einmal in beliebiger Reihenfolge (Qualität von t-RFC) oder nur einmal in der Reihenfolge der Erstellung (Qualität von q-RFC) an den Empfänger übermittelt wurde.

Architektur des bgRFC

Die Architektur eines Hintergrund-Fernfunktionsaufrufs (bg-RFC) in SAP besteht aus den folgenden Komponenten:
  • Rufanlage
    Dies ist das System, das den bg-RFC-Aufruf initiiert. Das aufrufende System sendet die Anfrage an das aufrufende System und setzt die Bearbeitung fort, ohne durch die Antwort des bgRFC blockiert zu werden.
  • Callee-System
    Dies ist das System, das den bg-RFC-Aufruf empfängt und verarbeitet. Das aufrufende System verarbeitet den bg-RFC im Hintergrund und gibt die Antwort zu einem späteren Zeitpunkt an das aufrufende System zurück.
  • bg-RFC-Schnittstelle
    Dies ist die Schnittstelle, die die Struktur und den Inhalt des bg-RFC-Aufrufs definiert. Das aufrufende System stellt eine Reihe von Funktionsbausteinen zur Verfügung, die vom aufrufenden System aufgerufen werden können.
  • bg-RFC-Warteschlange
    Zur Speicherung und Verwaltung der bgRFC-Aufrufe wird eine Warteschlange verwendet. Die bg-RFC-Warteschlange dient als Puffer zwischen dem aufrufenden und dem aufrufenden System, so dass letzteres die bg-RFC-Aufrufe asynchron und parallel verarbeiten kann.
  • bg-RFC-Koordinator
    Hierbei handelt es sich um eine Komponente, die für die Verwaltung und Koordinierung der bg-RFC-Aufrufe im Calllee-System zuständig ist. Der bg-RFC-Koordinator holt die bg-RFC-Aufrufe aus der Warteschlange und leitet sie an die entsprechenden Funktionsbausteine zur Bearbeitung weiter.
Arbeitsweise des bgRFC

Im Diagramm haben wir zwei Systeme:
1. Rufanlage
2. Callee-System

Das aufrufende System verwendet eine Destination, um eine bgRFC-Anfrage an das aufrufende System zu senden, die das aufrufende System und den aufzurufenden bgRFC-Funktionsbaustein angibt. Das aufrufende System stellt die bgRFC-Anfrage in eine Warteschlange. Der Hintergrundprozessor prüft die Warteschlange periodisch auf neue Anfragen und verarbeitet sie im Hintergrund. Das sendende/aufrufende System kann fortfahren, ohne auf eine Antwort des empfangenden/aufrufenden Systems zu warten, da es die Anforderungen asynchron verarbeitet.
Die Kommunikation zwischen den beiden Systemen erfolgt über ein Kommunikationsprotokoll wie RFC oder ein Netzwerkprotokoll. Das aufrufende System führt den von der bgRFC-Anforderung aufgerufenen Funktionsbaustein aus.
Das aufrufende System empfängt die RFC-Anforderung und startet eine Hintergrundaufgabe zur Ausführung des Funktionsbausteins. Die Hintergrundaufgabe führt den Remote-Funktionsaufruf aus und generiert den Bericht oder führt die gewünschte Aufgabe aus. Je nach Komplexität des Berichts oder der auszuführenden Aufgabe kann die Fertigstellung des Funktionsbausteins einige Zeit in Anspruch nehmen.
Nach Abschluß der Hintergrundaufgabe speichert das aufrufende System die Ergebnisse im Aufgabenprotokoll oder gibt sie als Ausgabedaten an das aufrufende System zurück. Das aufrufende System ruft die Ergebnisse aus dem Aufgabenprotokoll oder den Ausgabedaten ab und verarbeitet sie nach Bedarf.

Vorteile des bgRFC

  1. Verbesserte Systemleistung: Durch die asynchrone Kommunikation wird das Sendersystem entlastet, was zu einer Verbesserung der Gesamtleistung des Systems beitragen kann.
  2. Erhöhte Zuverlässigkeit: bgRFC erhöht die Zuverlässigkeit durch die Bereitstellung eines zuverlässigen Kommunikationsmittels zwischen Systemen, das eine genaue und fehlerfreie Übertragung von Daten gewährleistet.
  3. Skalierbarkeit: Der bgRFC ist hoch skalierbar, d.h. er kann große Datenmengen verarbeiten und mehrere Systeme oder Anwendungen unterstützen.
  4. Verbesserte Benutzererfahrung: bgRFC ermöglicht es Benutzern, Aufgaben auszuführen, ohne auf Antworten von anderen Systemen oder Anwendungen warten zu müssen, was zu einer verbesserten Benutzererfahrung beitragen kann.

Zusammenfassung

Hintergrund RFC ist eine Kommunikationsmethode in SAP, die es Benutzern ermöglicht, asynchron zwischen verschiedenen Systemen zu kommunizieren.

Mit bg-RFC können Entwickler Prozesse erstellen und einplanen, die im Hintergrund eines beliebigen SAP-Systems ablaufen, was wiederum die GUI entlastet und die Performance steigert. Wenn es darum geht, große Datenmengen zu übertragen, erweist sich der bgRFC als praktisch. Der Einsatz des bgRFC ist abhängig von den Anforderungen und Eigenschaften des Integrationsszenarios.

Je effizienter die Digitalisierung und der Datenfluss sind, desto höher sind der Unternehmenswert und die Wettbewerbsfähigkeit.

Möchten Sie ein INTEGRTR werden?

DE