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