Show TOC

ObjektdokumentationParallelverarbeitung von Jobs mit asynchronem RFC

 

Für die Verarbeitung von bestimmten SAP-Reports reichen die Nächte allein nicht mehr aus. Speziell bei Kunden mit großen Datenvolumen können einige Reports, die gewöhnlich im Hintergrundverarbeitungssystem ausgeführt werden (wie z. B. Dispositionsläufe) Laufzeiten von vielen Stunden haben. Diese Jobs können die verfügbare „Nachtzeit" überschreiten, besonders dann, wenn die Dialoganwender über mehrere Zeitzonen verteilt sind.

SAP bietet eine Lösung für das Problem der „kurzen Nächte": parallel verarbeitete Hintergrundjobs. Langlaufende Reports können jetzt Parallelverarbeitung implementieren, bei der die anstehende Arbeit in kleineren Paketen an verfügbare Workprozesse verteilt werden kann. Die Ergebnisse können dann gesammelt und synchronisiert werden.

Bei der Parallelverarbeitung wird ein Job-Step wie gewöhnlich in einem Hintergrund-Workprozess gestartet Das in einem Job-Step ausgeführte Programm kann so programmiert werden, dass es eine spezielle Variante des asynchronen RFC nutzt, um Teile der zu verarbeitenden Daten parallel in anderen Workprozessen zu verarbeiten. Diese Programme sind daran zu erkennen, dass sie die Anweisung CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP zum Starten der Funktionsbausteine verwenden, mit denen die Daten verarbeitet werden. Informationen zur Programmierung finden Sie unter Parallelverarbeitung implementieren.

Während der Job selbst in einem Hintergrundprozess ausgeführt wird, werden die durch ihn gestarteten Parallelverarbeitungsaufgaben in Dialog-Workprozessen ausgeführt. Diese Dialog-Workprozesse können sich auf einem beliebigen SAP-Server befinden.

Die Parallelverarbeitung wurde in einigen SAP-Anwendungen implementiert, die zeitaufwendige Reports verwenden. Informationen zu diesen Reports finden Sie in der Anwendungsdokumentation. Den Kunden steht die Parallelverarbeitungsschnittstelle auch direkt zur Verfügung.

Automatischer Schutz gegen Überlastung der Ressourcen

Das Remote-Function-Call-System (RFC-System) verfügt über integrierte Sicherungsmechanismen, die verhindern, dass ein Parallelverarbeitungsjob zu viele Ressourcen verbraucht und hierdurch die Gesamt-Performance des Systems beeinträchtigt.

Ein Parallelverarbeitungsjob darf die Dialog-Workprozesse eines Servers nur nutzen, wenn folgende Bedingungen erfüllt sind:

  • Der fragliche Server verfügt über mindestens drei freie Dialog-Workprozesse. Diese Einschränkung bedeutet, dass in jedem von einem Parallelverarbeitungsjob genutzten Server mindestens zwei Dialog-Workprozesse für andere Aufgaben frei bleiben. Der Job kann nur dann eine Aufgabe in einem Dialog-Workprozess starten, wenn gegenwärtig zwei weitere Dialog-Workprozesse im fraglichen Anwendungsserver frei sind.

  • Die Verteilerwarteschlange des entsprechenden Servers ist zu maximal 10 Prozent belegt. Durch diese Einschränkung wird verhindert, dass ein Parallelverarbeitungsjob einen Server verwendet, der bereits stark ausgelastet ist.

Performance-Tests bei SAP legen nahe, dass die integrierten Sicherungsmechanismen eine wesentlich schnellere Ausführung von Hintergrundjobs ermöglichen, ohne die System-Performance insgesamt unangemessen zu beeinträchtigen. Wenn jedoch Parallelverarbeitungsjobs auf dieselben Ressourcen zugreifen oder Parallelverarbeitungsjobs das SAP-System gemeinsam mit zeitkritischen Anwendungen oder der gesamten Gruppe interaktiver Benutzer nutzen, empfehlen wir die Verwendung von RFC-Gruppen, um die Nutzung der Ressourcen durch einen Parallelverarbeitungsjob zu steuern.

Ressourcenverwaltung in RFC-Servergruppen

Die Gruppe der Server, die für die Parallelverarbeitung verwendet werden können, besteht gewöhnlich aus allen qualifizierten Servern Ihres SAP-Systems (CALL FUNCTION STARTING NEW TASK mit dem Argument DESTINATION IN GROUP DEFAULT). Sie haben jedoch die Möglichkeit, die „Gruppen"-Spezifikation in einem Parallelverarbeitungsprogramm zu nutzen, um exakt zu steuern, welche Ressourcen von einem Parallelverarbeitungsjob verwendet werden können.

Überwachung

Gegenwärtig sind Parallelverarbeitungsjobs in den Tools nicht speziell für die Überwachung der Hintergrundverarbeitung ausgelegt. Diese Überwachungsfunktion wird jedoch in den kommenden Releases hinzugefügt werden.