Show TOC Anfang des Inhaltsbereichs

Komponentendokumentation Konfiguration von Systemressourcen für parallelen RFC, tRFC,qRFC Dokument im Navigationsbaum lokalisieren

Einsatzmöglichkeiten

Eine Anwendung kann ihre Berechnungen und Datensammlungen parallelisieren, indem sie die verschiedenen Varianten der asynchronen RFCs verwendet. Dies kann auch indirekt geschehen, wie beim qRFC mit Eingangs-Queue. Auf dem Applikationsserver, auf dem der RFC ausgeführt wird, belegt jeder RFC-Aufruf einen Dialog-Workprozess.

Im folgenden werden die möglichen Konfigurationen des SAP-Systems beschrieben.

 

Asynchroner RFC mit Lastverteilung (paralleler RFC)

Mit diesem RFC-Typ können Sie parallele RFC-Aufrufe explizit programmieren. Die Ressourcen werden geprüft und so weit belegt, wie die eingestellten Quoten dies zulassen.

Das zugehörige ABAP-Sprachelement lautet

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname DESTINATION IN GROUP Groupname

Mit diesem ABAP-Befehl weisen Sie das SAP-System an, den Funktionsbausteinaufruf parallel zu verarbeiten. Die Anweisung implementiert die Parallelverarbeitung, indem sie asynchrone RFC-Aufrufe an die Server absetzt, die in der für die Verarbeitung angegebenen RFC-Server-Gruppe Groupname verfügbar sind. Der Gruppenname DEFAULT bedeutet, dass alle verfügbaren Applikationsserver verwendet werden.

qRFC mit Ausgangs-Queue

Die qRFC LUWs werden mittels des Outbound-Schedulers ausgeführt. Der Outbound-Scheduler benutzt den parallelen RFC für die Verarbeitung der  Ausgangs-Queues. Hierzu müssen Sie die Destinationen mittels der Transaktion SMQS pflegen.

Der Outbound-Scheduler prüft dann die Ressourcen und führt seinerseits, wenn Ressourcen vorhanden sind, parallele RFCs aus. Sind keine Ressourcen vorhanden, wird auf den synchronen RFC ausgewichen.

qRFC mit Eingangs-Queue

Wird mit Eingangs-Queue gearbeitet, so übernimmt der Inbound-Scheduler die Verarbeitung der Eingangs-Queues. Hierzu müssen Sie die Queue-Namen, die über den Inbound-Scheduler verarbeitet werden sollen, mittels der Transaktion SMQR registrieren. 

Der Inbound-Scheduler prüft dann die Ressourcen und führt seinerseits, wenn Ressourcen vorhanden sind, parallele RFCs aus. Sind keine Ressourcen vorhanden, wartet der Scheduler, bis die Ressourcen verfügbar sind.

Weitere Informationen finden Sie unter StrukturlinkMonitor Transactional RFC and Queued RFC

Transaktionaler RFC

Der transaktionale RFC benutzt lediglich die Ressourcenprüfung. Er setzt nicht seinerseits parallele RFCs ab.

Das zugehörige ABAP-Spachelement lautet

CALL FUNCTION Remotefunction DESTINATION Destination IN BACKGROUND TASK

Mit diesem ABAP-Befehl wird der Funktionsbaustein Remotefunction zur asynchronen Ausführung vorgemerkt. Er wird nicht sofort ausgeführt, sondern die mit EXPORTING bzw. TABLES übergebenen Daten werden in eine Datenbanktabelle gestellt. Ein COMMIT WORK löst dann die Verarbeitung des Funktionsbausteins aus. Folgende Fälle werden unterschieden:

·        Es liegt eine Verbuchung vor. Dann wird der Funktionsbaustein innerhalb der Verbuchung nach der V1-Phase ausgeführt, also in der Regel sogar auf einem anderen Server.

·        Es liegt keine Verbuchung vor. Dann wird der Funktionsbaustein im selben Workprozess ausgeführt.

Achtung

Beachten Sie, dass die RFC-Aufrufe mit CALL FUNCTION in Workprozessen vom Typ DIALOG verarbeitet werden. Damit gilt die DIALOG-Begrenzung zur Verarbeitung eines Dialogschrittes (Standard: 300 Sekunden, System-Profil-Parameter rdisp/max_wprun_time) auch für diese RFC-Aufrufe. Denken Sie an diese Begrenzung, wenn Sie Ihre Datenpakete für die Parallelverarbeitung einteilen.

Lesen Sie hierzu

Parallelverarbeitung mit asynchronem RFC

StrukturlinkRFC-Gruppen für Parallelverarbeitungsjobs definieren

 

Einschränkungen

Achtung 

Beachten Sie, dass die Überwachung und Kontrolle der Ressourcen, wie sie in dieser Dokumentation beschrieben wird, nur für die oben erwähnten RFC-Arten gilt!

Wenn Sie die Quoten richtig konfiguriert haben, kann es trotzdem passieren, dass Ihr System von RFCs überflutet wird, wenn diese nicht von den erwähnten Typen sind (z.B. synchrone RFCs, qRFC ohne Inbound-Queue, asynchrone RFCs ohne den Zusatz DESTINATION IN GROUP …).

Bekannte Probleme, ihre Ursachen und Lösungen sind in folgendem Abschnitt beschrieben:

Probleme mit Ressourcenbelegung durch RFC

 

In den folgenden Abschnitten erhalten Sie diese Informationen:

·        RFC-Ressourcen im Applikationsserver

Beschreibt, welche Ressourcen des Applikationsservers bei der Verwendung paralleler RFCs relevant sind und wie Sie die vorhandenen Ressourcen systemweit überwachen können.

·        Systemkonfiguration für parallele RFCs

Beschreibt, wie die RFC-Ressourcen manipuliert werden können: dynamisch oder mittels entsprechender Profilparameter.

·        Ressourcenermittlung für asynchronen und transaktionalen RFC

Beschreibt, wie die Ressourcenprüfung in System funktioniert; hierbei wird zwischen lokaler und entfernter Prüfung (auf einem anderen Server) unterschieden.

 

 

 

 

Ende des Inhaltsbereichs