SAP NetWeaver AS ABAP - Systemadministration - EDV

Werbung
In diesem Kapitel werden die unterschiedlichen Prozesstypen,
die der SAP NetWeaver AS ABAP zur Verfügung stellt,
behandelt. Die Eigenschaften der Prozesstypen werden erläutert, und es werden die Konzepte vorgestellt, nach denen die
einzelnen Prozesse arbeiten.
2
Prozesskonzept des SAP
NetWeaver Application
Servers ABAP
Im Folgenden werden Ihnen die grundlegenden Prozesstypen eines
SAP Netweaver AS ABAP und ihre Architektur vorgestellt. Es wird
erläutert, weshalb es die unterschiedlichen Prozesstypen gibt und
welche Aufgaben sie im Einzelnen übernehmen. Jeder Unterabschnitt dieses Kapitels beschreibt einen speziellen Prozesstyp. Am
Ende jedes Abschnitts finden Sie Tipps und häufig gestellte Fragen.
Als Abschluss dieses umfangreichen Kapitels finden Sie außerdem
einen kurzen Einblick in die Funktionsweise des Virtual Machine
Containers (VMC), der selbst jedoch keinen eigenständigen Prozesstyp darstellt.
2.1
Dialogverarbeitung
Die Dialogverarbeitung findet hauptsächlich innerhalb der DialogWorkprozesse statt. Diese stellen in einem OLTP-System normalerweise den größten Anteil an Workprozessen. Für eine eigenständige
Instanz sind neben dem Dispatcher-Prozess mindestens zwei DialogWorkprozesse notwendig.
Während alle in den folgenden Abschnitten beschriebenen Prozesse
Spezialaufgaben, wie zum Beispiel Hintergrundverarbeitung, Drucken oder Verbuchen übernehmen, wird durch Dialog-Workprozesse die Grundlast aller anstehenden Aufgaben bewältigt. Alle
Anfragen, die durch einen Benutzer online an SAP NetWeaver
65
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
gestellt werden, werden durch einen Dialog-Workprozess abgearbeitet. Eventuell wird, abhängig von der Anfrage, ein geeigneter Spezialprozess, zum Beispiel der Verbuchungsprozess, im Bedarfsfall mit
eingebunden. Die folgenden Komponenten sind an der Abarbeitung
einer Dialoganfrage beteiligt (siehe Abbildung 2.1):
An Dialogabfrage
beteiligte
Komponenten
왘 der Dispatcher-Workprozess (zentraler Steuerungsprozess)
왘 gegebenenfalls die Dispatcher-Queue (Warteschlange des Dispatcher-Prozesses)
왘 ein Dialog-Workprozess
왘 Komponenten im Shared Memory des Applikationsservers (zum
Beispiel Puffer)
Frontend: SAP GUI
DispatcherRequestQueue
Dispatcher
DynproProzessor
ABAPProzessor
Task
Handler
Datenbankschnittstelle
Pufferzugriffe
Roll-in
ABAPProzessor
DatenbankSchnittstelle
Task
Handler
interner Speicher
Dialogworkprozess n
DynproProzessor
interner Speicher
Dialogworkprozess 2
DynproProzessor
interner Speicher
Dialogworkprozess 1
ABAPProzessor
Task
Handler
Datenbankschnittstelle
Roll-out
Shared Memory
Applikationspuffer
•
•
•
•
•
Fabrikkalender
Dynpros
ABAP-Programme
Tabellen
….
Roll-Bereich
User-Kontext
User-Kontext
Roll-Datei
User-Kontext
Abbildung 2.1 Beteiligte Komponenten an einem Dialogschritt
Wird eine Dialoganfrage durch den Dispatcher an einen DialogWorkprozess weitergeleitet, so übernimmt im Dialogprozess der
Task Handler die Anfrage. Er entscheidet, ob der Dynpro- oder
ABAP-Prozessor aktiviert werden soll und ob gegebenenfalls eine
Datenbankabfrage über die Datenbankschnittstelle auszuführen ist.
Außerdem übernimmt der Task Handler Roll-in und Roll-out des
66
Hintergrundverarbeitung
2.2
Benutzerkontextes. Im Benutzerkontext befinden sich zum Beispiel
Berechtigungen und Variablenwerte.
Überdies hat der Workprozess Zugriff auf unterschiedliche Speicherbereiche. Man unterscheidet Speicherbereiche, die dem DialogWorkprozess exklusiv zur Verfügung stehen (prozesslokaler Speicher)
und Speicherbereiche, die von allen Workprozessen gemeinsam
genutzt werden können (prozessübergreifender Speicher). Im exklusiv
genutzten Speicher werden modusspezifische Daten, die länger als
für die Dauer eines Arbeitsschrittes aufbewahrt werden, abgelegt.
Diese Daten werden dem Prozess zu Beginn eines Dialogschrittes
automatisch verfügbar gemacht (hineingerollt) und am Ende des Dialogschrittes für den Prozess gesichert (herausgerollt). Es handelt sich
hierbei um Daten, die den Benutzer charakterisieren (User-Kontext),
wie zum Beispiel Berechtigungen, Verwaltungsinformationen und
weitere Daten für den ABAP- und Dialogprozessor, die in den bereits
durchgeführten Dialogschritten der laufenden Transaktion gesammelt wurden.
Im gemeinsam genutzten Speicherbereich liegen diverse SAP-Puffer,
wie zum Beispiel Fabrikkalender, Dynpro-, Programm- und Tabellenpuffer.
2.2
Hintergrundverarbeitung
Neben dem Dialogbetrieb können Reports in einem SAP-System
auch im Hintergrund verarbeitet werden. Dies ist insbesondere für
lang laufende Programme interessant, die keine interaktiven Eingaben erfordern. In diesem Kapitel steht das Management der Hintergrundjobs im Mittelpunkt. Es wird gezeigt, wie man Hintergrundjobs zeit- und ereignisgesteuert einplant und die Ablaufprotokolle
auswertet.
2.2.1
Konzepte
Grundsätzlich können alle Programme, die keinen expliziten Benutzerdialog erfordern, auch im Hintergrund ausgeführt werden. Sinnvoll ist dies besonders dann, wenn der abzuwickelnde Vorgang zeitund ressourcenintensiv ist und daher in eine lastarme Zeit verlegt
werden soll. Eine Online-Ausführung würde über den gesamten
67
Prozesslokaler und
prozessübergreifender Speicher
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Zeitraum einen Dialogprozess blockieren und so andere Dialogbenutzer indirekt behindern.
Um zu verhindern, dass Benutzer lang laufende Reports interaktiv
ausführen, kann für die Dialogschritte eine Laufzeitbegrenzung festgelegt werden. Standardmäßig liegt diese Grenze bei 600 Sekunden.
Nach Ablauf dieser Zeitspanne bricht die Verarbeitung ab. Im Systemprofil ist diese Grenze über den Parameter rdisp/max_wprun_
time einstellbar. Die Verarbeitung im Hintergrund ist nicht in dieser
Form eingeschränkt.
Die Automatisierung periodisch zu erledigender Routinearbeiten ist
eine weitere, offensichtliche Anwendungsmöglichkeit. Für die Hintergrundverarbeitung stellt das SAP-System den Hintergrundservice
mit seinen Hintergrund-Workprozessen (auch einfach nur Background- oder Batch-Prozesse genannt) zur Verfügung. Im Gegensatz
zur Dialogverarbeitung, bei der jeder LUW (Logical Unit of Work –
siehe Abschnitt 1.5, »Applikationsebene«) der nächste freie Dialogprozess vom Dispatcher zugeordnet wird, besteht bei der Hintergrundverarbeitung während der gesamten Ausführung eine feste
Verbindung mit genau einem Background-Prozess. Den Startzeitpunkt des Hintergrundjobs plant der Systemadministrator beziehungsweise der Benutzer selbst. Er kann dabei zwischen Zeit- und
Ereignissteuerung wählen.
Zeitgesteuerter
Job-Scheduler
Bei der zeitgesteuerten Vorgehensweise wird bei der Einplanung des
Jobs ein Startzeitpunkt definiert. Für jede Instanz des SAP-Systems,
auf der Hintergrund-Workprozesse konfiguriert sind, ist ein zeitgesteuerter Job-Scheduler aktiv, der in definierten Zeitintervallen überprüft, ob Hintergrundjobs zur Verarbeitung anstehen. Die Beschreibungen der anstehenden Jobs werden in zentralen Datenbanktabellen gehalten. Beim zeitgesteuerten Job-Scheduler handelt es sich um
ein ABAP-Programm, das innerhalb eines ausgewählten Dialogprozesses interpretiert und abgearbeitet wird. Die Auswahl des speziellen Dialogprozesses wird beim Start des SAP-Systems automatisch
vom Scheduler vorgenommen. Standardmäßig ist das Zeitintervall,
nach dem der zeitgesteuerte Job-Scheduler aktiv wird, auf 60 Sekunden konfiguriert. Der Administrator kann dieses Zeitintervall mithilfe des Parameters rdisp/btctime im Instanzprofil beliebig anpassen. Aufgrund des Zeitabstandes zwischen zwei Job-Scheduler-Läu-
68
Hintergrundverarbeitung
2.2
fen kann es daher Verzögerungen beim Start eines Jobs geben. Man
würde das Zeitintervall also verkleinern, wenn die Verzögerungen zu
groß für die eigenen Bedürfnisse sind. Ist umgekehrt die mögliche
Verzögerung beim Start eines Jobs nicht ausschlaggebend, so kann
man das Zeitintervall vergrößern. Die damit verbundene Verringerung der Häufigkeit von Läufen des zeitgesteuerten Job-Schedulers
hat allerdings kaum Einfluss auf die Systemlast.
Im Gegensatz zum zeitgesteuerten Job-Scheduler reagiert der ereignisgesteuerte Job-Scheduler auf Events. Nach dem Auslösen eines
Events (siehe weiter unten) veranlasst er den Start von Hintergrundjobs, die mit dem Eintreten des Ereignisses anlaufen sollen. Der
ereignisgesteuerte Job-Scheduler wird ebenfalls durch einen DialogWorkprozess abgearbeitet; die zu verwendende Instanz legen Sie
über den Parameter rdisp/btcname = <Rechnername> im Standardprofil des SAP-Systems (DEFAULT.PFL) fest.
Ereignisgesteuerter JobScheduler
Parameter zur Dialog- bzw. Hintergrundverarbeitung
왘 rdisp/max_wprun_time: Zeit in Sekunden, nach der ein Dialogschritt
wegen Laufzeitüberschreitung angebrochen wird.
왘 rdisp/btctime: Zeitintervall des Batch-Schedulers
왘 rdisp/btcnam: Instanz für Batch-Verarbeitung
Die Ereignisse, auf die reagiert werden soll, müssen zunächst im
SAP-System als sogenannte Events definiert sein. Standardmäßig
werden mit dem SAP-System bereits eine Reihe von Ereignissen ausgeliefert. Eine Übersicht erhalten Sie über die Eventpflege (SM62).
Die bereits zum Lieferumfang gehörenden Ereignisse nennt man
auch Systemereignisse. Sie werden häufig für die interne SAP-Steuerung benutzt, können jedoch auch von den Benutzern für eigene
Zwecke verwendet werden.
Systemereignisse
Darüber hinaus können die Benutzer über den gleichen Menüpfad
neue eigene Ereignisse, sogenannte Benutzerereignisse, definieren.
Die Ereignisdefinition ist zunächst nicht mehr als ein Eintrag in eine
Tabelle.
Benutzerereignisse
Ein Ereignis kann auf verschiedene Weise ausgelöst werden:
Auslösen
왘 zu Testzwecken manuell über das Kontextmenü zu einem Event in
der Eventpflege (SM62) (rechte Maustaste 폷 Event 폷 auslösen)
69
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
왘 durch Benutzung des Funktionsbausteins BP_EVENT_RAISE aus
einem ABAP-Programm innerhalb des SAP-Systems
왘 mithilfe des externen Programms sapevt
sapevt
Aus einem externen Programm heraus kann mittels sapevt ein
Ereignis in einem SAP-System ausgelöst werden. sapevt ist im SAPStandard-Verzeichnis für ausführbare Programme (siehe Kapitel 1,
»Die Architektur des SAP NetWeaver Application Servers ABAP«)
verfügbar. Es wird wie folgt verwendet:
sapevt <EventID> [-p <Parameter>] [-t]
pf=<Profil>|name=<R/3-Systemname> nr=<R/3-Systemnummer>
Die Option -t veranlasst das Schreiben einer Protokolldatei dev_evt
im Aufrufverzeichnis von sapevt. Mithilfe der Option -p kann ein
Parameter, der ein SAP-Modul bestimmt (zum Beispiel Financials,
FI), übergeben werden. Damit wird eine Zuordnung der Ereignisse
zu den Arbeitsgebieten erreicht. Diese Zuordnung hat lediglich
beschreibenden Charakter.
Beispielsweise löst der Aufruf
sapevt SAP_TRIGGER_RDDIMPDP name=QO1 nr=00
im SAP-System QO1 das Ereignis SAP_TRIGGER_RDDIMPDP aus.
tp
Innerhalb des SAP-Systems wird die Ereignissteuerung zum Beispiel
beim Transport von Objekten zwischen SAP-Systemen angewendet.
Die mithilfe des Transportsteuerungsprogramms tp durchgeführten
Transporte verlaufen in mehreren Phasen. Über den eigentlichen
Datenimport hinaus müssen die einzelnen Objekte häufig auch generiert beziehungsweise aktiviert werden. Daher löst das Programm tp
nach Abschluss des Datenimports das Ereignis SAP_TRIGGER_
RDDIMPDP aus. In einem SAP-System ist stets der Job RDDIMPDP
in Abhängigkeit von diesem Ereignis eingeplant. Tritt das Ereignis
SAP_TRIGGER_RDDIMPDP ein, so wird automatisch der Job
RDDIMPDP im Hintergrund ausgeführt.
Die Verwendung dieser Technik erlaubt eine größere Flexibilität.
Nicht immer ist es zeitlich vorhersehbar, wann Aktionen abgeschlossen sind, und eine Abhängigkeit zwischen Hintergrundjobs ist damit
kaum herstellbar. Die Ereignissteuerung eröffnet dabei neue Möglichkeiten.
70
Hintergrundverarbeitung
2.2.2
Definition von Hintergrundjobs
Für das Einrichten von Hintergrundjobs nutzen Sie die Jobdefinition
(SM36) (siehe Abbildung 2.2).
Abbildung 2.2 Jobdefinition
Häufig ist die Planung von Hintergrundjobs auch direkt in die Anwendungen integriert, zum Beispiel beim Kopieren von Mandanten oder
beim Benutzerstammabgleich. Je nach Anwendung kann das Erscheinungsbild der Bildschirmmasken zur Erfassung der Jobdaten differieren; oder bestimmte Jobeigenschaften werden bereits von der Anwendung vorbelegt. Die in diesem Kapitel beschriebenen Grundsätze und
Möglichkeiten der Hintergrundverarbeitung bleiben jedoch erhalten
und können auf diese Spezialfälle übertragen werden.
Die Definition von Hintergrundjobs setzt sich aus drei wesentlichen
Aspekten zusammen:
왘 allgemeine Angaben wie Jobname, Jobklasse und Zielrechner
왘 Angaben zum Startzeitpunkt beziehungsweise zur Zuordnung
eines auslösenden Ereignisses
왘 Auflistung der Verarbeitungsschritte
71
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Allgemeine
Angaben
Den Ausgangspunkt für die Definition eines Hintergrundjobs bilden
die allgemeinen Angaben (siehe Abbildung 2.2). Der Jobname sollte
möglichst aussagekräftig sein. wählen; denn alle Protokolle und
Übersichten, die später ausgewertet werden müssen, basieren auf
diesem Jobnamen. Aus technischer Sicht ist der Name unerheblich;
er braucht auch nicht eindeutig zu sein.
Jobklasse
Die Priorität bei der Ausführung eines Jobs wird zunächst über die
Zuordnung des Jobs zu einer Jobklasse gesteuert. Man unterscheidet
die Jobklassen:
왘 A höchste Priorität
Jobs, die die Funktionstüchtigkeit des SAP NetWeaver-Systems
gewährleisten und zeitkritisch sind.
왘 B mittlere Priorität
periodische Jobs, die die Funktionstüchtigkeit des SAP Netweaver-Systems gewährleisten.
왘 C normale Priorität
die für SAP-Anwender übliche Jobklasse.
Die Vergabe der Systemressourcen erfolgt anhand dieser Jobklassen.
Stehen häufig sehr viele Jobs der Klasse C zur Verarbeitung an,
sodass auch Jobs der Klassen A und B auf die Freigabe von Background-Prozessen warten müssen, kann der Systemadministrator für
die Verarbeitung von Jobs der Klasse A mittels der Betriebsartenpflege (RZ04) eine Anzahl n an Background-Prozessen freihalten.
Durch diese Konfiguration wird sichergestellt, dass stets n Background-Prozesse zur Ausführung von Jobs der Klasse A bereitstehen.
Jobs der Klassen B und C müssen mit der Abarbeitung warten, bis
mindestens n+1 Prozesse verfügbar sind. Die Konfiguration wird in
Abschnitt 7.1, »Profilpflege«, im Rahmen der Betriebsartenpflege
beschrieben.
Zielserver
In einem verteilten SAP-System können Sie die Ausführung eines
Jobs einer beliebigen SAP-Instanz mit Background-Service zuweisen.
Diese Instanz wird im Kontext der Hintergrundverarbeitung als Zielserver bezeichnet. Verzichtet man auf die explizite Angabe eines Zielservers, so wird zum Ausführungszeitpunkt der erste verfügbare
Background-Prozess ausgewählt.
Die Prioritäten in der Abarbeitung des Auftrags auf einem definierten Hintergrundserver sind wie folgt:
72
Hintergrundverarbeitung
1. Jobklasse A, Zielserver angegeben
2. Jobklasse A, kein Zielserver angegeben
3. Jobklasse B, Zielserver angegeben
4. Jobklasse B, kein Zielserver angegeben
5. Jobklasse C, Zielserver angegeben
6. Jobklasse C, kein Zielserver angegeben
Sind die anstehenden Jobs nach den oben stehenden Kriterien
gleichberechtigt, so wird die Wartezeit herangezogen.
Wird ein Zielserver definiert, so ist diese Angabe bindend. Ist er
nicht verfügbar, wenn der Job gestartet werden soll, so übernimmt
kein Hintergrund-Workprozess einer anderen Instanz die Abarbeitung. Der Job bleibt in der Queue stehen, bis der definierte Zielserver wieder die Arbeit aufnimmt oder die Verarbeitung explizit auf
einen anderen Server umgezogen wird.
Die von einem ABAP-Programm generierte Ausgabe wird im SAPSpool-System als Spool-Auftrag abgelegt. Mithilfe von Spool-ListenEmpfängern kann die Ausgabe einem Benutzer zugeschickt werden. Auf diese Weise können zum Beispiel Administration und
Ergebnisauswertung eines Hintergrundjobs von verschiedenen Personen wahrgenommen werden. Da die Ausgabe recht umfangreich
sein kann, sollten Sie bei der Verwendung dieser Option vorsichtig
vorgehen. Aus Performancegründen ist zum Beispiel die Länge
einer über SAPoffice versendeten Ausgabeliste auf 1000 Zeilen
beschränkt. In der Step-Definition werden Angaben zu den Druckparametern selbst gemacht.
In einem weiteren Schritt müssen die Parameter gewählt werden, die
den Startzeitpunkt bestimmen. Hierzu wählen Sie den Button Starttermin aus dem Eingangsbildschirm zur Jobdefinition. Der Starttermin kann durch eine Zeitangabe festgelegt oder ereignisgesteuert
definiert werden (siehe Abbildung 2.3).
Die Zeitangabe und die verwendete Zeitzone basieren auf der Systemzeit. Die zeitgesteuerte Einplanung von Jobs bietet neben der
direkten Angabe des Startzeitpunkts auch die Möglichkeit der periodischen Einplanung, wie sie zum Beispiel bei regelmäßigen Auswertungen oder den weiter unten beschriebenen Pflegejobs nützlich
sein kann. Dabei können die Zeitabstände beliebig gewählt werden:
73
Startzeitpunkt
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
im Minutenrhythmus, stündlich, täglich, wöchentlich usw. Über die
Funktion Einschränkungen können Abweichungen von der üblichen
Periode definiert werden, was zum Beispiel für die Berücksichtigung
von Feiertagen hinsichtlich des gültigen Fabrikkalenders günstig ist.
Für zeitsensitive Jobs besteht die Möglichkeit, einen Zeitpunkt zu
definieren, nach dessen Verstreichen sie keinesfalls mehr gestartet
werden sollen.
Abbildung 2.3 Starttermin festlegen
Startereignis
Sie können anstatt einer zeitlichen Steuerung auch ein definiertes
Ereignis als Trigger festlegen. Insbesondere sind auch der Betriebsartenwechsel und das Jobende als Events definiert, sodass ein Hintergrundjob auch als Folgejob gestartet werden kann. Mit der Option
Start statusabhängig können Sie den Start des Jobs von der erfolgreichen Beendigung des Vorgängerjobs abhängig machen. Bricht der
Vorgängerjob ab, so wird der abhängige Nachfolgejob auch in den
Status abgebrochen versetzt und nicht ausgeführt.
Können Jobs mit Starttermin Nach Job, Nach Ereignis oder Bei
Betriebsart nicht gestartet werden, weil bei Eintritt des erwarteten
74
Hintergrundverarbeitung
2.2
Events keine Hintergrund-Workprozesse frei sind, so werden sie für
den Start zum nächstmöglichen Zeitpunkt vorgemerkt und dann
ebenfalls über den zeitgesteuerten Job-Scheduler gestartet (siehe
Abbildung 2.4).
Abbildung 2.4 Verarbeitungsschritt definieren
Wie bereits erwähnt, können alle dialogfreien ABAP-Programme
auch im Hintergrund ausgeführt werden. Hierzu wählen Sie die
Funktion ABAP-Programm aus. Geben Sie den Namen des auszuführenden ABAP-Programms ein und geben Sie gegebenenfalls eine
Sprache an, in der ein eventuell entstehendes Protokoll erzeugt werden soll. Viele ABAP-Programme werden über Variablen gesteuert,
wie zum Beispiel das Programm RSPARAM. Dieses Programm erzeugt
eine Liste aller eingestellten Instanzparameter. Der Namensraum der
anzuzeigenden Instanzparameter kann vor der Ausführung vom
75
ABAP-Programm
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Benutzer eingeschränkt werden. Um derartige Programme im Hintergrund ausführen zu können, müssen sogenannte Varianten eines
Programms angelegt werden. Dahinter verbirgt sich eine feste Belegung für die Variablen eines Programms, die unter einem Variantennamen gesichert wird. Die Definition einer Variante erfolgt im ABAP
Editor (SE38) mittels Springen 폷 Varianten. Hier geben Sie einen
Variantennamen und die gewünschten Parameterwerte ein. Eine so
definierte Variante eines ABAP-Programms können Sie dann für die
Hintergrundausführung einplanen.
Abbildung 2.4 zeigt die Einplanung des ABAP-Programms RSPARAM,
für das zuvor eine Variante »TEST« zur Erzeugung einer Liste aller
aktuell definierten Instanzparameter angelegt wurde. Die Liste soll in
deutscher Sprache erzeugt werden. Die Druckausgabe dieser Liste
kann über die Funktion Druckangaben beeinflusst werden.
Externe
Programme
SAP-Benutzer mit Administratorberechtigung können über die Auswahl Externes Programm beliebige Programme auf Betriebssystemebene aus dem SAP-System heraus ausführen. Die Übergabe von
Parametern ist möglich; der Name des Zielrechners muss angegeben
werden. Für die Ausführung des Programms wird auf dem Zielrechner die Routine SAPXPG gestartet, mit der dann das aufrufende SAPSystem über die Kennung des speziellen SAP-Nutzers SAPCPIC per
RFC kommuniziert.
Externe
Kommandos
Um den SAP-internen Berechtigungsmechanismus auszunutzen, aber
trotzdem in eingeschränktem Maße externe Programme verwenden
zu können, sind externe Kommandos erweiterbar vorkonfiguriert. Ein
externes Kommando besteht aus einem logischen Namen und einem
zugeordneten externen Programm mit einer möglichen Parameterbelegung, die in Abhängigkeit vom gewählten Betriebssystem durchaus
variieren kann. Vor der Verwendung externer Kommandos in der Hintergrundverarbeitung müssen diese mittels Anlegen externer Betriebssystemkommandos (SM49) definiert werden.
Bei der Definition eines Arbeitsschritts innerhalb eines Hintergrundjobs wird das auszuführende externe Kommando über den Namen
und das betreffende Betriebssystem, zum Beispiel UNIX, bestimmt.
Darüber hinaus kann dem Benutzer erlaubt werden, weitere Parameter zu den vordefinierten zu ergänzen. Der Zielrechner muss, wie bei
externen Programmen, immer angegeben werden.
76
Hintergrundverarbeitung
Werden externe Kommandos oder externe Programme in der StepListe eines Hintergrundjobs verwendet, so können Sie zur besseren
Integration mittels der Option Steuerflags in der Step-Definition
festlegen, ob die Ausgaben und Fehlermeldungen des Betriebssystem-Programms in das Job-Log des Steps aufgenommen werden sollen und ob eine synchrone oder asynchrone Ausführung gewünscht
ist.
Wurden die allgemeinen Angaben, der Startzeitpunkt und die einzelnen Arbeitsschritte des Hintergrundjobs erfasst, so ist die Definition
des Hintergrundjobs komplett. Die getätigten Angaben müssen
abschließend gesichert werden.
Alle beschriebenen Einträge können auch schrittweise über den Job
Wizard abgefragt werden. Der Job Wizard lässt sich direkt aus der
Jobdefinition (SM36) aufrufen.
Job Wizard
Für die Einplanung von Hintergrundjobs stellt SAP neben der eben
beschriebenen menügeführten Methode auch eine Schnittstelle
(Application Programming Interface, API) zur Verfügung, die den
anwenderspezifischen Einsatz in eigenen ABAP-Programmen erlaubt.
API
2.2.3
Auswertung
Die Auswertung und Beobachtung der Hintergrundjobs erfolgt über
die Einfache Jobauswahl (SM37) oder die Erweiterte Jobauswahl
(SM37C). Die Jobs können nach verschiedenen Kriterien, wie einplanender Benutzer, Zeitraum, Jobperiode oder Ereignis sowie nach
Status gefiltert werden. Die Selektionskritierien werden über das
Berechtigungskonzept eingeschränkt. Besitzen Sie die Administratorberechtigung für die Hintergrundverarbeitung, so können Sie in der
erweiterten Jobauswahl die Jobs aller Mandanten anzeigen lassen,
ansonsten nur die des Anmeldemandanten.
Aufgrund der vorgenommenen Auswahl wird eine Liste aller Hintergrundjobs erzeugt.
Der Status eines Jobs hat folgende Bedeutung:
Status
왘 geplant
Die Step-Definitionen des Jobs sind gesichert; ein Startzeitpunkt
ist noch nicht definiert.
77
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
왘 freigegeben
Der Job ist geplant und ein Startzeitpunkt ist explizit gesetzt, oder
der Job wartet auf ein Ereignis.
왘 bereit
Die Startzeit wurde erreicht, oder das erwartete Ereignis ist eingetreten; der Job wartet auf Systemressourcen zur Ausführung.
왘 aktiv
Der Job wird gerade bearbeitet.
왘 fertig
Der Job wurde erfolgreich zum Abschluss gebracht.
왘 abgebrochen
Aufgrund eines Problems musste die Verarbeitung abgebrochen
werden. Der Job konnte nicht erfolgreich zu Ende geführt werden.
Durch Doppelklick auf einen ausgewählten Job wird das Jobprotokoll der Ausführung angezeigt. Neben dem Start- und dem Endzeitpunkt sind gerade bei Abbrüchen wertvolle Informationen über
deren Ursachen enthalten.
In der Jobübersicht sind alle wesentlichen Operationen, die sich auf
Hintergrundjobs beziehen, integriert. Hierzu gehören:
왘 Anzeige der Einplanungsdaten
왘 Abbrechen von Jobs im Status aktiv
왘 Löschen von Jobs im Status geplant, freigegeben, fertig oder abgebrochen
왘 Zurücknahme der Freigabe von einem oder mehreren Jobs; der
Jobstatus ändert sich auf geplant.
왘 Vergleich mehrerer Jobs. Angegeben werden die allgemeinen
Jobinformationen, die Step-Definition und die Startbedingungen.
왘 Umzug auf einen anderen Server
왘 Einfangen eines aktiven Jobs bei vermuteten Problemen (Langläufer). Ein Job, der gerade ein ABAP-Programm ausführt, kann auf
diese Weise angehalten und mit dem ABAP Debugger analysiert
werden. Nach Verlassen des Debuggers läuft das Programm weiter.
왘 Status aktiver Jobs prüfen.
왘 Kopieren von geplanten, freigegebenen oder fertigen Jobs; der
neue Job bekommt den Status geplant.
78
Hintergrundverarbeitung
Neben dieser listenartigen Übersicht können Sie auch eine grafische
Darstellung verwenden, die neben Anzeigefunktionen auch das
Ändern und Freigeben von Jobs sowie das Prüfen aktiver Jobs
ermöglicht. Der grafische Monitor ist über den Pfad Jobmonitor
(RZ01) erreichbar (siehe Abbildung 2.5). Die Status der Jobs werden
zur besseren Übersicht farbig dargestellt.
Abbildung 2.5 Jobmonitor
Über die Auswahl Eigene Jobs (SMX) oder Jobdefinition (SM36) 폷
Eigene Jobs können Sie sich außerdem einen Überblick über die
eigenen Hintergrundjobs verschaffen.
2.2.4
Analysefunktionen
Da Probleme eines Benutzers in der Hintergrundverarbeitung im
Gegensatz zur Dialogarbeit dem Benutzer selbst oft nicht sofort auffallen, sind innerhalb des CCMS weitere Analysefunktionen verfügbar.
Informationen über die geplante und tatsächliche Startzeit sowie
über die Laufzeit eines Hintergrundjobs sind in die Einfache Jobauswahl (SM37) integriert. Größere Abweichungen zwischen geplantem
und tatsächlichem Startzeitpunkt lassen auf einen Engpass bei den
zur Verfügung stehenden Background-Prozessen schließen; denn das
bedeutet, dass nach der Jobfreigabe ein langer Zeitraum verstrich,
bevor ein Background-Prozess für die Verarbeitung zur Verfügung
gestellt werden konnte. Lassen sich Performance-Engpässe bei der
Ausführung der eingeplanten Hintergrundjobs ausschließen, so
sollte der Administrator in diesem Fall die Ressourcen prüfen und
79
Laufzeitanalyse
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
gegebenenfalls die Anzahl der Background-Prozesse erhöhen (Parameter rdisp/wp_no_btc in den Instanzprofilen beziehungsweise
über die Profilpflege, siehe Abschnitt 7.1, »Profilpflege«).
Zombies
Beim Starten eines SAP-Systems wird geprüft, ob noch Jobs mit dem
in dieser Situation nicht möglichen Status bereit oder aktiv gefunden
werden. Sie werden dann auf den Status geplant oder abgebrochen
gesetzt. Zu einem solchen Zombie kann es kommen, wenn ein Applikationsserver heruntergefahren wird, bevor der Job beendet und der
Status in der Datenbank umgesetzt werden konnte.
Statusüberprüfung
Um zu überprüfen, ob der angezeigte Jobstatus mit dem tatsächlichen Status übereinstimmt oder eine Inkonsistenz vorliegt, können
Sie in der Einfachen Jobauswahl (SM37) die kritischen Jobs markieren und über Job 폷 Status prüfen eine mögliche Diskrepanz feststellen. Der Status der Jobs kann, wenn notwendig, auf geplant zurückgesetzt oder die Jobs selbst können abgebrochen werden.
Alerts der Hintergrundverarbeitung
Einige Parameter aus der Hintergrundverarbeitung wurden in die
CCMS-Monitoring-Architektur integriert. Der Monitor Background
Processing gibt Auskunft über die durchschnittliche Auslastung der
Background-Workprozesse, über die serverspezifische und gemittelte Länge der Warteschlange startbereiter Jobs, die mangels Hintergrundserver nicht bearbeitet werden können, sowie über die Anzahl
abgebrochener Jobs (siehe Abbildung 2.6).
Abbildung 2.6 Alert-Monitoring im CCMS
80
Hintergrundverarbeitung
Die korrekte Funktionsweise der Controller in der Hintergrundverarbeitung kann über den Hintergrund-Steuerungsobjekt-Monitor
(SM61) überwacht werden. Wichtige Komponenten der Hintergrundverarbeitung, wie zeit- und ereignisgesteuerter Job-Scheduler,
Zombie-Cleanup, Start der externen Programme sowie das Umschalten der Betriebsarten können hier überprüft und über zusätzliche
Trace-Ausgaben analysiert werden.
Steuerungsobjektliste
Abbildung 2.7 Steuerungsobjektmonitor
Eine umfassende Analyse aller Aspekte der Hintergrundverarbeitung
können Sie über die Analyse der Hintergrundverarbeitung (SM65)
durchführen. Insbesondere ist es im Rahmen dieses Tools möglich,
Inkonsistenzen in den Datenbanktabellen zur Jobsteuerung zu melden und zu beheben. In Abbildung 2.8 sehen Sie ein Beispiel für eine
Ausgabe dieses Tools.
81
Analysetool –
Hintergrundverarbeitung
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Abbildung 2.8 Analyseprotokoll
2.2.5
Berechtigungen
Welche Aktionen ein Benutzer im Bereich der Hintergrundverarbeitung ausführen darf, wird mithilfe von Berechtigungen geregelt.
Tabelle 2.1 gibt eine Übersicht über die wichtigsten Berechtigungen
in diesem Bereich. Ohne besondere Berechtigung dürfen alle Benutzer ihre eigenen Jobs einplanen, abbrechen, löschen und deren Status prüfen. Besondere Berechtigungen werden hingegen benötigt,
um
왘 einen Job zu manipulieren, der von einem anderen Benutzer eingeplant wurde,
왘 das Jobprotokoll anzuzeigen,
왘 einen von einem Hintergrundjob generierten Spool-Auftrag anzuzeigen,
왘 einen Job zur Ausführung freizugeben und
왘 ein externes Kommando zu benutzen.
Im Gegensatz zu einer Dialogverarbeitung werden im Hintergrundbetrieb keine Passwörter überprüft. Die beteiligten SAP-Benutzer
82
Hintergrundverarbeitung
müssen im aktuellen Mandanten lediglich angelegt und nicht gesperrt sein.
Berechtigung
Bedeutung
S_BTCH_ADM
Batch-Administration
S_BTCH_JOB
Operationen mit Hintergrundjobs mandantenabhängig
mögliche Werte:
DELE – Löschen von Jobs anderer Benutzer
LIST – Anzeige von Spool-Listen anderer Benutzer
PROT – Protokollanzeige anderer Benutzer
RELE – Eigene Jobs einplanen und zur Ausführung freigeben
SHOW – Anzeige von Jobdetails anderer Benutzer
Mithilfe des Feldes »Jobgruppe« kann die Berechtigung auf
ausgewählte Jobnamen begrenzt werden.
S_BTCH_NAM
Verwendung eines expliziten Hintergrundbenutzers
S_DEVELOP
Einfangen von Jobs
S_LOG_COM
Ausführen externer Kommandos
benötigte Parameter:
COMMAND – Name des logischen Kommandos
OPSYSTEM – Betriebssystem
HOST – Name des Zielsystems
S_RZL_ADM
CCMS-Systemadministration
S_ADMI_FCD
Systemberechtigung für Sonderfunktionen
Tabelle 2.1 Berechtigungen für die Hintergrundverarbeitung
2.2.6
Pflegejobs
Es ist die Aufgabe des Systemadministrators, zum Erhalt der Funktionstüchtigkeit seines SAP-Systems bestimmte Jobs in regelmäßigen
Abständen ausführen zu lassen. Pflegejobs dienen zum Beispiel dem
Löschen nicht mehr benötigter Tabellen oder dem Sammeln von statistischen Daten für die Performanceanalyse. Tabelle 2.2 gibt eine
Übersicht über die wichtigsten Programme. Je nach eingesetzten
Applikationen oder eigenen Anwendungen können weitere Jobs
erforderlich sein.
83
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Empfohlener
Jobname/Beschreibung
ABAP
Variante Zeitraum
SAP_COLLECTOR_FOR_
PERFMONITOR
RSCOLL00
nein
stündlich
RSBPCOLL
nein
täglich
RSBTCDEL
ja
täglich
RSBPSTDE
ja
monatlich
RSBDCREO
ja
täglich, allerdings zu Zeiten
ohne BatchInput-Aktivität
RSPO0041/
RSPO1041
ja
täglich
왘 Sammeln der allgemeinen Statistikdaten für die Performanceanalyse
des SAP-Systems
왘 mandantenübergreifend
왘 Einplanung in Mandant 000 als
DDIC
SAP_COLLECTOR_FOR_
JOBSTATISTIC
왘 Sammeln der Statistikdaten zur
Auswertung der durchschnittlichen
Laufzeit periodisch ausgeführter
Jobs
왘 mandantenübergreifend
SAP_REORG_JOBS
왘 Löschen aller Protokolle erfolgreich ausgeführter Jobs. Systemadministrator kann über Varianten
definieren, nach wie vielen Tagen
ein Protokoll gelöscht werden soll.
왘 mandantenübergreifend
SAP_REORG_JOBSTATISTIC
왘 Bereinigung der Laufzeitstatistiken
der Hintergrundjobs;
왘 es werden alle Objekte gelöscht,
die älter als das angegebene Datum
sind.
왘 mandantenübergreifend
SAP_REORG_BATCHINPUT
왘 Löschen abgespielter Batch-InputMappen und ihrer Protokolle sowie
von Protokollen, zu denen keine
Mappen mehr existieren
왘 mandantenabhängig
SAP_REORG_SPOOL
왘 Löschen veralteter Spool-Objekte
왘 mandantenabhängig
Tabelle 2.2 Wichtige Pflegejobs
84
Hintergrundverarbeitung
Empfohlener
Jobname/Beschreibung
ABAP
Variante Zeitraum
왘 kein Standardname
RSPO0043 /
RSPO1043
ja
täglich
RSSNAPDL
ja
täglich
nein
monatlich
nein
stündlich
왘 Löschen von Spool-Listen, die
Überbleibsel abgebrochener Hintergrundprogramme sind
왘 Konsistenzcheck der Spool-Tabellen
왘 mandantenübergreifend
SAP_REORG_ABAPDUMPS
왘 Löschen von Laufzeitfehlereinträgen (Kurz-Dumps)
왘 mandantenübergreifend
SAP_REORG_PRIPARAMS
RSBTCPRI왘 Reorganisation der Druckparameter DEL
왘 mandantenübergreifend
SAP_CCMS_MONI_BATCH_DP
왘 System-Monitoring
왘 mandantenabhängig
왘 kein Standardname
RSAL_
BATCH_
TOOL_
DISPATCHING
RDDIMPDP
ereignisgesteuert
SAPRSLOG
täglich
SAPRSEUT
täglich
왘 Umsetzung von Transportanforderungen
EU_PUT
왘 Verwaltungsjob zur Aktualisierung
von Objektlisten und Navigationsindizes
왘 mandantenübergreifend
EU_REORG
왘 Verwaltungsjob zur Aktualisierung
der Objektlisten nach einem Transport
왘 mandantenübergreifend
Tabelle 2.2 Wichtige Pflegejobs (Forts.)
Weitere Informationen zu den Eigenschaften und Parametern dieser
Jobs können Sie über die Dokumentation jedes einzelnen Programms in Erfahrung bringen. Nutzen Sie hierzu den ABAP Editor
(SE38). Geben Sie den Programmnamen ein und wählen Sie Dokumentation 폷 Anzeigen.
85
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Alle diese genannten Jobs können über Jobdefinition (SM36) 폷 Standardjobs einzeln oder automatisch mit Standardparametrisierung
eingeplant werden.
Neben den basisseitigen Pflegejobs können auch applikationsabhängige Reorganisationen die Systemperformance verbessern. Ein wichtiges Beispiel ist der Report SBAL_DELETE zum Löschen des Anwendungslogs.
2.2.7
SAP-BC-XBP
Externe Schnittstelle
Über die SAP-BC-XBP-Schnittstelle wird eine Möglichkeit bereitgestellt, SAP-Hintergrundjobs über externe Jobmanagement-Systeme
anzubinden. Die unterstützten Funktionen sind:
왘 Definition von Jobs
왘 Ändern, Bearbeiten und Löschen von Jobs
왘 Starten von Jobs
왘 Abbrechen aktiver Jobs
왘 Zugriff auf Jobinformationen (Status, Logdateien usw.)
Diese Schnittstelle wird zum Beispiel auch vom im folgenden
Abschnitt beschriebenen neuen Werkzeug SAP Central Process Scheduling by Redwood (SAP CPS) genutzt.
2.2.8
SAP Central Process Scheduling by Redwood
Mit SAP Central Process Scheduling by Redwood stellt SAP (mit SAP
NetWeaver 2004 SP 12) in Kooperation mit dem Softwarehersteller
Redwood ein externes Job-Scheduling-Tool zur Verfügung, das es
erlaubt, in einer komplexen Systemlandschaft Prozesse zeitgesteuert
auszuführen und zu überwachen: SAP Central Process Scheduling by
Redwood (CPS).
Damit reagierte SAP auf neue Anforderungen, von denen im Folgenden einige beispielhaft genannt sind:
왘 Mit Einsatz von SAP NetWeaver als Integrationsplattform wird ein
komponentenübergreifendes Werkzeug zur Prozessautomatisierung benötigt, das sowohl den AS ABAP als auch den AS Java
unterstützt.
86
Hintergrundverarbeitung
왘 Es existieren immer mehr Geschäftsprozesse, die zeit- oder eventgesteuert ablaufen.
왘 Das herkömmliche Werkzeug zur Planung von Hintergrundjobs
im SAP-Umfeld, Transaktion SM36 (Jobdefinition) stößt an seine
Grenzen (zum Beispiel Jobketten systemübergreifend zu definieren) und wird damit heutigen Anforderungen nicht mehr in vollem Umfang gerecht.
Das externe Werkzeug SAP Central Process Scheduling bietet hingegen etliche neue Funktionen und ermöglicht damit eine zentrale und
übergreifende Administration unternehmenskritischer Geschäftsprozesse in SAP- und Nicht-SAP-Umgebungen. Echtzeit- und eventgesteuerte Funktionen bilden dafür die Basis.
Das SAP CPS ist in zwei Versionen verfügbar: In der Basic Version
und in der Full Version.
Die Basic Version des SAP CPS ist für alle SAP-Kunden mit SAP NetWeaver-Lizenz ohne Extrakosten verfügbar. SAP CPS bietet den zentralen Administrationspunkt für die Definition, die Kontrolle und die
Überwachung von Jobs einer ABAP-Systemlandschaft.
Basic Version
Es können jedoch keine Prozesse von Third-Party-Applikationen,
keine Betriebssystemkommandos und keine Datenbankjobs damit
geplant und administriert werden.
Die Full Version kann separat lizenziert werden und bietet über die
genannten Funktionalitäten hinaus zusätzliche Optionen, zum Beispiel das Einplanen und Administrieren von Hintergrundjobs für
viele Non-SAP-Systeme, das Starten von Aktivitäten auf Betriebssystemebene, umfangreiche Möglichkeiten zur Lastverteilung von Hintergrundjobs, und vieles mehr.
Tabelle 2.3 zeigt den Funktionsumfang der Basic-Version und der
Full Version im Überblick.
Funktion
Basic Version
Full Version
Einplanung von ABAP-Programmen als Job
(auch in älteren SAP-Releases bis 3.1)
ja
ja
Einplanung eventgesteuerter Jobs innerhalb
von SAP-Systemen
ja
ja
Tabelle 2.3 Funktionsumfang der Versionen
87
Full Version
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Funktion
Basic Version
Full Version
Definition, Management und Kontrolle der
Jobs von einem zentralen Administrationsinterface
ja
ja
Kalendernutzung
ja
ja
Nutzung von Alarmen
ja
ja
Modellierung komplexer Jobs mit einem grafischen Benutzer-Interface
ja
ja
Generierung von Reports und Vorhersagen
ja
ja
Monitoring von Job-Logs und Spool-Listen von
einer zentralen Administrationskonsole
ja
ja
Nutzung vordefinierter Jobketten
ja
ja
Ausführung und Administration von Jobs in
Nicht-SAP-Systemen
nein
ja
Start von Aktivitäten auf Betriebssystemebene
nein
ja
Konfiguration mehrerer Prozessserver für Lastverteilung und Ausfallsicherheit
nein
ja
Erstellung, Planung und Ausführung von
Datenbankjobs, zum Beispiel Backups
nein
ja
Unterstützung von Adaptive-ComputingUmgebungen
nein
ja
Tabelle 2.3 Funktionsumfang der Versionen (Forts.)
SAP CPS wird derzeit als Stand-alone-Lösung angeboten (siehe Abbildung 2.9).
Stand-alone-Lösung bedeutet für die CPS-Architektur,
왘 dass das Kernstück, der Prozessserver separat installiert wird;
왘 dass der Prozessserver eine eigene Oracle-Datenbank zur Speicherung des Job-Repositorys benötigt; hierzu ist eine Oracle-Runtime-Lizenz notwendig;
왘 dass eine bestehende Oracle-Datenbank, zum Beispiel für ein SAP
NetWeaver-System als Datenbank für das Job-Repository genutzt
werden kann; es fallen in diesem Fall keine zusätzlichen OracleLizenzgebühren an;
왘 dass kein alternatives Datenbanksystem unterstützt wird;
88
Hintergrundverarbeitung
2.2
왘 dass der Prozessserver auf allen von SAP unterstützten Betriebssystemen installiert werden kann;
왘 dass der Redwood-Explorer als User-Interface eingesetzt wird; er
verbindet sich über HTTP oder OracleNet mit dem Prozessserver;
왘 dass der Prozessmanager für das Web aus Wartungsgründen in
einen SAP NetWeaver AS Java deployed werden sollte. Damit
kann sich der Redwood Explorer oder ein beliebiger Browser per
HTTP mit dem Prozessserver verbinden – allerdings mit eingeschränkter Funktionalität.
Browser
Redwood
Explorer
Non-SAP System
App
Process Server
OS
Event Driven
SAP System for
Central Monitoring
Basic
ABAP Systems
Process Manager
for Web
Oracle DB
SAP App
Job Repository
Abbildung 2.9 CPS-Architektur
Es ist bereits angedacht, die Architektur von SAP CPS dahingehend
zu ändern, dass es sich nicht mehr um eine Stand-alone-Lösung handelt, sondern dass das SAP CPS vollständig in SAP NetWeaver integriert wird (siehe Abbildung 2.10). Der Ramp-Up dieser Lösung ist
für Ende 2007 geplant.
In der integrierten Version des SAP CPS wandert das Job-Repository
aus der bisherigen Stand-alone-Oracle-Datenbank in die Datenbank
des SAP NetWeaver-Systems. Der größte Vorteil ist dabei, dass das
Job-Repository nun nicht mehr ausschließlich in einer Oracle-Daten-
89
Integrated Version
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
bank gespeichert werden muss. Es können alle von SAP NetWeaver
unterstützten Betriebssysteme und Datenbankkombinationen verwendet werden. Der Prozessserver wird als Service in einem SAP
NetWeaver AS Java deployed. Es wird kein eigenständiges UserInterface mehr geben, sondern es wird ein browserbasiertes, in den
AS Java integriertes UI zur Verfügung gestellt.
Web-based
UI
Non-SAP System
App
OS
SAP System for
Central Monitoring
Basic
SAP NW JAVA
Redwood
Process Server
JXBP
SAP App
CEN
Automation
ABAP Systems
XBP
Note: Scheduler also runs
on a single java stack !
SAP App
Abbildung 2.10 CPS-Architektur der Integrated Version
2.2.9
Tipps
왘 Jobdefinitionen mit Angabe eines Zielrechners
Werden oft Jobdefinitionen mit Angabe eines Zielservers verwendet, so muss darauf geachtet werden, bei Konfigurationsänderungen die Jobdefinitionen anzupassen. Dies gilt zum Beispiel bei:
왘 Umzug eines Applikationsservers auf andere Hardware (Änderung des Servernamens)
왘 Änderung der Aufteilung von Workprozessen bei einer
Betriebsartendefinition
왘 Löschen von nicht mehr aktuellen Jobs im Status geplant
Bei der Anzeige der aktuellen Job-Queue über Einfache Jobauswahl (SM37) ist standardmäßig das Auswahlfeld Jobstatus geplant
90
Hintergrundverarbeitung
nicht markiert, sodass dem Administrator nicht mehr benötigte
Jobs in diesem Status eventuell nicht auffallen. Häufig wird auch
vergessen, das Auswahlfeld oder nach Ereignis zu beachten,
sodass eventgetriggerte Jobs nicht angezeigt werden.
왘 Einplanung von Jobs unter einem nicht generischen User
Bei der Einplanung von periodischen Jobs, die über eine lange
Zeit laufen sollen, ist es sinnvoll, die einzelnen Steps generischen
Hintergrundbenutzern zuzuordnen. Sie vermeiden damit Probleme, die durch das Löschen von Benutzern entstehen, unter
deren Account Jobs eingeplant sind.
왘 Mindestanzahl von Prozessen
Es müssen für das Transportwesen mindestens zwei BackgroundWorkprozesse konfiguriert werden, auch wenn keine Hintergrundverarbeitung genutzt werden soll.
왘 Verschiebung der Startzeiten einzelner zeitgesteuerter Job-Scheduler
Werden mehrere Instanzen mit Hintergrund-Workprozessen
genutzt, so kann es sinnvoll sein, die Parameter rdisp/btctime in
den Instanzprofilen auf unterschiedliche Werte zu setzen, um eine
bessere Lastverteilung zu erzielen.
왘 Probleme bei selbst einplanenden periodischen Jobs mit limitierter Startzeit
Bei der Nutzung periodischer Jobs, die sich am Laufende selbst
wieder einplanen und einen Zeitpunkt definieren, nach dem sie
nicht mehr gestartet werden können, kann es bei längerem Systemstillstand dazu kommen, dass die Jobs nicht mehr gestartet
werden. Diese Jobs müssen manuell überwacht werden.
2.2.10 Transaktionen und Menüpfade
ABAP Editor: SAP-Menü 폷 Werkzeuge 폷 ABAP Workbench 폷 ABAP
Editor (SE38)
Analyse der Hintergrundverarbeitung: SAP-Menü 폷 Werkzeuge 폷
CCMS 폷 Jobs 폷 Umgebung prüfen (SM65)
Anlegen externer Betriebssystemkommandos: SAP-Menü 폷 Werk-
zeuge 폷 CCMS 폷 Konfiguration 폷 Externe Kommandos (SM69)
Betriebsartenpflege: SAP-Menü 폷 Werkzeuge 폷 CCMS 폷 Konfiguration
폷 Betriebsarten/Instanzen (RZ04)
91
2.2
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Eigene Jobs: System 폷 Eigene Jobs (SMX)
Einfache Jobauswahl: SAP-Menü 폷 Werkzeuge 폷 CCMS 폷 Jobs 폷 Pflege
(SM37)
Erweiterte Jobauswahl: SAP-Menü 폷 Werkzeuge 폷 CCMS 폷 Jobs 폷
Pflege 폷 Erweiterte Jobauswahl (SM37C)
Event auslösen: SAP-Menü 폷 Werkzeuge 폷 CCMS 폷 Jobs 폷 Event auslö-
sen (SM64)
Eventpflege: SAP-Menü 폷 Werkzeuge 폷 CCMS 폷 Jobs 폷 Event pflegen
(SM62)
Externe Betriebssystemkommandos: SAP-Menü 폷 Werkzeuge 폷
CCMS 폷 Jobs 폷 Externe Kommandos (SM49)
Hintergrund-Steuerungsobjekt-Monitor: SAP-Menü 폷 Werkzeuge 폷
CCMS 폷 Jobs 폷 Hintergrundobjekte (SM61)
Jobdefinition: SAP-Menü 폷 Werkzeuge 폷 CCMS 폷 Jobs 폷 Definition
(SM36)
Jobmonitor: SAP-Menü 폷 Werkzeuge 폷 CCMS 폷 Steuerung/Monitoring
폷 Jobeinplanungsmonitor (RZ01)
Performanceanalyse: SAP-Menü 폷 Werkzeuge 폷 CCMS 폷 Jobs 폷 Perfor-
manceanalyse (SM39)
2.2.11
Fragen
1. Mit welcher Transaktion können die Jobprotokolle ausgewertet
werden?
a. SE38
b. SM37
c. S000
2. Mit welchem externen Programm können Ereignisse im SAP-System ausgelöst werden?
a. sapevt
b. sapxpg
c. sapstart
d. spmon
92
Verbuchung
3. Was bedeutet der Status bereit für einen Hintergrundjob?
a. Die Einplanung des Jobs wurde vervollständigt und gesichert.
b. Der Job wurde ausgeführt und ist zum Drucken des Protokolls
bereit.
c. Der Job wartet auf Systemressourcen, damit die Ausführung
beginnen kann.
2.3
Verbuchung
Jede Änderung durch eine SAP-Transaktion erzeugt letztlich eine
schreibende Änderung auf der Datenbank. Mit dem Begriff Verbuchung ist im SAP-Umfeld die Durchführung von Änderungen in der
Datenbank gemeint. Sie wird nach der Erfassung oder Änderung der
Daten vom SAP-Verbuchungssystem meist asynchron durchgeführt.
Das SAP-Verbuchungssystem sorgt für die Konsistenz der Änderungen innerhalb einer SAP-LUW. Im Folgenden werden die Besonderheiten bei der Überwachung und Fehlerbehandlung der Verbuchung
erläutert.
Das Verbuchungssystem ist eine zentrale Komponente des SAP NetWeaver AS ABAP. Es ist allerdings nicht eigenständig, sondern
immer im Zusammenhang mit anderen Services des SAP-Systems,
wie Dialog, Hintergrund und insbesondere Enqueue, zu betrachten.
Die Verbuchung arbeitet mit diesen Services eng zusammen.
Ein betriebswirtschaftlicher Ablauf wird im SAP-System auf eine
SAP-LUW abgebildet, die aus mehreren Bildwechseln bestehen
kann. Diese Dialog- oder Hintergrundverarbeitung bewirkt eine
Datenänderung, die nur komplett, also mit allen Änderungen aus der
LUW, oder aber überhaupt nicht auf der Datenbank durchgeführt
werden darf. Das SAP-Verbuchungssystem sorgt also dafür, dass
Änderungen erst beim Abschluss der SAP-LUW auf die Datenbank
geschrieben werden und bei einem Abbruch der SAP-Transaktion
überhaupt keine Datenänderung durchgeführt wird. In den meisten
Fällen wird die Verbuchung am Ende einer LUW asynchron eingesetzt. Daraus ergibt sich eine deutlich verbesserte Performance für
den Dialoganwender, der seine Arbeit bereits in der nächsten LUW
fortsetzen kann, während das Verbuchungssystem noch die Änderung auf der Datenbank durchführt.
93
SAP-LUW
2.3
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Solange die Verbuchung nicht durchgeführt wurde, bleiben die zu
ändernden Objekte gesperrt; andere Benutzer können je nach Art
der Sperre nicht oder zumindest nicht ändernd auf diese Objekte
zugreifen. Probleme in der Verbuchung beeinträchtigen daher die
Funktionsfähigkeit des gesamten Systems, und die Problembeseitigung hat deshalb höchste Priorität. Die folgenden Abschnitte stellen
die grundlegenden Konzepte der Verbuchung vor und erläutern die
Handhabung der in SAP NetWeaver AS ABAP integrierten Werkzeuge zur Überwachung der Verbuchung.
2.3.1
Verbuchungssystem
Konzepte der Verbuchung
Ein spezielles Verbuchungssystem ist notwendig, um die SAP-LUW
auf Datenbanktransaktionen abbilden zu können. Logische SAPArbeitseinheiten werden in eigenständige SAP-LUWs umgesetzt, die
ihrerseits aus mehreren Datenbanktransaktionen bestehen können.
Dies ist nur mit einem eigenen Verbuchungssystem möglich, da
ansonsten jede SAP-LUW auf genau eine Datenbanktransaktion
abgebildet werden müsste. Mit diesem Verbuchungssystem können
Datenerfassung und Verbuchung getrennt verwaltet und Verbuchungsvorgänge gebündelt werden.
Erfasst beispielsweise ein Benutzer Daten, werden diese zunächst
vom Dialogprozess entgegengenommen. Die erforderlichen Änderungen in der Datenbank werden jedoch nicht vom Dialogprozess
selbst durchgeführt, sondern von speziell dafür vorgesehenen Verbuchungs-Workprozessen; die Änderungen werden also asynchron
vollzogen (siehe Abbildung 2.11).
Während der Bearbeitung der SAP-LUW im Dialog werden die
durchzuführenden Änderungen als Module, definiert durch Funktionsbausteine und zugehörige Daten, im Verbuchungsauftrag gespeichert. Zum Abschluss des Dialogteils einer SAP-Transaktion wird der
Verbuchungsauftrag abgeschlossen, der Verbuchungskopf (siehe
Abbildung 2.12) geschrieben und der Verbucher selbst aufgerufen,
der die Änderungen auf der Datenbank gemäß dem Verbuchungsauftrag durchführt. Die Sperreinträge aus der Dialog- oder Hintergrundverarbeitung werden dabei an den Verbucher vererbt, der die
Objekte erst nach erfolgter Verbuchung entsperrt.
94
Verbuchung
Abbildung 2.11 Asynchrone Verbuchung
Abbildung 2.12 Verbuchungsauftrag
Gegenüber der synchronen Datenänderung, also der sofortigen Veränderung durch den Dialogprozess selbst, ergibt sich für den Benutzer eine höhere Performance. Während der User in rascher Folge
Daten erfasst, ändert oder löscht, muss er nicht auf die Verbuchung
seiner Änderungen in der Datenbank warten. Dies wird asynchron
von den Verbuchungs-Workprozessen erledigt. Die Methode der
asynchronen Verbuchung wirkt sich insbesondere bei umfangeichen
95
2.3
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Datenänderungen im Dialog, etwa der Auftragserfassung, positiv auf
die Performance aus. Zudem erhöht das Konzept der asynchronen
Verbuchung die Skalierbarkeit von SAP NetWeaver AS ABAP. Der
Benutzer hat im Normalfall jedoch keinen Einfluss darauf, ob seine
Datenbankänderungen asynchron oder synchron durchgeführt werden. Dies hängt von der jeweiligen Realisierung im benutzten ABAPProgramm ab.
Verbuchungsauftrag
Die durchzuführenden Datenänderungen einer SAP-LUW werden in
einem Verbuchungsauftrag (auch Verbuchungssatz genannt) gespeichert. Der Verbuchungsauftrag besteht aus einem Verbuchungskopf
und einem oder mehreren V1-, V2- und Sammellauf-Modulen (siehe
Abbildung 2.12).
Verbuchungstabellen
Die Informationen zu den Verbuchungsaufträgen werden in den
sogenannten Verbuchungstabellen gespeichert:
왘 VBHDR
Verbuchungsköpfe
왘 VBMOD
Verbuchungsmodule
왘 VBDATA
Daten, die den Modulen übergeben werden
왘 VBERROR
Fehlerinformationen bei Verbuchungsabbruch
Für diese Tabellen dürfen, da sie sich permanent ändern, keine
Datenbankstatistiken erzeugt werden. Die Verarbeitung der Verbuchungstabellen ist darauf ausgelegt, dass diese Tabellen relativ klein
sind. Daher ist es aus Performancegründen wichtig, die Verbuchung
zu überwachen und abgebrochene Verbuchungen zu bereinigen.
Verbuchungsmodus und Verbuchungsmodule
Verbuchungsmodus
Aus Sicht der ABAP-Programmierung werden drei Verbuchungsarten unterschieden:
왘 lokale Verbuchung
왘 asynchrone Verbuchung
왘 synchrone Verbuchung
96
Verbuchung
2.3
Die Steuerung, welcher Modus verwendet wird, ist schon durch das
Programmkonstrukt festgelegt und kann vom Administrator oder
vom Anwender nicht beeinflusst werden.
Bei der lokalen Verbuchung wird die Änderung auf der Datenbank
direkt aus dem jeweiligen Workprozess unter Umgehung der bisher
beschriebenen Mechanismen durchgeführt. Diese Verbuchungen
sind in der Verbuchungsüberwachung nicht sichtbar und können
nicht administriert werden.
Lokale Verbuchung
Die asynchrone Verbuchung ist der am häufigsten verwendete Verbuchungsmodus und bietet für die Dialoganwendungen die bestmögliche Performance. Um die Funktionsfähigkeit des Systems zu
gewährleisten, muss das Verbuchungssystem mit den Verbuchungsaufträgen überwacht werden.
Asynchrone
Verbuchung
Die synchrone Verbuchung arbeitet mit den gleichen Mechanismen
wie die asynchrone Verbuchung. Nach der Übergabe des Verbuchungsauftrags an den Verbucher wartet das aufrufende Programm
jedoch, bis der Verbuchungs-Workprozess den Status der Verbuchung zurückliefert. Synchrone Verbuchungen werden in der Verbuchungsverwaltung in der Infospalte (siehe Tabelle 2.4) entsprechend
gekennzeichnet.
Synchrone
Verbuchung
Innerhalb einer Verbuchung unterscheidet man V1- und V2-Verbuchungsmodule. Daneben gibt es für häufig benutzte Funktionsbausteine Sammelläufe, die auch als V3-Verbuchung bezeichnet werden.
Die V1-Verbuchungen beinhalten die kritischen Änderungen mit
Steuerungsfunktion. Sie betreffen betriebswirtschaftliche Vorgänge,
beispielsweise Änderungen am Materialbestand. Änderungen dieser
Objekte müssen immer so schnell wie möglich erfolgen. V2-Verbuchungen dienen hingegen meist statistischen Zwecken und sind
daher untergeordnet. Deshalb ist es erforderlich, V1-Verbuchungen
mit höherer Priorität als V2-Verbuchungen zu handhaben.
V1- und
V2-Verbuchungen
Jedes Verbuchungsmodul entspricht einem Verbuchungsfunktionsbaustein. Die Zuordnung, ob es sich um eine V1-, V2-, oder V3-Verbuchung handelt, ist eine Eigenschaft des Funktionsbausteins und
kann vom Administrator nicht beeinflusst werden.
Auf Systemebene kann die Verarbeitung der V1- und V2-Module auf
separate Verbuchungs-Workprozesse der Klassen UPD und UPD2
verteilt werden. Die Anzahl der V1- und V2-Verbuchungsprozesse
wird über Profilparameter festgelegt. Sie können diese Aufteilung
97
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
der Workprozesse in der Prozessübersicht (SM50) überprüfen. Wurden für ein System keine UPD2-Workprozesse konfiguriert, so wird
die V2-Verbuchung im UPD-Workprozess durchgeführt.
V2-Verbuchungen können erst nach V1-Verbuchungen ausgeführt
werden. Bei der Verarbeitung einer V1-Komponente wird automatisch versucht, auch die V2-Komponenten aus diesem Verbuchungsauftrag abzuarbeiten.
SammellaufModule
Bei den Sammellauf-Modulen (V3) wird die Verbuchung nicht in
einem Verbuchungsprozess durchgeführt, sondern asynchron durch
einen Batch-Job (Report RSM13005). Hierbei werden alle gesammelten Aufrufe des Funktionsbausteins zunächst verdichtet: Wird der
gleiche Eintrag mehrfach geändert, so wird zunächst der resultierende Wert errechnet und nur dieser einmalig in die Datenbank
geschrieben. Die Verwaltung und Behandlung der Funktionsbausteine ist ansonsten identisch zu den V2-Verbuchungsmodulen; insbesondere bedeutet dies, dass die Verbuchungsaufträge bis zur Abarbeitung durch den Sammellauf in den Verbuchungstabellen stehen
bleiben.
Ob V3-Module für einen Sammellauf verwendet werden, wird entweder schon durch die ABAP-Programmierung oder durch das Customizing der Anwendung vorgegeben (ein Beispiel ist die DeltaExtraktion in der Logistik über die Transaktion LBWE). Falls von der
Anwendung die Verwendung von V3-Modulen vorgegeben wird, ist
der SAP-Administrator für die Einplanung und das Monitoring eines
regelmäßigen Sammellaufs verantwortlich.
Aus Sicht des Systemadministrators ist es von untergeordneter
Bedeutung, welche Vorgänge ein Benutzer abwickelt, welche Transaktionen also Verbuchungssätze erzeugen. Umgekehrt ist es für den
Benutzer unwichtig, wie ein Verbuchungsvorgang innerhalb des
SAP-Systems ausgeführt wird. Für ihn zählen Durchsatz und Ergebnis. Die Aufgabe des Systemadministrators ist es, genau dies sicherzustellen. Die folgenden Abschnitte erläutern die dazu verfügbaren
Werkzeuge und Methoden.
2.3.2
Konfiguration des Verbuchungssystems
Standardmäßig werden die Verbuchungsaufträge vom SAP-System
gleichmäßig auf alle Verbuchungs-Workprozesse verteilt; es findet
ein sogenanntes Verbuchungs-Dispatching mit Lastausgleich statt.
98
Verbuchung
Die Anzahl der V1- und V2-Verbuchungsprozesse wird dabei durch
die Parameter rdisp/wp_no_vb und rdisp/wp_no_vb2 im Instanzprofil festgelegt. Ausschlaggebend für die Anzahl und Aufteilung der
Verbuchungsprozesse ist die Anzahl der zu verarbeitenden Verbuchungssätze. Die Obergrenze wird dabei durch die Leistungsfähigkeit der Hardware und somit der dem SAP-System zur Verfügung stehenden Ressourcen gesetzt. Daraus ergibt sich die Notwendigkeit,
die Arbeit der Verbuchungsprozesse zu beobachten. Als Richtwert
für die initialen Einstellungen setzt man etwa einen VerbuchungsWorkprozess (UPD) für je vier Dialogprozesse an. Da die V2-Verbuchung nicht zeitkritisch ist, reicht normalerweise ein UPD2-Workprozess pro System.
Parameter zur Konfiguration des Verbuchungssystems
왘 rdisp/wp_no_vb: Anzahl der UPD-Workprozesse
왘 rdisp/wp_no_vb2: Anzahl der UPD2-Workprozesse
In seltenen Fällen kann es sinnvoll sein, das automatische Dispatching, also die automatische Verteilung der anstehenden Verbuchungsaufträge auf die zur Verfügung stehenden Verbuchungsprozesse, zu deaktivieren und stattdessen ein Multiplexing über manuell
zu konfigurierende Servergruppen durchzuführen (etwa bei Installationen mit mehreren Datenbankinstanzen). Dies ist jedoch ein Spezialfall, auf den hier nicht näher eingegangen werden kann.
Einen guten Überblick über die Profilparameter zur Steuerung des
Verbuchers sowie eine Kurzbeschreibung zu jedem Parameter erhalten Sie über die Verbucheradministration (SM13). Einige der wichtigsten Konfigurationsparameter werden im Folgenden näher erläutert:
Konfigurationsparameter für die Verbuchung
왘 rdisp/vbmail
Das SAP-System kann so konfiguriert werden, dass dem Benutzer, bei
dessen Verbuchungsauftrag es zu einem Fehler kam, automatisch eine
Nachricht gesendet wird. Dies wird durch die Einstellung
rdisp/vbmail = 1 erreicht. Der Wert 0 deaktiviert hingegen das Versenden von Nachrichten an den Benutzer im Fall eines Verbuchungsabbruchs. Standardmäßig wird dieser Parameter bei der Installation mit 1
belegt.
99
Multiplexing
2.3
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Konfigurationsparameter für die Verbuchung
왘 rdisp/vbdelete
Dieser Parameter gibt einen Zeitraum in Tagen an, nach dessen Ablauf
nicht beendete Verbuchungsaufträge beim Restart des SAP-Systems
oder einer Instanz gelöscht werden. Bei der Auslieferung des SAP-Systems ist der Parameter standardmäßig auf 50 Tage eingestellt. Ob ein
automatisches Löschen von Verbuchungsaufträgen erlaubt ist, hängt
vom betriebswirtschaftlichen Umfeld ab und muss möglicherweise
auch mit den Betriebsprüfern abgestimmt werden. Weisen Sie dem
Parameter den Wert 0 zu, wenn nicht beendete Verbuchungssätze nie
gelöscht werden sollen.
왘 rdisp/vbreorg
Dieser Parameter steuert, ob unvollständige Verbuchungsaufträge
beim Restart des SAP-Systems oder einer Instanz gelöscht werden sollen. Der Wert 0 unterdrückt diese Reorganisation; der Wert 1 aktiviert
sie. Unvollständige Verbuchungsaufträge können andernfalls auch mithilfe der Verbucheradministration (SM14), der Administration der Verbucheraufträge (SM13) oder des Reports RSM13002 gelöscht werden.
Die Ursache für unvollständige Verbuchungsaufträge sind vom Benutzer explizit ausgelöste Abbrüche (Roll-backs), bei denen zuvor jedoch
ein Teil des Verbuchungsauftrags von der Datenbank geschrieben
wurde.
왘 rdisp/vb_stop_active
Dieser Parameter legt fest, ob die Verbuchung deaktiviert werden
kann. Die Verbuchung kann beim Wert 1 entweder manuell deaktiviert
werden oder wird bei schwerwiegenden Datenbankproblemen automatisch deaktiviert. Beim Wert 0 kann die Verbuchung nicht deaktiviert werden.
2.3.3
Überwachung und Fehleranalyse der Verbuchung
Der Ausfall der Verbuchung hat bereits nach kurzer Zeit den Stillstand des gesamten Systems zur Folge, da die zu ändernden Objekte
gesperrt bleiben und die Verbuchungstabellen permanent wachsen.
Im Normalfall sind für die Verbuchung eines SAP-Systems keine
regelmäßigen Pflegemaßnahmen notwendig. Treten jedoch beispielsweise datenbankbedingte Probleme auf, so müssen diese Ausnahmesituationen so schnell wie möglich bereinigt werden.
Fehlerursachen
Mögliche Ursachen für fehlerhafte Verbuchungen oder sogar einen
Ausfall des gesamten Verbuchungssystems sind Datenbankprobleme
oder Sperrkonflikte in der Anwendung.
100
Verbuchung
Man unterscheidet grundsätzlich zwei Problemkreise:
왘 Systemweite Schwierigkeiten, die durch Datenbankprobleme hervorgerufen werden können, führen häufig zur Deaktivierung der
Verbuchung. Denkbar wäre beispielsweise das Erreichen der
maximalen Größe einer Tabelle in einem Oracle-System. Daher
sollte bei angehaltener Verbuchung zunächst über das Systemlog
von SAP (siehe Kapitel 15) und die Protokolldateien der Datenbank nach generellen Systemproblemen gesucht werden. Nachdem das Problem behoben wurde, muss die Verbuchung manuell
wieder gestartet werden.
왘 Die zweite Klasse von Verbuchungsproblemen ist eher isolierter,
lokaler Natur. Häufig liegt die Ursache für diese Problemart in Programmierfehlern in kundeneigenen Objekten, zu deren Behebung
sowohl der Entwickler als auch die Fachabteilung herangezogen
werden müssen. Sie müssen gemeinsam entscheiden, wie mit den
abgebrochenen Verbuchungssätzen verfahren werden soll. In der
Übersicht über die Verbuchungssätze (SM13) können Sie über das
Menü Verbuchungssätze einzelne oder alle Sätze löschen, nachbuchen, buchen oder zurücksetzen. Nachbuchen ist die Fortsetzung der Verbuchung; buchen bedeutet hingegen, dass sich der
Verbuchungssatz noch im initialen Stadium befindet (Status init).
Führen Nachverbuchung oder Neuverbuchung nicht zum Erfolg,
so müssen die betreffenden Sätze gelöscht oder zurückgesetzt und
neu verarbeitet werden.
Monitoring der Verbuchung
Sowohl für das allgemeine Monitoring der Verbuchung als auch für
die detaillierte Fehleranalyse wählen Sie als Einstieg entweder die
Administration der Verbuchungsaufträge (SM13) (siehe Abbildung
2.13) oder die Verbucheradministration (SM14) (siehe Abbildung
2.14).
Die wichtigste Information ist der aktuelle Zustand der Verbuchung.
In extremen Fehlersituationen wird die Verbuchung automatisch
deaktiviert. Jeder Benutzer, der Daten verbuchen möchte, erhält
dann in der Statusleiste die Information, dass die Verbuchung angehalten wurde und wird zum Warten aufgefordert. Der aktuelle
Modus bleibt bis zum Wiederanlauf der Verbuchung blockiert.
101
2.3
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
Abbildung 2.13 Verbuchungsaufträge (SM13)
Abbildung 2.14 Verbucheradministration (SM14)
Treten systemweite Fehler auf, kann die Verbuchung auch manuell
in der Verbucheradministration (SM14) deaktiviert und nach Behe-
102
Verbuchung
2.3
bung der Probleme wieder angestoßen werden. Verbuchungsabbrüche und Probleme bei der Verbuchung werden im Systemlog von
SAP vermerkt.
Um einen Überblick über die aktuelle Situation zu bekommen, sollten Sie sich zunächst alle Verbuchungsaufträge anzeigen lassen. Beim
Einstieg über die Verwaltung der Verbuchungssätze (SM13) sollten
Sie darauf achten, alle Verbuchungssätze aller Benutzer aus der Vergangenheit in allen Mandanten zu selektieren.
Die vom Dialog- oder Batch-Prozess an die Verbuchung vererbten
SAP-Sperren bleiben so lange bestehen, bis die V1-Verbuchung für
die betreffenden Objekte durchgeführt wurde. Versucht ein Anwender, ein Objekt, das gesperrt ist, weil es noch auf die Verbuchung
wartet, erneut zu bearbeiten, so erhält er eine Fehlermeldung. Die
Anzahl der Verbuchungsprozesse muss so gewählt werden, dass derartige Fehlermeldungen möglichst selten auftreten. Als Richtwert
sollte die Wartezeit auf einen Verbuchungs-Workprozess fünf Minuten nicht überschreiten.
Sperren
Fehleranalyse bei abgebrochenen Verbuchungen
Besonders kritisch sind abgebrochene Verbuchungen. Die erforderlichen Vorgänge zur Verbuchung eines Datensatzes konnten bei abgebrochenen Verbuchungen nicht erfolgreich durchgeführt werden;
die Veränderungen in der Datenbank wurden also nicht vollzogen.
Für die Analyse abgebrochener Verbuchungen können Sie, ausgehend
vom Einstiegsbildschirm der Verbucheradministration (SM14), die
Verbuchungsvorgänge nach verschiedensten Bedingungen selektieren. Für jeden zu verbuchenden Datensatz (Verbuchungssatz) werden der Mandant, der ausführende Benutzer, der Zeitpunkt des Eingangs, der Transaktionscode, der zur Bildung dieses Verbuchungssatzes führte, eventuelle Zusatzinformationen zum Verbuchungsauftrag
und dessen derzeitiger Status angezeigt. Verbuchungssätze können
im Wesentlichen folgende Status annehmen:
왘 init
Der Satz wartet auf die Verbuchung.
Status der
Verbuchungssätze
왘 auto
Ist die Verbuchung nach einem Stoppen des Verbuchungsservers
wieder aktiv, so wird der Satz automatisch nachverbucht.
103
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
왘 run
Der Satz ist gerade in Bearbeitung.
왘 err
Es trat ein Fehler auf, der zum Abbruch führte.
왘 V1
Die V1-Bausteine des Auftrags wurden fehlerfrei ausgeführt; der
Auftrag wartet jetzt auf die V2-Verbuchung.
왘 V2
Der Auftrag wartet auf einen Sammellauf (V3-Verbuchung).
Die Infospalte enthält zusätzliche Informationen zur Art der Verbuchungserzeugung beziehungsweise zum aktuellen Status. Tabelle 2.4
zeigt die möglichen Symbole und ihre Bedeutung:
Icon
Kurztext aus Verbuchungssätze (SM 13)
Bedeutung
synchrone Verbuchung
Verbuchungsauftrag mit synchroner Verbuchung
kein Restart möglich
Verbuchungsauftrag in V1-Modul abgebrochen
und nicht nachbuchbar
VB-Auftrag mit Enqueues Zu diesem Auftrag existieren SAP-Sperren.
Enqueues freigegeben
Die SAP-Sperren zu diesem Auftrag sind
bereits freigegeben.
externer Commit
Verbuchungsauftrag wurde durch ein externes
System erstellt.
vom Batch-Input erzeugt
Verbuchungsauftrag wurde durch Batch-InputMappe erzeugt. Auftrag ist nicht nachbuchbar.
Tabelle 2.4 Bedeutung der Info-Icons
Fehleranalyse
In jedem Fall gilt es, die Ursache für Abbrüche genau zu analysieren.
Neben der Behebung der Fehlerursache muss bezüglich der abgebrochenen Verbuchungssätze eine Entscheidung über die weitere Verfahrensweise getroffen werden. Ausschlaggebend hierbei sind die
betriebswirtschaftlichen Aspekte, sodass die Analyse nur in enger
Zusammenarbeit mit der Fachabteilung durchgeführt werden kann.
Gehen Sie hierzu wie folgt vor:
1. Wählen Sie in der Verwaltung der Verbuchungssätze (SM13) den
Status abgebrochen, den entsprechenden Mandanten, den Benutzer sowie den betreffenden Zeitraum.
104
Verbuchung
2. Wählen Sie Ausführen.
3. Sie erhalten eine Liste aller abgebrochenen Verbuchungen. Zu
jedem Satz werden der Mandant, der Benutzer, ein Zeitstempel
und der Transaktionscode, der die Verbuchung erzeugte, sowie
der Status angezeigt.
4. Analysieren Sie den Abbruch der Verbuchung gemeinsam mit der
zuständigen Fachabteilung.
5. Hierzu können Sie einzelne Buchungssätze auswählen und mittels
Verbuchungssätze 폷 Test testen. Sie können eine Verbuchung auch
im Debug-Modus mithilfe von Verbuchungssätze 폷 Debugging ausführen. Benutzen Sie diese Funktion jedoch mit Bedacht, da sie die
Ressourcen des Systems stark beansprucht.
6. Führt dies zu keinem Ergebnis, überprüfen Sie den Verbuchungskopf des Datensatzes. Der Verbuchungskopf enthält alle Verwaltungsdaten des Verbuchungssatzes. Wählen Sie hierzu Springen 폷
Verbuchungskopf.
Welche Funktionsbausteine (Verbuchungsmodule) zur Verbuchung eines Satzes ausgeführt werden sollten, können Sie aus der
Übersicht über die abgebrochenen Verbuchungssätze mittels Verbuchungsmodule in Erfahrung bringen. Diese Übersicht spiegelt
den Aufbau eines Verbuchungsauftrags aus Abbildung 2.12 wider.
7. Wählen Sie Springen 폷 Daten anzeigen, um die eigentlichen Daten
eines Verbuchungssatzes zu überprüfen.
8. Untersuchen Sie das Systemlog (SM21) des SAP-Systems nach Fehlermeldungen zum Zeitpunkt des Verbuchungsabbruchs.
Hinweis
Im Normalbetrieb des SAP-Systems müssen hinsichtlich der Verbuchung
also drei wesentliche Punkte überwacht werden:
왘 Ist die Verbuchung aktiv?
왘 Gibt es Verbuchungsabbrüche?
왘 Wie groß ist die Warteschlange der zur Verbuchung anstehenden Aufträge?
Die Beobachtung der Verbuchungsaktivitäten gehört zu den täglichen Aufgaben des Systemadministrators.
105
2.3
2
Prozesskonzept des SAP NetWeaver Application Servers ABAP
2.3.4
Tipps
왘 Übersicht über alle offenen Verbuchungen
Beim Einstieg in die SM13 sollten Sie für einen ersten Überblick
als User und Mandant jeweils »*« eintragen und ein Datum vor
dem Installationstermin wählen. Ansonsten erhalten Sie bei den
Default-Einstellungen im aktuellen Mandanten nur eine Liste
Ihrer eigenen Verbuchungssätze vom aktuellen Datum.
왘 Löschen von Sperreinträgen
Bei der Verbuchung werden die SAP-Sperren an den Verbuchungsauftrag vererbt. Werden Sperreinträge einfach gelöscht, so
können die entsprechenden Objekte von anderen Usern weiterbearbeitet werden es kann dann nicht mehr eindeutig entschieden
werden, wie der zugehörige Verbuchungsauftrag verarbeitet werden muss. Sperreinträge und Verbuchungssätze müssen daher bei
manuellen Eingriffen immer zusammen bearbeitet werden.
2.3.5
Transaktionen und Menüpfade
Sperreinträge: SAP-Menü 폷 Werkzeuge 폷 Administration 폷 Monitor 폷
Sperreinträge (SM12)
Systemlog: SAP-Menü 폷 Werkzeuge 폷 Administration 폷 Monitor 폷 Sys-
temlog (SM21)
Verbucheradministration:
Nicht
über
das
SAP-Standardmenü
erreichbar (SM14)
Verbuchungssätze: SAP-Menü 폷 Werkzeuge 폷 Administration 폷 Moni-
tor 폷 Verbuchung (SM13)
2.3.6
Weitere Dokumentation
SAP- Hinweise
Tabelle 2.5 gibt einen Überblick über wichtige SAP-Hinweise im
Zusammenhang mit dem Verbuchungssystem.
Inhalt
Hinweis
V3-Verbuchung, Fragen und Antworten
396647
Verbuchungsgruppen (bei deaktiviertem Dispatching)
109515
Tabelle 2.5 Hinweise zum Verbuchungssystem
106
Sperrverwaltung
2.3.7
2.4
Fragen
1. Die Verbuchung wurde wegen eines Tablespace-Überlaufs deaktiviert. Welche Aktionen sind nach der Erweiterung des Tablespaces notwendig?
a. Es sind keine Aktionen notwendig; die Verbuchung wird automatisch wieder aktiviert.
b. Die Verbuchung muss aktiviert werden.
c. Alle Verbuchungssätze müssen manuell nachverbucht werden.
2. Welchen Status hat ein Verbuchungssatz, wenn er auf die Verbuchung wartet?
a. aktiv
b. freigegeben
c. init
d. start
3. Mit welchem SAP-Profilparameter können Sie steuern, ob einem
SAP-Benutzer beim Abbruch seiner Verbuchung eine Nachricht
gesendet wird?
a. rdisp/vbmail
b. Es wird immer eine Nachricht an den Benutzer gesendet.
c. rdisp/rbdelete
2.4
Sperrverwaltung
SAP NetWeaver AS ABAP verfügt über einen eigenständigen Sperrmechanismus. Dieser dient dazu, Datenbankzugriffe zu synchronisieren und gleichzeitig sicherzustellen, dass zwei Transaktionen parallel die gleichen Daten in der Datenbank ändern können.
Sperren werden als sogenanntes Sperrobjekt im Data Dictionary des
SAP-Systems definiert. Ein Sperreintrag ist eine bestimmte Ausprägung eines Sperrobjektes. Durch einen Sperreintrag wird ein spezielles Datenobjekt gesperrt, zum Beispiel genau eine Tabellenzeile.
Sperreinträge werden durch das Programm automatisch gesetzt und
auch wieder gelöscht. Als Administrator haben Sie also keinen Einfluss darauf, zu welchem Zeitpunkt ein Sperreintrag erstellt beziehungsweise wieder gelöscht wird. Es ist jedoch außerordentlich
107
Sperrobjekt und
Sperreintrag
Index
A
ABAP 27, 623
ABAP Debugger 422
ABAP Dictionary 176, 179, 212, 623
ABAP Editor 76, 85, 91, 417, 440
Hauptbildschirm 419
ABAP Workbench 418
ABAP-Laufzeitanalyse 427
ABAP-Prozessor 49
ABAP-Zentralsystem 114
ACID 51, 623
Adapter 537
Add-in-Installation 157
Add-on Installation Tool 281
ADK 481, 482, 484, 623
Administration abgelegter Dokumente
499
Administration der Verbucheraufträge
100
ADO 623
Adresspflege 317
Agenten 449
Installation 451
Logauswertung 468
Protokolldateien 453
SAPCCM4X 450
SAPCCMSR 450
SAPCCMSR – j2ee 450
sapccmsr.ini, Konfigurationsdatei 468
SAPCM3X 451
SAPPCCM4X 477
Aktionsberechtigung 148
Aktionsprotokoll 264
AL08 413
AL11 381, 414
AL15 478
ALE 355, 503, 511, 540, 623
Hintergrundjobs 524
Konfiguration 516
Kopplung mit BAPIs 515
Szenario konzipieren 512
ALE-Customizing 360, 361, 362
Alert 480
Alert-Monitor 391, 412, 442, 443, 478,
623
Auswertung 465
Customizing 454, 468
ALE-Statusmonitor 392, 412, 523
ALE-Verwaltung 538
allgemeine administrative Aufgaben 167
ALO1 499
Analyse der Hintergrundverarbeitung
81, 91
Analyse der Pufferbelastung 459
Änderungsauftrag
lokaler 251
transportierbarer 251
Änderungsbelege 351
Änderungsindikator 420
Änderungszeiger 514
Anlegen externer Betriebssystemkommandos 76, 91
Anmeldegruppe 305, 314
ANSI 623
Anwendungsmonitor 385, 412
AOBJ 484, 495, 499
API 77, 623
APPC 623
Application Link Enabling → ALE 503
Applikationsebene 29, 31, 46
Applikationsserver 32, 624
Arbeitsplatzdrucker 130
Archivadministration 487, 495
Statistiken 497
Archivadministration Einstieg 499
Archivdatei
Größe 492
Transfer 486
Zugriff 491
Archive Development Kit → ADK 481
Archive Information System 499
ArchiveLink 135, 485, 624
Schnittstelle 481
ArchiveLink Monitor 499
Archivierung
Customizing 487
Datenmenge 489
637
Index
Archivierungsobjekt 482, 483, 489, 500,
624
Archivinformationssystem 498
Archivkonfiguration 490
ASAP 624
Attributgruppen 464
Auditing 523
Aufbereitungsserver 123
dedizierter 150
Definition 127
Klassifizierung 125
Auftragsnummer 252
Ausgabeanforderung 121
Ausgabeattribut 138
Ausgabeauftrag 120
Status 141
Ausgabegeräte
Definition 135
Ausgabeservice 50
Ausgabesteuerung 130, 141, 149, 391,
412
Ausgabeverarbeitung 120
Autoreaktionsmethode 460, 472
zentrale 477
B
Background 68
Backup Domain Controller 194
BAPI 519, 530, 531, 538, 624
ALE 515
BAPI-Explorer 531, 538
Batch 49
Batch-Input 412, 526, 528, 529, 538,
624
Mappenübersicht 529
Batch-Input-Mappe 526, 527
Batch-Workprozesse 49
BD64 361, 518, 523, 539
BD73 524, 538
BD82 361, 521, 539
BD87 412, 523
BDLS 238, 243, 538
BDM2 525, 538
Befehlsfeld 45
Belieferungssystem 184
Belieferungsweg 201
638
Benutzer 60, 315
Abgleich 328, 341
Adresse 319
anlegen 317
Anmelde- und Kennwortschutz 324
Anmeldedaten 319
Festwerte 322
Festwerte pflegen 347
Gruppe 321
Informationssystem 350
Internet- 348
Massenänderungen 323
Parameter 322
Rolle 327
SNC 322
Stammabgleich 343
Stammsatz 316
ZBV 353
Zuordnung 341
Benutzerereignis 69
Benutzergruppe 321, 360
Benutzergruppe SUPER 213
Benutzerkonzept 315
Benutzermenü 45, 337
Benutzername 315
Benutzerpflege 316, 318, 342, 359
Benutzerschnittstelle 624
Benutzertyp 320
Benutzerübernahme 358, 360
Benutzerübersicht 170, 179, 373, 412
globale 373
lokale 373
Benutzerverteilung, dynamische 305
Berechtigung 82, 150, 326, 327, 329
pflegen 339
Berechtigungsdaten 346, 360
Berechtigungsobjekt 329, 330
Berechtigungsprofil 331
Berechtigungsprüfung 327, 328
Berkeley-Protokoll 132
Betriebsart 285, 297, 314
Definition 298
Pflege 298
Profilsicht 299
Übersicht 299
Zeittabelle 303
Betriebsarten 624
Betriebsartenkalender 312
Index
Betriebsartenpflege 72, 91, 298, 303,
313, 465, 478
Betriebssystem 58
Benutzer 61
Betriebssystemdaten-Kollektor 448
Blockkomprimierung 421
BMV0 530, 538
Breakpoints 420
buffer 197
Business Application Programming Interface → BAPI 531
Business Object Repository (BOR) 531
Business Process Expert Community 563
Business Process Monitoring 568
Business-Objekttyp 531
C
Call Transaction 530
CATT 217
CCMS 441, 480, 624
CEN 466
Change and Transport System – CTS 181
Change Control Management 571
Class Builder 418
Client-Server-Architektur 29
Cluster 55
CMS 485
cofiles 197
Component Packages 276
Content Repository 494
Control 134
Control Panel 304, 313, 391, 412, 624
CPI-C 56, 624
CTS 181, 183, 624
Initialisierung 189
Komponenten 181, 182
Customizing 181, 209, 625
Archivierung 491, 492
Mandant 215
Customizing Cross-System Viewer 217,
242
Customizing-Auftrag
anlegen 253
freigeben 257
zuordnen 256
D
data 197
Data Browser 176, 179
Database Performance: Tables and Indices 241, 242
Dateisystembereinigung 412
Daten
mandantenabhängig 209
mandantenubabhängig 209
Datenadministration 441
Datenarchivierung 481, 501, 625
Ablauf 484
Archivinformationssystem 498
Basis-Customizing 494
CCMS-Überwachung 491
Document Relationship Browser 499
Index 493
Steuerung und Auswertung 495
Zurückladen 497
Datenbank 625
Datenbankadministration 387
Datenbankfüllgrad 390
Dictionary-Konsistenz 391
kostenbasierte Optimierer 389
Sicherung 389
Verifizierung 389
Wochenplanung 387
Datenbankadministrationsaufgaben 32
Datenbankebene 29, 32, 53
Datenbankfüllgrad 390
Datenbankinstanz 625
Datenbankkopie 241
Datenbankmonitor 412
Datenbankprotokolle 412
Datenbankschnittstelle 54, 55
Datenbankserver 625
Datenhaltung 441
Datenklassen 210
Datenprofil 221
Datensammler 448
Datensammlung 441
Datenübernahme 525
Datenübernahme-Workbench 532, 538
DB01 413
DB02 241, 242, 387, 390, 414
DB03 387, 412
DB12 389, 414
DB13 388, 392, 413
639
Index
DB15 488, 500
DB2 61
DB24 412
DBA-Aktionsprotokolle 389
DB-Parameteränderungen 387, 412
DCL 625
DDL 625
Deadlock 625
Debugger 422
exklusiver Modus 425
Oberfläche 424
Profilparameter 427
Technologie 423
Debugging 371
DEFAULT.PFL 160, 164, 212, 312
Definition Archivierungsobjekte 484,
495, 499
Demo-Mandant 215
DIAG-Protokoll 625
Dialogabfrage 66
Dialoginstanzen 48
Dialogprozesse 63
Dialogschritt 51
Dialogservice 47, 49
Dialogverarbeitung 65
Dialog-Workprozess 625
Direct-Input 529, 530
Direct-Input-Verwaltung 530, 538
disp+work 173
Dispatcher 48, 63, 160, 625
DML 625
Document Relationship Browser 499
Domain-Link 195
Double Stack 29
Double-Stack-Installationen 157
dpmon 170, 171
Drei-Systemlandschaft 184
exemplarischer Aufbau 214
Druckausgabe
Datenfluss 121
Drucktaste 625
Dump-Analyse 378, 391, 412
Dynpro 626
E
E2E-Trace 570
EarlyWatch Alert 566
640
eCATT 217, 626
EDI 626
Eigene Daten 322, 346, 361
Eigene Jobs 79, 92
Eigenschaftsvarianten 464
Eigenschaftsvarianten tranportieren 464
Einfache Jobauswahl 77, 80, 90, 92
Einführungsleitfaden 246, 256, 281
Einplanungskalender 388, 392, 413
Einstellungen, persönliche 346
Einstellungsvarianten für Hilfe 555
Emergency-Repair-Disk 554
Ende-Markierung 273
End-to-End 569
enque/backup_file 113
enque/table_size 113
Enqueue-Server 51, 111
Enqueue-Service 50
Enqueue-Trace 382, 433
Enqueue-Workprozess 383
Entwickler-Trace 379, 411, 415
Entwicklungsklasse 262
temporäre 262
Erweiterte Jobauswahl 77, 92
Erweiterte Tabellenpflege 177
Event auslösen 92
Eventpflege 69, 92
Export 264
Externe Betriebssystemkommandos 92
externe Breakpoints 420
externe Systeme 195
F
Fast-Input 530
Favoritenliste 45, 46
FB03 483
FDDI 626
Featureliste 397
Fehlerprotokolldateien 380, 413
FILE 494, 499
Filter 520
Firewall 626
Firmenadresse 319, 361
Freigabe 264
Frontend, Installation 552
Frontend-Druck 133
Frontend-Rechner 626
Index
Frontend-Software 43
Frontend-Trace 381
Function Builder 418
G
Gateway 47, 57
Gateway-Monitor 313, 367, 392, 413
Gateway-Prozess 174
Gateway-Service 52, 63
Geräteattribut 136
Geräteberechtigung 147, 148
Geräteklasse 135
Geräteverwaltung 129
Geschäftsprozessanalyse 385, 413
Globale Benutzerübersicht 373, 413
Globale Performanceanalyse 411, 413
globale Prozessübersicht 372
Globale Workprozessübersicht 413
GoingLive-Service 567
grafischer Editor 201
Grundpflege 336
GUI 626
H
Hardwareschlüssel 368
Hauptspeicherbereiche 53
Hauptspeichergröße 160
Hierarchical Storage Management System
(HSM) 485
Hintergrundjobs
API 77
Auswertung 77
Definition 71
externe Schnittstelle 86
Job Wizard 77
Laufzeitanalyse 79
löschen 90
Starttermin 73
Statusüberprüfung 80
Zombies 80
Hintergrundprozesse 49
Hintergrundservice 49
Hintergrund-Steuerungsobjekt-Monitor
81, 92
Hintergrundverarbeitung 47, 67, 626
Alerts 80
Analysefunktionen 79
Analysetool 81
Berechtigungen 82
Hochverfügbarkeit 626
Host-Spool-Kopplung 137
Host-Spool-System 120
HSM 627
HTML 627
HTML-Template-Cache 397
HTML-Template-Verzeichnis 397
HTTP 627
HTTP Log 400
HTTP-Server 401
I
IAC 627
ICF 34, 35, 38
ICM 36
wichtige Profilparameter 37
ICM-Monitor 398, 413
IDES 627
IDoc 513, 523, 538, 627
erzeugen 513
löschen 538
Struktur 514
Typ 513
IDoc-Fehlerbehandlung 524, 538
IDoc-Liste 524, 538
IDoc-Prüfung 523, 538
IDoc-Typ 627
IDoc-Verfolgung 525, 538
IGS Watchdog 160
IMG 627
Implementation Guide 246, 627
Import 270
Importieren 273
Import-Queue 272
Industry Solutions 275
Informationssystem 350, 361
Informix 61
Installation
Check 553
Checkliste 545
Konzepte 543
641
Index
Nachbereitung 550
Sicherung 554
Vorbereitungen 543
Installationscheck 553
Installationsnachbereitung 190
Instanz 30, 32, 628
erfassen 299
Pflege 285
Status 366
zentrale 48
Instanzparameter 75
Instanzprofil 160, 163, 164
Integrationssystem 184
integrierter ITS 393
Internet 34
Internet Application Components (IACs)
39
Internet Communication Manager →
ICM
Internet Transaction Server → ITS
Internetbenutzer 348, 361
IPC 628
ITS 31, 35, 39, 628
externer 40
integrierter 39
wichtige Parameter 40
Konfiguration
dreistufig 30
mehrstufig 31
zweistufig 29
Konsistenzcheck 289
Konsolidierungssystem 183, 184
Konsolidierungsweg 201
Kopie gemäß Transportauftrag 238, 243
Kopie, lokale 220
Kopierprofil 221, 222, 230
Koppelart 130, 149
E 131
entfernte 132
F 133
G 134
I 135
L 130
lokale 130
P 132
S 132
U 132
kostenbasierte Optimierer 389
Kundennamensraum 262
Kurz-Dump 85, 377
L
J
J2EE Engine 151
Java Shared Closures 152
Job Wizard 77
Jobauswahl 391, 392, 413
Jobdefinition 71, 77, 79, 86, 90, 92
Jobklasse 72
Jobmonitor 79, 92
Jobprotokoll 78
Job-Scheduler
ereignisgesteuerter 69
zeitgesteuerter 68, 91
Jobstatus 77
Jobübersicht 78, 496, 499
K
Kommando, externes 76
Kommunikationssystem 194, 195
642
Lastanalyse 392, 413
Lastverteilung 125, 305
Laufzeitanalyse 427, 440
Einstiegsbild 429
Komponenten 427
Profilparameter 429
Laufzeitfehler 85
Analyse 377
LDAP 628
Legacy System Migration Workbench →
LSMW
Lesezeichen 420
License Administration Workbench 323,
361
LICENSE_ADMIN 323, 361
Liste 176
List-Editor 199
Lizenzdaten 323
Lizenzschlüssel 555
Lizenzverwaltung 551
Lockwaits 387, 413
Index
log 197
Logische Dateinamen 494, 499
mandantenspezifisch 494, 499
logische Systeme 516
pflegen 517
umbenennen 538
logischer Server 124
Logon Load Balancing 305
Logon-Gruppe 305, 306, 307, 312
Logon-Gruppen-Pflege 306, 313
lokale Kopie 220
Lokale Mandantenkopie 243
LSMW 531, 532
LUW 51, 628, 631
M
Mandant 209, 628
000 210
001 211
066 211
Änderbarkeit 215
anlegen 213
Kopierprofil 221
löschen 239
Rolle 215
Schutzstufen 217
Standard- 210
Überkopieren 242
Mandant löschen 239
mandantenabhängige Objekte 216
Mandantenexport 231, 232, 243
Restart 242
Mandantenimport 235, 237
Mandantenkonzept 244
Mandantenkopie 214, 244, 554
Datenbankindizes 241
Größe des Mandanten 239
Kopierprofile 221, 230
lokale 221, 223, 226
Nacharbeiten 238
Remote- 221, 227
Vorarbeiten 220
Mandantenpflege 177, 179, 218, 243,
517, 518, 538
Mandantentransport 221, 230
mandantenunabhängige Objekte 216
Mandantenvergleich 239
Mandantenverwaltung 209, 355, 361
Sonderfunktionen 238
MAPI 628
Massenänderung 220, 321, 323, 361
Massendruck 129, 150
Masterpasswort 325
MaxDB 61
MCOD 33, 550, 629
Mehrsprachigkeit 46
Mehr-Systemlandschaft 185, 207
memlimits 297
Memory Management 60, 160
Memory Pipes 37
Menüleiste 43
Message Server Monitor 313
Message-Server 47, 51, 63, 160
Message-Server-Übersicht 368, 413
Microsoft Management Console (MMC)
156
Modellsicht anlegen 518
Modus 41, 46, 629
MONI 385
Monitore, kundenspezifische anlegen
456
Monitorattribute 445, 461
Monitoreigenschaften 460, 472, 478
Monitoring 567
Eigenschaften und Methoden 467
Monitoring-Architektur 441, 442
Alert-Monitor 442
Monitorobjekt 446
Monitorsammlung 443, 444
kundenspezifische anlegen 456
Monitorsegment 446
MTE 445, 480
Analysemethode 459
Autoreaktionsmethode 460
Datensammlungsmethode 459
Klassen 463
MTEs, reale und virtuelle 447
Multiplexing 99
Multithreaded-Architektur 114
Mutex Locks 396
Mutual Exclusions 396
643
Index
N
Nachbereitung des Mandantenimports
237, 243
Nachrichtenpflege 472, 478
Nachrichtensteuerung 514
Nachrichtentyp 513, 519
Namensbereich 188
Namensraum 188
ABAP- und GUI-Tools, Präfix/1BCABA/
189
allgemeiner SAP-Namensbereich 189
Development Workbench, Präfix/
1BCDWB/ 189
Enqueue-Funktionsgruppen, Präfix/
1BCDBWEN/ 189
Kundennamensbereich 188
Native SQL 54
Note Assistant 579
O
OAAD 499
OAC0 494, 500
OAM1 499
Objektklasse 329, 361
Offline-Redo-Logs 481
OLE 57, 629
OLTP 629
OMS 127, 139, 629
externes 139
ROMS und LOMS 139
Online-Auswertung des System-Log 337
Online-Dokumentation, Installation 555
Open SQL 54
Operationsmodus 297
Optimierer 389, 490
-statistiken 490
Oracle 61, 481
OS 629
OS03 386, 413
OS06 413
OS07 386, 413, 478
OS6 367
OS-Monitor 367, 413
OS-Parameteränderungen 386, 413
OSS 579, 629
OSS1 579
644
OS-Systemkonfiguration 386, 413
Output-Management-Systeme → OMS
P
PAI 629
parallele Prozesse 224
Parameter anlegen 296
Parameteränderung, dynamische 293
Parametervorgaben 348
Partnervereinbarung 361, 521, 539
PBO 629
Performanceanalyse 92, 382, 413, 433
Performanceattribut 462
Performance-Monitoring 384
Betriebssystem 386
Datenbank 386
Puffer 385
Performance-Trace 382, 433
Bedienoberfläche 434
Enqueue-Trace 437
Profilparameter 434
RFC-Trace 437
SQL-Trace 436
Tabellenpuffer-Trace 437
persönliche Einstellungen 346
PFCG 323, 331, 342, 361
Pflege Content Repository 494, 500
Pflege der Profilparameter 294, 313
Pflegejobs 83, 85
Pooltabelle 55
Port 522, 629
Portdefinition 539
Präsentationsebene 29, 31, 41
Produktivdrucker 129
Produktiv-Mandant 215
Produktivsystem 181
Profiländerungen, manuelle 312
Profile 160, 180, 629
aktivieren 293
Auswertung 164
erweiterte Pflege 292
Grundpflege 291
importieren 286
kopieren 290
Sonderfallprofil 311
Verwaltungsdaten ändern 290
Profilgenerator 629
Index
Profilimport 289
Profilparameter 294
ändern 312
anlegen 295
Pflege 294
Profil-Parameteränderungen 386, 414
Profilpflege 285, 286, 287, 290, 312,
313
Programm, externe 76, 77
Projektanlage 281
Projektverwaltung 247
Protokollattribut 462
Protokollauswertung Mandantenkopie
237, 243
Prozessauswahl 372
Prozesse
Fehlerprotokolldatei 371
Haltegründe 369
parallele 224
Semaphor 370
Startverhalten 370
Status 369
Prozessliste 172
prozesslokaler Speicher 67
Prozessnummer
auf Betriebssystemebene (PID) 369
interne 369
Prozesstypen 369
prozessübergreifender Speicher 67
Prozessübersicht 98, 179, 225, 313, 368,
371, 391, 414, 432
einer Instanz 169
globale 372
mit Betriebssystemmitteln 174
Puffer 385
Pufferbelastung 414, 478
Puffer-Trace 382
Pufferung 53
Q
QA-Genehmigungsverfahren 203
Q-API 57, 629
qRFC-Monitor 511, 539
qRFC-Monitor Ausgang 392, 414, 511,
539
qRFC-Monitor Eingang 392, 414, 511,
539
Queue Application Programming Interface 629
Quick-Sizing-Werkzeug 544
Quotas 309
R
R3setup 285
Steuerdateien 556
Templates 556
R3trans 182, 204, 273
RAID 629
RDBMS 32, 61
RDDIMPDP 273
rdisp/enqname 113
rdisp/j2ee_start 157
rdisp/wp_no_enq 113
Referenzmandant 000 210
regelmäßige Aufgaben 391
Remote Function Call → RFC 504
Remote Mandantenkopie 228, 243
Remote-Kopie 221, 227, 228, 244
Replikationstabelle 115
Report Builder 418
Reports 183
Repository 183, 209
RFC 52, 57, 504, 630
asynchroner 510
Gruppe 508
logische Verbindungen 509
Monitoring 511
queued 510
synchroner 510
transaktionaler 510
RFC-Administration 506, 539
RFC-Client 504
RFC-Destination 504
anlegen 506
definieren 505
pflegen 506
Verbindungstypen 505, 506
RFC-Ressourcenmonitor 309
RFC-Server 504
RFC-Servergruppe 308, 309
RFC-Servergruppenpflege 224, 311, 313
645
Index
RFC-Trace 382, 433
RFC-Verbindungen 454, 504
Rolle 333, 630
anlegen 335
Sammelrollen 340
Standardrollen 334
Transport 344
Rollenpflege 323, 331, 333, 334, 342,
361
Umstellung auf 345
Route-Permission-Tabelle 575
Routerstring 577
RSBDCREO 84
RSBPCOLL 84
RSBPSTDE 84
RSBTCDEL 84
RSCOLL00 84
RSDELCUA 357
RSP00041 146
RSPARAM 75, 296
RSPO0041 84
RSRFCTRC 507
RSSNAPDL 85
RZ01 79, 92
RZ03 304, 313, 391, 412
RZ04 72, 91, 298, 303, 313, 465, 478
RZ10 286, 290, 312, 313
RZ11 294, 313
RZ12 224, 308, 311, 313, 508, 539
RZ20 412, 443, 454, 478
RZ21 454, 460, 464, 467, 472, 478
S
SAA-Standard 56
SAINT 278, 281
SALE 360, 361, 362, 538, 539
Sammellauf-Module 98
Sammelrolle 340
SAP Add-on Installation Tool 278
SAP Business ByDesign 563
SAP Business Community 563
SAP Business One-Kundenportal 562
SAP CCMS Monitor Templates 443
SAP CCMS Monitors for Optional Components 443
SAP CCMS Technical Experts Monitor
443, 466
646
SAP Central Process Scheduling by Redwood (SAP CPS) 86
SAP Channel Partner Portal 563
SAP CRM 27
SAP Developer Network 562
SAP Exception Analysis 571
SAP GUI 31, 41, 43, 165, 179, 552
for HTML 39, 43
for Java 42
for Windows 42
SAP Help Portal 563
SAP NetWeaver Administrator 405
SAP NetWeaver AS
AS ABAP 27, 28
AS Java 29, 151
Installationsmöglichkeiten 28
starten 155
stoppen 157
SAP NetWeaver PI 503, 535, 536
SAP NetWeaver Portal 31
SAP NetWeaver XI → SAP NetWeaver PI
SAP Operating System Collector 155
SAP Partner Portal Deutschland 563
SAP SCM 27
SAP Service Marketplace 561
Übersicht 562
SAP Solution Manager 564, 565
SAP SRM 27
SAP Support Portal 562
SAP System Identifier 33
SAP Systemtrace 361
SAP Virtual Machine Container 151
SAP Workload Analysis 571
SAP* 211, 212
SAP-Archivinformationssystem 498
SAP-Benutzer 60
SAPCCM4X 450
SAPCCMSR 450
SAPCCMSR -j2ee 450
SAPCM3X 451
SAPcomm 533
SAPconnect 532, 533, 534
SAPconnect-Administration 533, 539
SAPconnect-Sendeaufträge 539
SAP-Directory 381, 414
SAP-eigene Objekte 251, 261
SAP-Einführungsleitfaden 361
sapevt 70
SAP-Gateway 57
Index
SAPinst 285, 545, 546, 547, 550
Steuerdateien 556
sapinst.log 547
SAP-Instanz 32, 628
SAP-Kernel 58
SAP-Lizenzschlüssel 550
SAPLOGON 41, 165, 166, 180
Frontend-Installation 552
saplogon.ini 165
SAPLPD 130, 132
SAP-LUW 93
sapmsg.ini 165
sapnames 197
saposcol 155, 156, 172, 384, 448, 451,
478
Destination 478
im Dialogmodus 476
Prozessüberwachung 476
sappfpar 296
SAP-Referenz-Mandant 215
saproute.ini 165
SAProuter 573, 574, 575, 580, 630
Optionen 576
Routing-Tabelle 576
Verbindungen 574
saprouttab 580
SAP-Serververwaltung 225
SAPSprint 139
sapstart 172
sapstart.log 160
SAP-System
Hardwareanforderungen 544
Konfigurationsvarianten 29
Probleme beim Start 178
verteiltes 33
SAP-System-Trace 346, 382, 414
SAP-Transaktion 51, 631
SAP-Upgrade
Schutz gegen 218
SAP-Vorschläge 345
SARA 487, 495, 499
SARFC 309, 313
SARI 498, 499
SCC1 238, 243
SCC3 223, 233, 237, 243
SCC4 177, 179, 218, 243, 355, 361, 517,
538
SCC5 239
SCC7 237, 243
SCC8 243
SCC9 228, 243
SCCL 223, 243
Scheduler
Background 68
SCMP 239, 243
_SCOPE-Parameter 109
SCOT 533, 539
Screen-Prozessor 49
SCU0 217, 239, 242
SCUA 356
SCUG 358, 360
SCUM 356, 359
SDCCN 323
SE01 233, 243, 269, 281
SE03 270, 280, 281
SE09 254, 264, 280, 281
SE11 176, 179
SE16 61, 62, 176, 179
SE24 418, 422
SE30 427, 440
SE37 418, 422
SE38 76, 85, 91, 418, 422, 440
SE80 418, 422
SE91 472, 478
SE92 474, 478
SE93 179
Security Audit Log 351
Security-Audit-Auswertung 351, 361
Security-Audit-Konfiguration 351, 362
Selektionsberechtigungen 148
Selektionskriterien 431
Semaphor 370
Server 630
Servergruppen 508
Servergruppenpflege 508, 539
Serverliste 179
Server-Ressourcen 309, 313
Serverübersicht 366, 367, 373, 391, 414
Service 47
Ausgabe 50
Enqueue 50
Gateway 52
Spool 50
Service Data Control Center 323
Service Level Reporting 568
Service und Support 561
Session-Breakpoints 420
SF01 494
Shared Class Pool 152
Shared Memory 153, 441, 630
647
Index
SHDB 527, 539
Sicherungsprotokolle 414
SID 33, 550, 630
Signal Handler 37
Single Activity Trace 431
SITSPMON 393
Sizing 543
Skalierbarkeit, horizontale 30
SLICENSE 551
SM01 177
SM02 175, 179
SM04 170, 179, 373, 412
SM12 106, 111, 115, 383, 391, 414
SM13 99, 100, 101, 106, 391
SM14 100, 101, 414
SM19 351, 362
SM20 351, 361
SM21 105, 174, 179, 337, 374, 391,
414, 478
SM28 553
SM30 177
SM31 179
SM35 412, 529, 538
SM36 71, 77, 79, 86, 92
SM37 77, 90, 92, 391, 392, 413, 496,
499
SM37C 77, 92
SM39 92
SM49 76, 92
SM50 98, 179, 225, 313, 368, 391, 414,
432
SM51 167, 179, 225, 366, 373, 391, 414
SM52 154
SM53 154
SM58 392, 414, 511, 539
SM59 506, 539
SM61 81, 92
SM62 69, 92
SM63 312
SM64 92
SM65 81, 91
SM66 373, 413
SM69 91
SMGW 313, 367, 392, 413
SMICM 398, 413
SMLG 306, 313
SMLT 556
648
SMMS 313, 368, 413
SMO 567
SMQ1 392, 414, 511, 539
SMQ2 392, 414, 511, 539
SMQR 511, 539
SMT1 508, 539
SMTP-Plugin 533
SMX 79, 92
SNA 34
SNC 630
SNOTE 579
Softwarekomponente 188
Solution Management Optimization Services (SMO) 567
Solution Manager 564, 565
solution_manager 566
SOST 533, 539
SP01 130, 141, 148, 149, 391, 412
SP12 145, 149
SPAD 126, 141, 144, 149
SPAM 275, 281
Sperreigentümer 109
Sperreintrag 107, 116
verwalten 115
Sperreinträge 106, 383
Sperrformen 108
Sperrlogik 115
Sperrmonitor 383, 391, 414
Sperrobjekt 107
Sperrserver 111
Sperrstatistik 117
Sperrtabelle 111, 112, 119, 411
Sperrverwaltung 47, 107, 111, 115, 383
SAP-Hinweise 118
Spool-Administration 126, 141, 144,
149
Berechtigungen 147
Fehlerbehebung 141
Spool-Auftrag 120
Status 141
Übersicht 141
Spool-Landschaft 120
Spool-Prozess 50
Spool-Server 123
Definition 127
Klassifizierung 125
Spool-Service 47, 50, 123
Index
Spool-System
Konsistenzcheck 146
Reorganisation 146
Spool-Workprozesse 122
Auftragsverwaltung 123
Reihenfolgetreue 123
Sprachenverwaltung 556
Sprachimport 554
Sprachverwaltung 556
SPRO 246, 256, 281, 361
SPRO_ADMIN 247, 281
SQL-Schnittstelle 32, 49
SQL-Trace 382, 433, 440
SR13 555
SSAA 403, 414
SSCR 630
ST01 346, 361, 382, 387, 414
ST02 385, 414, 459, 464, 478
ST03N 385, 392, 413, 415
ST04 386, 412
ST05 382, 433, 440
ST06 367, 386, 413
ST07 385, 412
ST10 385, 414
ST11 381, 413
ST22 378, 391, 412
ST30 411, 413
STAD 385, 413
Stand-alone Enqueue-Server 114
Stand-alone ITS 40
Standardbenutzer 325, 326
DDIC 212
EarlyWatch 212
SAP* 211
Standardmandant 210
Starten des SAP NetWeaver AS 155
Starten des SAP-Systems
Probleme 178
Startprofil 160, 161, 162
startsap 156
Startvorgang protokollieren 158
Status 167
Statusattribut 462
Statusleiste 46, 421
Statusmonitor für den integrierten ITS
393
Steuerungsobjektliste 81
STMS 237, 243, 271, 281
Stoppen des SAP NetWeaver AS 157
stopsap 158
SU01 316, 342, 350, 359, 360
SU10 220, 321, 323, 361
SU21 329, 361
SU25 345, 361
SU3 322, 346, 361
SU53 346, 360
SUCOMP 361
SUGR 321, 360
Superuser 325, 333
Support Package Collections 277
Support Package Manager 275, 281
Support Packages 275, 630
Supportverbindungen
Konfiguration 572
S-User 578
SXDA 532, 538
Symbolleiste 44
Sys Log Daemons 160
System
externes 195
verteiltes 53
virtuelles 194
System Identifier 33
System Monitoring 568
Systemadministrations-Assistent 403,
414
Systemänderbarkeit 186
Systemereignisse 69
Systemkonfiguration 478
Systemlandschaft 181, 630
Aufgaben 182
Drei- 184
einrichten 181
Mehr- 185
Zwei- 183
Systemlastmonitor 385, 386
Systemlog 105, 106, 174, 179, 374, 375,
391, 414, 478
Auswahl 375
Auswertung 376
filtern 473
globales 375
lokales 376, 377
Meldungen pflegen 474
Reparatur eines lokalen 411
Systemlog-Meldungen 478
Systemlog-Pflege 474, 475
Systemlogs 374
649
Index
Systemnachrichten 175
Systemnachrichten anlegen 175, 179
Systemprofil 160
Systemüberwachung 167, 365
Systemvermessung 323, 362
T
Tabelle
Cluster- 55
Pool- 55
transparente 54
Tabellen und Archivierungsobjekte 488
Tabellen und Indices 387, 390, 414
Tabellenarten 54
Tabellenaufrufe 385, 414
Tabellen-Cluster 55
Tabellenpflege 61, 62, 176, 177, 179
erweiterte 177
Werkzeuge 176
Tabellenpool 55
Tabellenpuffer-Trace 433
Tabellenvergleich 239, 243
Task Handler 49
TCP/IP-Protokoll 56
TCP/IP-Verbindungen 509
TDC 191, 631
TemSe 50, 120, 129, 144, 145, 146, 147,
631
TemSe-Datenablage
Konsistenzcheck 146
TemSe-Verwaltung 145, 149
Testdruck 130
Test-Mandant 215
Thread Control 37
Threads 37
tmp 197
TMS 190, 194, 237, 631
Konfiguration 190
tp 70, 182, 204, 205, 208, 230, 235,
273, 274
tp-Parameter 205
Trace-Dateien 379
Trace-Level 380, 411
zurücksetzen 411
Trace-Logging 411
Training-/Education-Mandant 215
650
Transaktion 631
Datenbank 51
SAP 51
transaktionaler RFC 392, 414
Transaktionscode 45, 631
Transaktionspflege 177, 179
Transaktionsrecorder 527, 539
transparente Tabellen 54
Transport 631
Transport Domain Controller 191, 631
Transport Management System 181,
190, 237, 243, 271, 281
Transport Organizer 181, 233, 245, 254,
264, 280, 281, 631
Transport Organizer (Erweiterte Sicht)
243, 269, 281
Transport Organizer Tools 270, 280, 281
Transportdomäne 190, 191, 207, 631
anlegen 192
Transporte 181
Transportgruppe 198, 207
Transportprogramm 204
Transportprotokolle 265
Transportschicht 201
Transportsteuerung, erweiterte 203
Transportverzeichnis 195, 196, 207
Transportverzeichnisbaum 196
Transportwege 198, 202, 207
Editoren 198
List-Editor 199
Transportwerkzeuge 181
Transportwesen
Initialisierung 186
tRFC 541, 631
tRFC-Monitor 511, 539
Trusted-Systeme 508, 539
TU02 386, 414
U
Übersicht Sendeaufträge 533
Umsetzung logischer Systemnamen 238,
243, 538
UNIX 61, 156, 158, 305
Unternehmens-IMG 246
Upgrade 260, 345
USMM 323, 362
Index
V
W
V2-Verbuchung 47, 50
Variante 76
Veränderbarkeit 187
Verbindungsinfo 37
Verbucher 63
Verbucheradministration 99, 100, 101,
106, 391, 414
Verbuchung 47, 93
asynchrone 94, 96, 97
Definition 93
Fehleranalyse 100
Info-Icons 104
Konfiguration 98
Konfigurationsparameter 99
lokale 96, 97
Monitoring 101
synchrone 96, 97
V1 97
V2 97
Verbuchungsauftrag 94, 95, 96
Verbuchungsaufträge 101
Verbuchungs-Dispatching 98
Verbuchungskopf 105
Verbuchungsmodus 96
Verbuchungssätze 101
Status 103
Überblick 103
Verbuchungsservice 49
Verbuchungssystem 93
Verbuchungstabellen 96
Versionsverwaltung, integrierte 200
Verteilungsmodell 362, 518
Verteilungsmodell der ZBV 356, 362
Verteilungsmodellpflege 523, 539
Verteilungsparameter 356, 359, 362
Verzeichnisdienste 359
Verzeichnisstruktur 58
Virtual Machine Container → VMC
virtuelle Systeme 194
VMC 65, 151
VMC-Systemadministration 154
VM-Übersicht 154
Watchdog 37
WBO 259
WE05 524, 538
WE21 539
Windows 156
Windows Task Manager 172
Worker-Thread 37
Workload-Analyse 385, 415
Workprozess 48, 632
abbrechen 169
WORM 632
X
XML 632
xSprint.exe 140
Z
ZBV 345, 353
Administration der Benutzer 358
Aktivierung und Konfiguration 356
einrichten 354
löschen 357
Zeilennummern 420
Zeittabelle 302
zentrales Monitoring-System 466
Zielserver 72
Zombies 80
Zurückladen 497
Zwei-Systemlandschaft 183
651
Herunterladen