Anfang des Inhaltsbereichs

Objektdokumentation Hintergrund-Workprozesse  Dokument im Navigationsbaum lokalisieren

Definition

Hintergrundjobs werden in einem besonderen Workprozesstyp ausgeführt, dem Hintergrund-Workprozess, der sich in zweierlei Hinsicht vom Dialog-Workprozess unterscheidet:

...

       1.      Ein Dialog-Workprozess hat eine Laufzeitbegrenzung, die verhindert, dass Benutzer besonders lange Reports interaktiv ausführen.  Standardmäßig bricht das System jeden Dialog-Workprozess in einer Transaktion ab, der 300 Sekunden überschreitet.  Obwohl der Begrenzungswert geändert werden kann (in Systemprofilparameter rdisp/max_wprun_time), ist die Begrenzung für Dialog-Workprozesse immer in Kraft.  Für Hintergrund-Workprozesse gibt es eine solche Begrenzung nicht.

       2.      Hintergrund-Workprozesse weisen Speicher anders zu als Dialog-Workprozesse. Dadurch können Hintergrund-Workprozesse soviel zugewiesenen Speicher wie nötig verwenden, um die in der Hintergrundverarbeitung oft großen Datenmengen zu verarbeiten.

Die Verwendung spezieller Workprozesse für die Hintergrundverarbeitung gibt Ihnen eine zusätzliche Dimension bei der Trennung von Hintergrundverarbeitung und interaktiver Arbeit.  Normalerweise ist eine zeitliche Trennung von Hintergrundverarbeitung und interaktiver Arbeit im System üblich.  Beispielsweise Nutzung des Systems durch interaktive Benutzer bei Tag und Hintergrundverarbeitung bei Nacht.  Mit den Hintergrund-Workprozessen können Sie Hintergrundverarbeitung und interaktive Arbeit jedoch auch nach Servern trennen, da Hintergrundjobs nur auf Servern ausgeführt werden können, die Hintergrund-Workprozesse anbieten.

Verwendung

Durch die Verwendung von Hintergrund-Workprozessen können Sie sowohl die Hintergrund- als auch die Dialogverarbeitung optimieren. Im „Nachtbetrieb“ können mehr Server Hintergrund-Workprozesse anbieten, um Hintergrundjobs zu verarbeiten, die für Zeiten eingeplant sind, zu denen weniger interaktive Benutzer arbeiten. Im “Tagbetrieb” könnten Sie die Hintergrundverarbeitung auf weniger Server und/oder weniger Hintergrund-Workprozesse beschränken.

Wenn ein zeitgesteuerter Scheduler aktiviert ist, startet er die Jobs, für die freie Workprozesse verfügbar sind. Ist ein weiterer Hintergrundverarbeitungs-Server vorhanden, startet der Scheduler auf diesem Server die übrigen Jobs, für die er Kapazität hat usw.

Obwohl Sie für einen Job die Verwendung eines bestimmten Hintergrundservers (ein Anwendungsserver mit mindestens einem Hintergrund-Workprozess) angeben können, sollte das Hintergrundverarbeitungssystem am besten Lastausgleich verwenden, um die Workload auf die verfügbaren Server zu verteilen.

Die Parallelverarbeitung, oder asynchroner entfernter Funktionsaufruf (aRFC), ist die einzige Ausnahme der Regel, dass die Jobverarbeitung nur in Hintergrundjobs erfolgt. Ein für die Parallelverarbeitung programmierter Report läuft in einem Hintergrund-Workprozess. Er kann jedoch Arbeit an die verfügbaren Dialog-Workprozesse vergeben. Weitere Informationen hierzu finden Sie unter Parallelverarbeitung von Jobs mit asynchronem RFC.

Sie können die Hintergrund-Workprozesse mit dem grafischen Jobeinplanungsmonitor und der Server- oder Workprozessübersicht überwachen.

ABAP-Programme

Um ein ABAP-Programm im Hintergrund auszuführen, müssen Sie eine Variante für Reports mit Selektionsbildern angeben, oder das ABAP-Programm muss seine eigenen Laufzeitparameter angeben. Sie können den SAP-Benutzer angeben, unter dessen Berechtigung das Programm laufen soll, und Sie können angeben, wie das Spool-System die Ausgabe aus dem Programm handhaben soll.

Die von einem ABAP-Programm generierte Ausgabe wird im SAP-Spool-System als Spool-Auftrag abgelegt. Über Druck- und Archivierungsangaben in den Job-Steps können Sie festlegen, was mit der Ausgabe geschehen soll. Spool-Aufträge können auch automatisch über SAPoffice an einen in der Jobdefinition angegebenen Benutzer geschickt werden. Da die Ausgabe recht umfangreich sein kann, sollten Sie bei der Verwendung dieser Option vorsichtig vorgehen.

Externe Kommandos und externe Programme

Um ein externes, Nicht-SAP-Programm auszuführen, müssen Sie den Host angeben, auf dem das Programm laufen soll, sowie den Pfad des Programms und alle Argumente, die das Programm benötigt. Das Hintergrundverarbeitungssystem startet das externe Programm, indem es auf dem Ziel-Host-System das SAP-Serverprogramm SAPXPG startet und dann über RFCs mit SAPXPG kommuniziert.

Sie können auch angeben, wie die Ausführung eines externen Programms gehandhabt werden soll. Bei der synchronen Ausführung wartet der Hintergrundjob beispielsweise, bis SAPXPG den letzten Status des externen Programms ausgibt. Dagegen fährt der Job bei der asynchronen Ausführung nach dem Starten von SAPXPG direkt mit dem nächsten Job-Step fort. Bei der synchronen Ausführung können Sie die Fehlerausgabe und einen Rückgabewert vom externen Programm abfragen.

Das Hintergrundverarbeitungssystem unterscheidet zwischen externen Kommandos für normale Benutzer und externen Programmen für Systemadministratoren. Sie sehen diese Unterscheidung in der Jobeinplanungstransaktion, in der separate Felder für externe Kommandos und externe Programme angeboten werden.

Externe Kommandos sind vordefinierte Kommandos für Endanwender und können auf jedem Betriebssystem ausgeführt werden. Sie sind durch vom Systemverwalter definierte Berechtigungen geschützt, so dass Endanwender nur Kommandos einplanen können, für die ihnen die Berechtigung erteilt wurde.

Externe Programme sind Kommandos ohne Beschränkung, die ein Benutzer mit Verwalterberechtigung in einem Job-Step eingeben kann. Mit der Verwalterberechtigung kann der Benutzer jedes Programm ausführen. Weitere Informationen finden Sie unter Externe Kommandos und Externe Programme.

 

Ende des Inhaltsbereichs