SWI1 Workitem-Selektion
SAP BASIS-ADMINISTRATOR IN DER UNTERNEHMENS- UND IT-BERATUNG
Sie richten z. B. eine Anmeldegruppe für Mitarbeiter im Telefonverkauf ein, weil deren Aktivitäten besonders performancekritisch sind. Die zugehörigen SAP-Instanzen zeichnen sich durch besondere Leistungsfähigkeit aus (z. B. keine Hintergrund- und Verbuchungs-Workprozesse, besonders wenig Benutzer pro Server, besonders schnelle Prozessoren, dezidiertes Netzwerk etc.). Ein weiteres Beispiel für eine benutzerspezifische Anmeldegruppe ist die für Controlling-Mitarbeiter, die aufwendige Controlling-Reports im Dialogbetrieb erstellen. Dieser Gruppe weisen Sie eine SAP-Instanz zu, auf der der SAP-Profilparameter rdisp/max_wprun_time (bis 7.40) bzw. rdisp/scheduler/prio_high/max_runtime (ab 7.40), der die Laufzeit eines ABAP-Programms im Dialogbetrieb beschränkt, besonders hoch ist. Durch eine restriktive Einstellung der Laufzeitbeschränkung auf allen anderen Instanzen verhindern Sie, dass diese Reports auf anderen Instanzen erstellt werden können und dort andere Benutzer behindern. Auf diese Weise trennen Sie performancekritische Anwendungen (wie z. B. die Auftragsannahme im Telefonverkauf) von eher unkritischen, aber ressourcenintensiven Anwendungen (z. B. Controlling).
Unter anderem legt er fest, auf welchem Anwendungsserver sich ein Nutzer anmeldet, um die Auslastung zu verteilen (Load Balancing). Der Message-Server ermöglicht außerdem die Kommunikation der einzelnen Applikationsserver untereinander.
Oracle, MaxDB und MS SQL Datenbanken
Im Stundenmittel sollte der freie CPU-Anteil Leerlauf mindestens 20 % betragen, um auf kurze Lastspitzen reagieren zu können. Erwünscht sind sogar eher 35 % freie CPU-Kapazität.
Wenn Sie mehr zum Thema SAP Basis wissen möchten, besuchen Sie die Webseite www.sap-corner.de.
In der SAP-Onlinehilfe zur ABAP-Programmierumgebung und in der ABAP-Laufzeitumgebung (Transaktionscode SAT) finden Sie unter Tipps und Tricks ausführliche Informationen zur performanten ABAP-Programmierung, anhand der Sie sich mit den dort vorgestellten Codebeispielen vertraut machen sollten. In der Praxis gibt es immer wieder drei Programmierfehler, die zu einem hohen Hauptspeicher- bzw. CPU-Bedarf von Programmen führen: Fehlende REFRESH- bzw. FREE-Anweisungen - Mit den ABAP-Anweisungen REFRESH und FREE werden interne Tabellen gelöscht, und der allokierte Hauptspeicher wird freigegeben. Fehlen diese Anweisungen, werden unnötig Ressourcen blockiert, und die ausgeführten Operationen (READ oder LOOP) benötigen unnötig viel Zeit. Ineffizientes Lesen in großen internen Tabellen - Die ABAP-Anweisung READ TABLE ... WITH KEY ... erlaubt, in internen Tabellen zu suchen. Verwenden Sie diese Anweisung bei einer Standardtabelle ohne weiteren Zusatz, erfolgt die Suche sequenziell. Dies ist bei großen Tabellen ein aufwendiger Vorgang. Die Performance von Suchzugriffen wird wesentlich verbessert, wenn mit dem Zusatz ... BINARY SEARCH mittels binärer Suche gelesen wird. Dazu muss die Tabelle allerdings sortiert sein (siehe ABAP-Hilfe zur Anweisung READ TABLE). Die Performance von Operationen auf großen Tabellen optimieren Sie z. B. durch sortierte Tabellen (SORTED TABLE) bzw. Hash-Tabellen (HASHED TABLE). Wird ein READ-Befehl auf einer sortierten Tabelle ausgeführt, verwendet der ABAP-Prozessor automatisch eine binäre Suche. Wichtig ist, dass die Schlüsselfelder, die zur Suche verwendet werden, den Sortierkriterien der Tabelle entsprechen. Der Suchaufwand steigt bei einer sortierten Tabelle nur logarithmisch mit der Größe der Tabelle an. Konstante Zugriffskosten liegen bei Hash-Tabellen vor, falls die ABAP-Anweisung READ TABLE ... WITH TABLE KEY verwendet wird. Ein effizienter Zugriff auf Hash-Tabellen ist aber nur mit Angabe des vollständigen Schlüssels möglich! Geschachtelter Loop - Geschachtelte Loops werden häufig bei der Verarbeitung von abhängigen Tabellen verwendet (z. B. Kopf- und Positionsdaten). Handelt es sich bei HEADER und POSITION um Standardtabellen, loopt der ABAP-Prozessor für jeden Eintrag in der Tabelle HEADER über alle Einträge in der Tabelle POSITION und prüft für alle Einträge, ob die WHERE-Bedingung erfüllt ist. Dies ist insbesondere dann sehr zeitaufwendig, wenn die Tabellen HEADER und POSITION sehr viele Einträge enthalten. Verwendet man hingegen Tabellen vom Typ SORTED, ermittelt der ABAP-Prozessor die zu bearbeitenden Daten mit binärer Suche und iteriert nur über die Bereiche, die der WHERE-Bedingung genügen. Die Sortierung bringt allerdings nur Vorteile, wenn die WHERE-Bedingung die ersten Felder des Sortierschlüssels enthält.
Für Administratoren steht im Bereich der SAP Basis ein nützliches Produkt - "Shortcut for SAP Systems" - zur Verfügung.
In der Summe können wir also von einer Hauptspeicherauslastung von 87,6 % und einer CPU-Auslastung von 51,2 % ausgehen.
Vorgehensweise Support Packages aus dem SAPNet - R/3 Frontend laden Pflegen Sie vor dem Laden eines Support Package aus dem SAPNet - R/3 Frontend die Netzwerkparameter für die Anmeldung beim SAPNet - R/3 Frontend.
Schluss mit der unübersichtlichen Zettelwirtschaft macht die Freeware Scribble Papers. Allerdings eignet sich das Tool auch dazu, neben Notizen Textdokumente und Textschnipseln aller Art abzulegen, zu strukturieren und schnell aufzufinden.