Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation qRFC & Verwendung der RFC Library Dokument im Navigationsbaum lokalisieren

 

tRFC Server

Anstatt den tRFC zu benutzen, kann eine SAP-Anwendung den qRFC mit Ausgangsqueue aus einem SAP-System verwenden um RFC Funktionen aufzurufen, die in einem tRFC Serverprogramm unter Verwendung der RFC Library bereitgestellt werden.

Jede SAP-Anwendung die mit einem externen tRFC Serverprogramm arbeitet, kann den qRFC mit Ausgangsqueue, anstatt von tRFC für eine LUW-Serialisierung verwenden, und somit eine bessere Performance des sendenden SAP-Systems erzeugen.

 

qRFC Client

Anstatt von RfcIndirectCall oder RfcIndirectCallEx, muss ein tRFC Clientprogramm den neuen Aufruf RfcQueueInsert verwenden, um das SAP-Zielsystem darüber zu informieren, die eingehende LUW in der definierten Eingangsqueue für eine spätere Verarbeitung zu speichern. Wenn der Aufruf RfcQueueInsert erfolgreich zurückgeschickt wurde, muss der qRFC Mandant dann RfcConfirmTransID ausführen. Ansonsten muss er den Aufruf RfcQueueInsert mit derselben TID wie zuvor  wiederholen.

Ein qRFC Mandantenprogramm muss die folgenden RFC Aufrufe ausführen:

 

RfcOpen

Verbinden zu einem SAP-System.

 

RfcCreateTransID

Mit diesem Aufruf bekommt die RFC-Library einen vom SAP-System erzeugten TID.

Im Fehlerfall muss das qRFC Mandantprogramm später erneut eine Verbindung herstellen und den Aufruf wiederholen. Ansonsten kann das qRFC Clientprogramm diese TID den qRFC Daten zuweisen.

 

RfcQueueInsert

Die RFC Library packt alle zu einer RFC Funktion gehörigen Daten zusammen mit der TID, dem Queuenamen, und optional, dem Queue-Zähler, und schickt sie mit dem tRFC Protokoll (mit Erweiterungen für qRFC mit Eingangsqueue) in das SAP-System.

Im Fehlerfall muss das qRFC Clientprogramm später erneut Verbindung herstellen und den Aufruf wiederholen. In diesem Fall muss es die alte TID verwenden und keine neue TID über RfcCreateTransID erhalten! Ansonsten gibt es keine Garantie, dass diese RFC Funktion genau einmal im SAP-System ausgeführt wird.

Nach einer erfolgreichen Ausführung dieses Aufrufs, wird die LUW komplett in der Eingangsqueue gespeichert. Das qRFC Clientprogramm kann dann sein eigenes TID-Management auf den neuesten Stand bringen. (z.B. löschen der TID-Einträge)

Im Gegensatz zum tRFC/qRFC zwischen SAP-Systemen, enthält eine LUW aus einem qRFC Clientprogramm nur eine RFC Funktion.

 

 

Hinweis Wenn das Ziel-SAP System keinen qRFC mit Eingangsqueue unterstützt, dann verarbeitet es die eingehende LUW sofort und schickt keine Fehlermeldung zurück zum qRFC Clientprogramm. In diesem Fall arbeitet das qRFC Clientprogramm als ein tRFC Clientprogramm.

 

 

Keine Unterstützung für qRFC mit Outbound Queue aus der RFC-Library

Empfehlung Jede Anwendung in einem SAP-Sstem kann qRFC mit Outbound Queue anstatt tRFC verwenden, um mit einem externen tRFC-Server zu kommunizieren:

      Minimale Änderungen im ABAP-Coding

      Keine Änderungen im Coding des tRFC-Servers notwendig

      Verbesserte Systemperformance

 

 

Keine Unterstützung für qRFC mit Inbound Queue aus der RFC-Library

Verwenden Sie den neuen API-Aufruf RfcQueueInsert anstatt RfcIndirectCall oder RfcIndirectCallEx in einem tRFC Client Programm, um eine LUW direkt in eine Inbound Queue eines SAP-Systems zu schreiben (verfügbar ab RFC library 4.6A).

     Kein Warten mehr auf Beendigung der LUW-Verarbeitung bei Verwendung von RfcQueueInsert.

     Nachdem der Aufruf RfcQueueInsert zurückgesendet wurde, müssen Sie wie gehabt RfcConfirmTransId ausführen.

Hinweis Vergessen Sie nicht Ihre Queue am QIN-Scheduler zur automatischen Aktivierung zu registrieren.

 

 

 

Ende des Inhaltsbereichs