Copyright © 1998, 1999, 2001, 2007 Jochen Hein
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections , with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
This is still a DRAFT only. I need to decide how to use the options available in the GNU Free Documentation License. You'll find the complete text of the gdfl in appendix Anhang C, GNU Free Documentation License.
Many of the designations used by manufacturer and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and I was aware of a trademark claim, the designations have been printed in caps or initial caps.
While every precaution has been taken in the preparation of this book, the publisher assumes no responsibility for errore or omissions, or for damages resulting from the use of the information contained herein.
Zusammenfassung
All you need to know
Dieses Werk ist allen Personen gewidmet, die Freie Software entwickeln, supporten, maintainen, dokumentieren oder benutzen. Es macht Spaß mit Euch allen zu arbeiten.
Inhaltsverzeichnis
Abbildungsverzeichnis
TPPARAM
fileTabellenverzeichnis
/usr/sap/trans
Beispiele
SAP R/3 ist ein komplexes System, innerhalb dessen betriebswirtschaftliche Anwendungen entwickelt und betrieben werden. R/3 läuft auf verschiedenen Hardware- und Betriebssystem-Plattformen, die Belastungen durch die Anwendungen sind enorm. Durch großen Umfang des System ist es relativ komplex zu installieren, konfigurieren und zu betreuen. Dieses Heft versucht, die wichtigsten Informationen für den SAP Basisbetreuer schnell verfügbar zu machen.
SAP R/3 setzt auf verschiedenen Betriebssystemen auf, Sie sollten mit dem von Ihnen verwendeten System vertraut sein. Zu speziellen Fragen zu Ihrem Betriebssystem konsultieren Sie die Dokumentation, die zu Ihrem System gehört.
Das eben gesagt gilt genauso für die verschiedenen, von SAP unterstützten Datenbanksysteme. Sorgen Sie dafür, dass Sie Zugriff auf die entsprechende Dokumentation haben. Möglicherweise gibt es eine nützliche Referenzkarte, die Sie sich in den Schreibtisch legen sollten.
Zur Zeit beschreibt dieses Heft nur Oracle-Datenbanken, sofern ie entsprechenden Teile datenbankabhängig sind. Ergänzungen sind herzlich willkommen.
Trotz aller Komplexität und dem Zeitdruck, der häufig in Projekten herrscht, ist die SAP-Welt sehr interessant und aufregend. Sorgen Sie dafür, dass Sie trotz allem immer genügend Spaß bei der Arbeit mit R/3 haben.
Aktuelle Versionen gibt's gelegentlich auf meiner Homepage. Das
Projekt wird jetzt von Sourceforge gehostet. Es gibt einen
CVS-Tree, mehr Informationen dazu gibt es hier. Das
Module heißt sapr3docs
.
Ich hoffe, dass Sie beim Lesen dieses Buches so viel Spaß haben,
und so viel lernen, wie ich beim Schreiben. Sie können mich per
e-Mail unter der Adresse <jochen@jochen.org>
erreichen.
Jochen Hein
Inhaltsverzeichnis
Das wichtigste zuerst: Dokumentieren Sie, was Sie tun. Gerade
bei einem Administrations-Team ist dies wichtig. Jeder benötigt die
Informationen, was an den Systemen geändert wurde, und wann das
passiert ist (in der Regel reicht dabei das Datum). Sie können
beispielsweise ein Verzeichnis anlegen, das auf allen betroffenen
Systemen verfügbar ist, zum Beispiel unter
/usr/sap/trans
. Dieses Verzeichnis sollte für
eine Unix-Gruppe, in der alle Administratoren (und die technischen
SAP-Benutzer) Mitglied sind, beschreibbar sein. Wenn Sie GNU-Emacs
verwenden, können Sie das Kommando M-x
add-changelog-entry verwenden. Schreiben Sie kurze, aber
vollständige Kommentare. Diese sollten für Ihre Kollegen, eventuell
neue Mitarbeiter und Sie selbst auch nach mehreren Jahren noch
verständlich sein. In Beispiel 2.1, „Auszug aus einem ChangeLog
“ sehen Sie ein
Beispiel für einen Log-Eintrag.
1998-10-07 Jochen Hein <jochen@jochen.org> *SID
: Profile-Parameter foo/bar von 100 auf 200 geändert. Grund: Fehlermeldungen im Systemlog (vor vier Wochen :-o ), System durchgestartet. *SID
: Mandant 000 als 100 kopiert für das neueste Geheim-Projekt.
Beispiel 2.1. Auszug aus einem ChangeLog
Achten Sie darauf, dass das ChangeLog
möglichst vollständig ist. Drängen Sie Ihre Kollegen, dass diese
ebenfalls dokumentieren. Das Schreiben eines
ChangeLog
-Eintrages dauert in der Regel nur
wenige Minuten. Für einfache Aktionen (wie in Beispiel 2.1, „Auszug aus einem ChangeLog
“ kann man das praktisch zugleich mit der
Änderungen aufschreiben. Größere Aktionen müssen üblicherweise extern
dokumentiert werden (Fahrpläne, Terminpläne etc.), in diesem Fällen
können Sie einfach auf diese Dokumente verweisen. Benötigen Sie
länger als ein paar Minuten für einen Eintrag, ist einfach nur
offensichtlich, dass diese Tätigkeiten noch nicht ausführlich genug
dokumentiert waren.
Neben der Dokumentation für Sie selber kann dies hilfreich sein, wenn Projekte nach Monaten nicht wissen, was für sie getan wurde, oder das eine oder andere nochmals anfordern. Außerdem wird ein Teil Ihrer Tätigkeiten transparenter – in der Regel ist das kein Schaden.
Wenn Sie die SAP R/3 Systeme unter Unix betreiben, dann sollten Sie ein Unix-System auf Ihrem Schreibtisch haben. Denn nur dann haben Sie genügend Erfahrung, auch im Notfall die wichtigsten Dinge parat zu haben. Ob das ein proprietäres Unix, Linux oder *BSD ist ist egal. Für Windows-Applikationen können Sie entweder einen Emulator verwenden, einen zweiten Rechner haben oder evtl. auf einen zentralen Applikationsserver zugreifen. Ich selbst habe mit einem Arbeitsplatzrechner unter Unix nur beste Erfahrungen gemacht, auch wenn es manchmal etwas komplizierter ist.
Sorgen Sie dafür, dass Sie die zentralen Unix-Konzepte und Werkzeuge verstanden haben und anwenden können. Nützliche Literatur finden Sie im Literaturverzeichnis. Je häufiger Sie Unix einsetzen, desto einfacher wird es. Sie werden Skripte entwickeln, um sich das Leben zu vereinfachen. Wenn Sie aus den Möglichkeiten der Unix-Shell herauswachsen, werfen Sie einen Blick auf Perl oder Python.
SAP hat für die technischen R/3-Benutzer eine Reihe von
nützlichen Aliasen definiert (Tabelle 2.1, „predefined aliases“). Sie können
sich die definierten Aliase mit dem Kommando alias
ansehen, wenn Sie als
angemeldet sind. Sie können (und sollten) weitere Aliase definieren.
and should add more aliases to
sid
adm˜/.customer.csh
oder
˜/.customer.ksh
. See Tabelle 2.2, „User-defines aliases“ for examples. Don't change the SAP
scriptes! Every change you make to standard SAP programs and
scripts will give you trouble when you are going to upgrade your
SAP R/3 system.
Alias | Description |
---|---|
cdexe | Change to the exe-directory
/sapmnt/ |
cdarch | Change to the saparch-directory
/oracle/ |
cdD | Change to the instance-directory
/usr/sap/ |
cdJC | Change to the instance-directory
/usr/sap/ |
cdS | Change to the instance-directory
/usr/sap/ |
cdpro | Change to the profile -directory
/sapmnt/ |
cdglo | Change to the global -directory
/sapmnt/ |
cddump | DB2: Change to the dump -directory |
Tabelle 2.1. predefined aliases
startsap/stopsap?
L ls -Flab
Ps ps -ef | grep
Pwd /bin/pwd
Su rlogin hermes09 -l
cdD is plain wrong; describe a better version
Alias | Description |
---|---|
cdtrans | Change to /usr/sap/trans |
cdput | Change to /usr/sap/put |
sapdba | sapdba -u / if you changed your database password. |
brbackup | brbackup -u / if you changed your database password. |
brarchive | brarchive -u / if you changed your database password. |
sapadmin |
Change into our local sapadmin
directory and execute ls -F
|
tcsh | Start /usr/local/bin/tcsh |
Tabelle 2.2. User-defines aliases
For your normal (non-SAP) unix user, define some aliases to get
and
sid
admora
(that's
the unix user for Oracle administration, adapt es needed for other
databases) quickly. I defined the aliases shown in Tabelle 2.3, „Aliase für die Systemverwalter“. With these commands I can even start
programs with a single command as a SAP R/3 admin user. Just try a
sid
sid
adm id and a
sid
adm hostname from
somewhere in your net where the .rhosts
permits a login.
Alias | Description |
---|---|
sid adm | rsh -l sid adm
appl-server |
orasid | rsh -l orasid
db-server |
Tabelle 2.3. Aliase für die Systemverwalter
If you are using the secure shell (ssh)
instead of rsh, you may even add the
-t
option, so you get a tty for every command
and can run sid
adm vi
.customer.csh. Even better, if you have a better
shell than ksh or csh installed,
you may use the shell-functions shown in Abbildung 2.1, „Useful shell functions“.
sapuser() { user="$1" if [ -z "$2" ]; cmd="/usr/local/bin/tcsh -l" else cmd="$2" fi ssh -t "$user" "$cmd" }
Abbildung 2.1. Useful shell functions
I suggest using tcsh when SAP is installed with csh users and using bash or zsh when SAP is using ksh. Abbildung 2.2, „Usage examples“ shows some usage examples.
$
alias c11adm="sapuser c11adm@c11host"
$
c11adm startsap
$
c11adm vi .customer.csh
$
c11adm
Abbildung 2.2. Usage examples
If you have more than one SAP system, consider distributing your
.customer.csh
with
rdist(1). See Abbildung 2.3, „a Distfile for rdist“ for an
example.
#!/usr/ucb/rdist -f HOSTS = (sid
adm@saphost1
orasid
@saphost1
sid
adm@saphost2
orasid
@saphost2
FILES = ( .customer.csh .customer.ksh ) ${FILES} -> ${HOSTS} install -R ;
Abbildung 2.3. a Distfile for rdist
You will have to create ~/.rhosts
files for
that. For details, see the man page rlogin(1).
Keep in mind, that these files should have mode 600 and the home
directories should be writeable only for the user.
If you start some scripts from cron, keep in mind, that no login-script will be read. So you won't have any environment variables defined that a lot of scripts need. I created a script sapbatch (Abbildung 2.4, „starting SAP script from cron“) that sets the right environment and finally calls the command at will.
#!/bin/ksh # source the profiles so that the environment is set . ~/.profile . ~/.kshrc # Log invocations with syslogd(8) logger -t sapbatch -p local3.info "Start: $@" "$@" exitcode=$? # Log end and exit code if [ $exitcode -gt 0 ]; then priority="error" else priority="info" fi logger -t sapbatch -p local3.$priority "End: (rc=$exitcode) $@" # give back the exit code to the caller exit $exitcode
Abbildung 2.4. starting SAP script from cron
Abbildung 2.5, „Crontab“ shows some entries in the
crontab
of the user
that
I use. You may or may not want them.
sid
adm
Crontab-Listing
#
# Cron-Jobs für das C11-System
#
SHELL=/usr/local/bin/bash
#
# Tägliche Überprüfungen des Systems. Kurz vor Mitternacht, damit
# die Protokolle im täglichen Mail-Aufkommen drin sind.
05 23 * * 1-6 test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch sapdba -u / -e 5 -check
25 23 * * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch sapdba -u / -cleanup
45 23 * * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch sapdba -u / -e 10 -next PSAP\%
59 23 * * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch /home/groups/sapadmin/scripts/check_sap | mail -s '[C11]: Daily Check' sapadmin
# Das Datenbank-Alert-Log des vergangenen Tages nach Besonderheiten
# durchsuchen, das Ergebnis landet in der Mail
1 0 * * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch /home/groups/sapadmin/monitoring/db-alerts
# SAProuter Logfile
2 0 * * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch /home/groups/sapadmin/monitoring/saprouter
#
# Monatlicher Export nach /dev/null
01 01 10 * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch /home/groups/sapadmin/scripts/exp_to_dev_null.sh | mail -s '[C11]: Export to /dev/null' sapadmin
#
# Datensicherung, Datenbank und Archive-Logs
15 04 * * 2,4,6 test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch /home/groups/sapadmin/scripts/online_backup.sh
#
# Datensicherung Archive-Logs
15 04 * * 1,3,5 test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch brarchive -u / -c force > /dev/null
#
# Monitoring Freiplatz in $ORACLE_HOME/saparch
0,5,10,15,20,25,30,35,40,45,50,55 * * * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch /home/groups/sapadmin/monitoring/saparch
# Monitoring Data und Work-Diractory
59 1 * * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch /home/groups/sapadmin/monitoring/datadirectory
58 1 * * * test -x /home/groups/sapadmin/scripts/sapbatch && /home/groups/sapadmin/scripts/sapbatch /home/groups/sapadmin/monitoring/workdirectory
Abbildung 2.5. Crontab
If you have more than one SAP system, it may be useful to create some simple scripts to start the most needed tools like sapdba, brbackup, brarchive, oder startsap/stopsap.
Example and description. getdbhost, getapplhosts etc.
LOG_SAPR3=local3 # Beenden des Skriptes mit Fehlermeldung die() { echo $0: $* >&2 exit 1 } # Prüfen einer SAP-System-ID (SID) auf Gültigkeit # Eingabe: <SID> # Ausgabe: 0 = ok; 1 = unbekannte SID; 2 = Dummy-System check_sid() { local SID tmp tmp=$1 SID=`echo $tmp | tr [a-z] [A-Z]` tmp=`rsh hermes01 grep "^$SID " /usr/sap/trans/.sapconf \ | awk '{ print $1 }'` if [ -z "$tmp" ]; then return 1 fi return 0 } # Datenbank zu einem System finden # Eingabe: <SID> # Ausgabe: Hostname des DB-Servers dbhost() { local SID dbhost SID=$1 check_sid $SID || die "Die System-ID '$SID' ist nicht bekannt" dbhost=`rsh hermes01 grep $SID/dbhost /usr/sap/trans/bin/TPPARAM \ | awk '{ print $3 }'` if [ -z "$dbhost" ]; then die "Kein Datenbankserver für das System '$SID' gefunden" fi if [ "$dbhost" = "dummy" ]; then die "Das System '$SID' ist als Dummy-System konfiguriert" fi echo $dbhost } # Liste der Applikationsserver zu einem SAP-System # Eingabe: <SID> # Ausgabe: Liste der konfigurierten Applikationsserver aus der # Datei /usr/sap/trans/.sapconf applservers() { local SID applservers SID=$1 check_sid $SID || die "Die System-ID '$SID' ist nicht bekannt" applservers=`rsh hermes01 grep "'^[1-9] $SID'" /usr/sap/trans/.sapconf \ | awk '{ print $4 }'` if [ -z "$applservers" ]; then die "Keine Applikationsserver zum System '$SID' gefunden" fi echo $applservers }
Abbildung 2.6. Shell functions
Create a directory where you can store useful scripts. You may even use that to share documentation and informations between admins. Useful scripts are for CD mounting, logfile analysis, and system monitoring. Examples?
sapcomm: start, stop, view <Log>
saprouter? see TODO
Central-Instance/Application Server managen
Using a CD drive that is at your local machine: If it is a Windows
system, get a commercial NFS server. Or better: use Linux. You
can mount the cd with mount -t iso9660 -o
map=off,norock,ro /dev/cdrom
/mount/cdrom and export it to your unix machine. On
AIX, I had to add the options
rsize=1024,wsize=1024
, but it worked fine.
Doing SAP upgrade without even seeing the machine! Wow!
Command | Description |
---|---|
disp+work -V | Display Kernel Version |
rslgview | Syslog Viewer: need to check! |
sapgui | SAPGui for unix |
dpmon | Anzeige des Dispatcher-Monitors |
sapevt | Senden von Events an ein SAP-R/3-System |
sapinfo | Auslesen von Systeminformationen/Prüfen der Systemverfügbarkeit |
saplicense | Anzeige und Ändern der SAP-Lizenz, you may also use
SLICENSE
instead. |
Tabelle 2.4. Useful commands
Beispiele für rslgview
sapgui, saplogon-Beispiele?
tail -f
awk/sed/perl
saplogon/sappad.pl
saplogon
mc
logger
g+s, Dateiaustausch, User-Wechsel, sudo? lsof, netcat, ncftpget, top/monitor/xsysstats, vmstat, perfagent (AIX), symon (Sun)
awk, sed, perl
Get a glance, how the system is running. You should get as well some monitoring tools for your operating systemen, see XXX for details. Monitor for AIX, top on Solaris, XXX on NT, other systems? xsysstats ist auch nett.
Environment variables
Mit der Transaktion SM50
kann die Belegung der
Work-Prozesse im SAP R/3 angezeigt werden. Der Befehl
dpmondpmon zeigt diese Übersicht auf Betriebssystem-Ebene an.
Als Parameter erwartet das Programm den Namen des betreffenden
Instanz-Profiles (Abbildung 2.7, „Aufruf des Befehls dpmon“).
dpmon zeigt ein Menü an, aus dem die
verschiedenen Anzeigen ausgewählt werden können. Mit
Enter wird die Anzeige aufgefrischt, im
Gegensatz zu SM50
wird die Anzeige aber auch nach wenigen Sekunden automatisch
erneuert.
Wenn Sie eine Systemlandschaft mit mehreren Rechner und SAP R/3
Systemen haben, dann können Sie sich möglicherweise mit dem
Skript aus Abbildung 2.8, „Shell-Skript für dpmon in einer
komplexen Systemlandschaft“ die Arbeit etwas
erleichtern. Als Parameter erwartet das Skript die System-ID
des R/3 Systems und den betreffenden Rechner, beispielsweise als
dpmon.sh
sid
@host
.
ssh $host -l sidadm dpmon pf=...
Abbildung 2.8. Shell-Skript für dpmon in einer komplexen Systemlandschaft
Inhaltsverzeichnis
First of all: Don't do that. If you are still forced to work with SAP R/3 under NT, read on.
Same as with unix: document what you are doing. If you are a team of
admins, this is essential. Everybody needs to know, who has been
doing what. I did create a directory writable by all out SAP
admins and put a file CangeLog
in there.
Keep your comments short but complete. For an example, look at
listing Abbildung 3.1, „Excerpt from a ChangeLog“, keep new entries at the top.
If you ask yourself how to add an entry, Emacs offers M-x
add-changelog-entry.
1998-10-07 Jochen Hein <jochen@jochen.org> *SID
: Changed profile parameter foo/bar from 100 to 200, because of errors in syslog (four weeks ago :-o ). System restarted. *SID
: Copied client 000 into 100 for the secret project.
Abbildung 3.1. Excerpt from a ChangeLog
Get the unix tools: grep, awk and so on. If you are looking for a scripting language, you may want to have a look at perl.
CHECK
SAP has defined some useful aliases, see Tabelle 3.1, „predefined aliases“
for details. You can display an actual list with the command
alias when logged in as the
. You may
and should add more aliases to
sid
adm~/.customer.csh
oder
~/.customer.ksh
. See Tabelle 3.2, „User-defines aliases“ for examples. Don't change the SAP
scriptes! Every change you make will give you trouble when you
are going to upgrade your sap system.
Alias | Description |
---|---|
cdexe | Change to the exe-directory
/sapmnt/ |
cdarch | Change to the saparch-directory
/oracle/ |
cdD | Change to the work-directory
/usr/sap/ |
Tabelle 3.1. predefined aliases
Alias | Description |
---|---|
cdtrans | Change to /usr/sap/trans |
cdput | Change to /usr/sap/put |
sapdba | sapdba -u / if you changed your database password. |
brbackup | brbackup -u / if you changed your database password. |
brarchive | brarchive -u / if you changed your database password. |
Tabelle 3.2. User-defines aliases
c11env.cmd, telnet, at/cron
Create a directory where you can store useful scripts. You may even use that to share documentation and informations between admins. Useful scripts are for CD mounting, logfile analysis, and system monitoring. Examples?
Inhaltsverzeichnis
Beside your work at the operating system level, there are lots of tasks that need to be done in R/3 itself. Sometimes, it is easier to do something at the OS level, sometimes in R/3. That depends on your experience.
Most of the time you can work only with your R/3 account. But be aware that you may make your live a lot easier when you can use some unix commands or write scripts for tasks that are not easily done in R/3.
OK-Codes are used to do a lot of things in SAP. Most functions can also be started with a mouseclick, but knowing the OK-Code is sometimes much faster. SAP tells that OK-Codes and transactions may eventually die, but I hope they will survive.
OK-Code | Beschreibung |
---|---|
/o | Übersicht der offenen Modi und die Möglichkeit einen bestehenden zu löschen oder einen neuen zu erzeugen. |
/o | Öffnen eines neuen Modi mit der Transaktion
transaktion |
/n
|
Beenden der aktuellen Transaktion und starten der neuen
Transaktion transaktion im
aktuellen Mode. Achtung, nicht
gespeicherte Daten gehen ohne Warnung verloren! |
/*
|
Beenden der aktuellen Transaktion und starten der neuen
Transaktion transaktion im
aktuellen Mode. Der erste Bildschirm der neuen
Transaktion wird nicht angezeigt (wenn?).
XXX Achtung, nicht
gespeicherte Daten gehen ohne Warnung verloren! |
/i | Beendet den aktuellen Modus. Achtung, nicht gespeicherte Daten gehen ohne Warnung verloren! |
/i | Beendet den angegebenen Modus. Achtung, nicht gespeicherte Daten gehen ohne Warnung verloren! |
/nend | Beendet die aktuelle Sitzung und schließt alle offenen Modi. Es wird eine Bestätigung verlangt, in den verschiedenen Modi noch nicht gespeicherte Daten gehen ohne weitere Warnung verloren. |
/nex | Beendet die aktuelle Sitzung ohne Nachfrage. Alle offenen Modi werden ohne Nachfrage geschlossen, Daten können verloren gehen. |
.xyz | Traversieren der Menü-Shortcuts (Hotkeys) |
/h | Springen in den Debugger (Im R/2: 'h', »Hoppeln«) |
/hs | Springen in den Debugger (Systemfunktionen?) |
/$SYNC | Synchronisieren aller Puffer. Durch diese Funktion kann die Performance erheblich verringert werden! |
/$TAB | Synchronisiere den Tabellen-Puffer. Durch diese Funktion kann die Performance negativ beeinflußt werden. |
/$CUA | Synchronisiere den CUA-Puffer. Durch diese Funktion kann die Performance negativ beeinflußt werden. |
/$NAM |
Synchronisiere den NAMTAB -Puffer.
Durch diese Funktion kann die Performance negativ
beeinflußt werden.
|
/$DYNP | Synchronisiere den Dynpro-Puffer. Durch diese Funktion kann die Performance negativ beeinflußt werden. |
/h | In den Debugger wechseln. XXX Welche Berechtigungen sind hier erforderlich? |
/bend |
Batch-Input beenden, dabei können Sie mit »Wiederaufnahme«
in die Transaktion SM35 zurückspringen.
|
/p-- | Auf die erste Seite einer Liste springen. |
/p- | Eine Seite rückwärts blättern. |
/p+ | Zur nächsten Seite vorblättern. |
/p++ | Auf die letzte Seite springen. |
%pc | Liste downloaden. |
%sc | In der Liste suchen. |
%pri | Angezeigte Liste drucken. |
Tabelle 4.1. OK-Codes im SAP-R/3
Das Zurücksetzen der Puffer mittels /$SYNC
sollte normalerweise
nicht notwendig sein. Wenn Sie jedoch
»merkwürdige Phänomene« haben, dann ist es durchaus möglich,
dass durch einen Transport die Puffer etwas durcheinandergeraten
sind. Wenn Sie derartiges feststellen, dann wird es Zeit, das
SAP R/3 System, genauer die Applikationsserver, mal wieder
durchzustarten (Wir tun das alle vier Wochen für eine
Offline-Sicherung).
Bei der Verarbeitung von Batch-Input Mappen werden einige weitere OK-Codes verwendet. Das sind einmal Kürzel für die verschiedenen Funktionstasten, alternativ kann auch der entsprechende Funktionscode verwendet werden, wie er im Dynpro (XXX Transaktion) definiert wurde. Außerdem können Sie die Funktion aus dem Menü
+ + mit Hilfe der hier angegebenen Codes ausführen.OK-Code | Beschreibung |
---|---|
/bend | Beenden der Batch-Input Verarbeitung |
/bdel | Transaktion aus der Batch-Input Mappe löschen. Achtung, dies kann die Konsistenz Ihrer Daten, z.B. bei der Übernahme aus Fremdsystemen beeinträchtigen. |
/bda | Batch-Input im Modus »sichtbar abspielen« weiterführen. |
/bde | Batch-Input im Modus »nur Fehler anzeigen« weiterführen. |
/bdx | Expertenmodus einschalten (Wozu dient der denn überhaupt?) |
/bdy | Expertenmodus beenden. |
/01 bis /12 | Die Funktionstasten F1 bis F12. |
/13 bis /24 | Die Tastenkombinationen Shift-F1 bis Shift-F12. |
Tabelle 4.2. OK-Codes bei der Batch-Input Verarbeitung
Cancel (F12) und Exit (F15) vermerken die Transaktion als gebucht!
Mit Benutzerparametern (Set/Get-Parameter) kann ein Benutzer sich verschiedene Felder mit (fixen) Werten vorbelegen. Verschiedene Transaktionen merken sich in diesen Parametern den zuletzt eingegebenen Wert, z.B. bei einer Kundennummer.
Nicht alle Felder, tatsächlich sind es eher wenige Felder, können mit Werten vorbelegt werden. Ob das in der aktuellen Transaktion und dem aktuellen Feld möglich ist, sagt die »technische Info« in der Hilfe (mit dem Cursor auf das Feld gehen, F1 drücken und dann den Button oder F6 betätigen.
Mit der Transaktion SU52
kann jeder Anwender die
Benutzerparameter für sich selbst einrichten. Der
Benutzerverwalter kann aus der Benutzerpflege (Transaktion
SU01
) für seine
Anwender Benutzerparameter pflegen.
Parameter | Bedeutung |
---|---|
BIL | Download-Bilanzversion |
BUK | Buchungskreis |
GR8 | Download-Pfad |
GR9 | Upload-Pfad |
KPL | Kontenplan der Finanzbuchhaltung |
WRK | Werk |
Tabelle 4.3. Einige wichtige Benutzerparameter
Was sind Varianten-Variablen?
GPA's und RFC-Transaktionen. Bei mir geht's erstmal nicht...
Profilegenerator
Benutzermenüs -> SAPLOGON/Session-Manager?
Tips: Adresse/Telefonnummer pflegen, Kostenstellen und Benutzergruppen verwenden, Gültigkeitsdaten, Vermessungsdaten
Beachten Sie den Hinweis 76829: Möglichst keine Benutzernamen mit Wildcards ("*","_", ".", "%") verwenden. Warum? Suchfunktionen gehen nicht vernünftig oder es gibt Schwierigkeiten im Transportsystem.
Tabelle 4.4. Transaktionen zur Benutzerpflege
Report | Beschreibung |
---|---|
RSUSR003 | Standard-Paßwörter |
RSUSR005 | Kritische Berechtigungen |
RSUSR006 | Gesperrte Benutzer und Falschanmeldungen |
RSUSR008 | Kombinationen kritischer Transaktionen |
Tabelle 4.5. ABAPs zur Benutzerverwaltung
Report | Beschreibung |
---|---|
RSSOINBO | Anzahl SAPOffice Dokumente im Eingang |
RSSOPRIV | Anzahl SAPOffice Dokumente |
RSSORE01 | Konsistenz-Check SAPOffice |
RSSOTRCL | Löschen SAPOffice Traces |
Tabelle 4.6. ABAPs zum SAPOffice
Die aktuelle Transaktion findet man unter /ns000 im OK-Code. Ab Release 4.6 erreichen Sie das alte Menü mit /ns000_old.
-> . In das Hauptmenü kommt man immer mit der Eingabe
Viele Funktionen zum SAP System Management sind im
CCMS (Computing Center Management System)
zusammengefaßt. Mit der Transaktion SRZL
kann dieses Menü direkt
aufgerufen werden.
DB13?
Transaktion | Beschreibung |
---|---|
RZ03 | Control Panel |
RZ04 | Pflege von Instanzen und Betriebsarten |
RZ10 | Profil-Pflege |
RZ11 | Attribute zu Profil-Parametern |
SRZL | Aufruf des CCMS |
SMLG | Pflege von Logon Groups |
SU01 | Pflege Benutzerstammsätze |
SU02 | Berechtigungsprofile |
SU03 | Berechtigungen |
Tabelle 4.7. Funktionen zur Systemüberwachung
Wozu dient das Monitoring überhaupt? Warum sollte man sich schnell zurechtfinden können? Um im Notfall schnell reagieren zu können.
DB Monitoring
Accounting
stat/tabrec in Instance profile
Transaktion | Beschreibung |
---|---|
AL11 | Anzeige von Unix-Dateien in verschiedenen Pfaden |
OS01 | LAN check with ping (DB-Server, Applikationsserver, Frontend-Rechner |
RZ03 | Alert-Monitor |
SA38 | Starten von ABAPs |
SM02 | Versenden von Systemnachrichten |
SM04 | Benutzerübersicht, je Server und Speicherbedarf je
Benutzer, Echo-Modus. Alle SAP-Benutzer auf einen Blick
sieht man in der Transaktion SMLG . |
SM13 | Steuerung des Verbuchers |
SM21 | Systemlog |
SM35 | Batch Input |
SM35P | Batch Input Reorganisation |
SM37 | Job Übersicht |
SM50 | Instance View |
SM51 | Prozesse der aktuellen Instanz |
SM56 | Status Nummernkreispuffer |
SM66 | Globale Prozess-Übersicht Prozesse |
SMGW | Gateway-Monitor. Siehe auch Hinweis 64016 |
ST02 | Puffer-Analyse, Puffer sollten normalerweise deutlich über 90% Qualität liegen, siehe auch [AW-Performance]. |
ST03 | Performance-Analyse, mittels der Pofile kann per Doppelklick bis auf die einzelne Transaktion und in das Detailbild gesprungen werden. |
ST04 | Datenbank-Monitor |
ST05 | SQL-Trace je Benutzer, kann zur Analyse von langen Datenbankzeiten hilfreich sein. Zur Analyse sollte man Grundkenntnisse von SQL und dem SAP Datenmodell haben. |
ST07 | Anwendungsmonitor |
ST14 | Anwendungsanalyse |
ST22 | Dump analysis |
SRZL | Direkter Aufruf des CCMS |
TU02 | Anzeige von Profilparametern, der Datei
init
und deren Änderungshistorie |
Tabelle 4.8. Transaktionen zum System-Monitoring
Bei schwerwiegenden Problemen schreibt das SAP-R/3-System
sogenannte Developer-Traces Developer-Traces. Diese Dateien
(mit dem Namen dev_*
) werden im
Work-Verzeichnis bei jedem Systemstart neu angelegt. Sie können
sich diese Dateien mit der Transaktion AL11
ansehen oder auf
Betriebssystemebene.
Den Trace-Level für einen Work-Prozeß kann man in der
Transaktion SM50
erhöhen. In den Traces finden sich Hinweise, wie die SAP Basis
bestimmte Fuktionen bearbeitet hat. Besonders nützlich ist der
Trace bei RFC-Destinationen, in diesen findet man häufig die
Ursache für nicht funktionierende RFC-Funktionen.
Achtung: Trace-Dateien können sehr schnell wachsen, daher sollten Sie diese Funktion nicht im produktiven Betrieb verwenden. Besonders beliebt ist es, für die Fehlersuche den Trace einzuschalten und dann zu vergessen diesen wieder abzuschalten.
ABAP | Beschreibung |
---|---|
RDDPROTO | Anzeige
der Upgrade-Protokolle (ab Release 4.5x ersetzt durch
/usr/sap/trans/upgrade/ ) |
RSBDCOS0 | Ausführen von Betriebssystemkommandos |
RSLG0014 | Testprogramm: Schreiben von Systemlog-Einträgen |
RSPARAM | Anzeige der aktiven SAP Profile Parameter |
RSPFPAR | Anzeige der aktiven SAP Profile Parameter |
RSTRANSP? | Transport von Varianten |
RSUSR003 | Paßworte der SAP-Standardbenutzer prüfen. |
Tabelle 4.9. Nützliche ABAP/4-Programme
Im R/3 werden alle Daten in Tabellen des Datenbanksystem gespeichert. SAP unterscheidet zwischen Anwendungsdaten (Stamm- und Bewegungsdaten), Customizing-Einstellungen und (XXX was noch?). Anwendungsdaten werden mit Hilfe von Transaktionen der Anwendung bearbeitet, Customizing-Einstellungen werden über verschiedene Transaktionen und die Tabellenpflege bearbeitet.
Transaktion | Beschreibung |
---|---|
SM30 | View-Pflege |
SM31 | Tabellen-Pflege |
SCU0 | Tabellenabgleich zwischen Systemen |
SCU3 | Tabellen-Historie[1] |
SE01 | Transporting tables and more |
SE11 | Data Dictionary |
SE12 | Data Dictionary (Anzeige) |
SE16 | Inhalts-Anzeige von Tabellen nach Kriterien |
??? | Technische Einstellungen, Indices |
Tabelle 4.10. Transaktionen zur Tabellenpflege
[1]
Wie Transportiert man Tabelleneinträge?
SE16: Tabellenpflege mit F5 bzw. Satz markieren, /h, Detail-Button, F7, ok-code = "EDIT", F8. Sinn? Gerade beim entwickeln und Debuggen sinnvoll, möglicherweise auch Manipulation von Daten -> erzählen Sie des der Revision besser nicht
Bei großen SAP R/3-Installationen steigen die Anforderungen an Antwortzeiten und Ausfallsicherheit. Für die Zentralinstanz werden häufig High-Availability-Lösungen wie HACMP™ von IBM oder Veritas-HA™ von Veritas eingesetzt. Bei verteilten Systemen mit mehreren Applikationsservern ist es zu aufwendig, dieses Verfahren für jeden Applikationsserver einzusetzen. Eine einfache Abhilfe ist der Einsatz von Logon-Groups.
Eine Logon-Group wird im R/3 definiert und umfaßt eine oder mehr Dialog-Instanzen. Bei der Anmeldung mit SAPLOGONSAPLOGON wird der Benutzer nicht direkt mit einem SAP-Server verbunden, sondern das Programm fragt zunächst den Message-Server, welche Instanzen verfügbar sind und wie deren derzeitige Auslastung ist. Anschließend wird das Programm SAPGUISAPGUI gestartet, das sich mit einem geeigneten Applikationsserver verbindet.
Die Definition und Überwachung von Logon-Groups erfolgt mit der
Transaktion SMLG
( ->
-> -> -> ->
).
Die Verteilung der Benutzer auf die verschiedenen an der Logon-Group beteiligten Rechner erfolgt nach zwei Kriterien: die aktuelle Antwortzeit der Server und der jeweiligen Benutzeranzahl. Thresholds, quasi-statisch
Bei Rechnern, die mehrere IP-Adressen haben (multihomed hosts) ist es in der Dialogbox möglich die IP-Adresse anzugeben, die den Clients übergeben wird. Default ist der Hostname des ApplikationsserversApplikationsserver.
Mit dem Menü
-> -> wird im Übersichtsbild eine ausführlichere Liste angezeigt, die wesentlich aussagekräftiger ist, als die kurze Liste. Mit dem Menüpfad -> wird eine Benutzerübersicht über alle Instanzen aufgebaut, und der Pfad -> zeigt den aktuellen Status aller Instanzen an, die an der Lastverteilung beteiligt sind.ABAP: RSRZLLG0 steuert die Lastverteilung
Unter Unix: lgtst und eigene Skripte, unter Windows: SAPLOGON kann es.
Inhaltsverzeichnis
Die HintergrundverarbeitungHintergrundverarbeitung dient im
wesentlichen zwei Zwecken, der Durchführung regelmäßiger
Tätigkeiten (z.B. Reorganisationen, Schnittstellen) und der Verarbeitung großer
Datenmengen (in Dialogprozessen ist die maximale Laufzeit durch
den Profile-Parameter rdisp/max_wprun_time
begrenzt, der
Standardwert sind 300 Sekunden).
Jobs können von Anwendern manuell
eingeplant und erstellt werden, manche Funktionen (z.B. Zahlen, Mahnen,
Einzug) erstellen automatisch JobsJob, oder bestehende Jobs werden in
bestimmten Abständen oder auf Anforderung wiederholt.
Neben der regelmäßigen, automatischen Ausführung von Programmen
werden Jobs zum Start von länger dauernden Auswertungen
u.ä. verwendet. Wenn in einer Dialog-Task die Laufzeit den
Wert des Profile-Parameters rdisp/max_wprun_time
überschreitet, so
wird das Programm vom System beendet. Der Standardwert dieses
Parameters ist 300 Sekunden. Auch Online-Programm können länger
laufen, wenn sie gelegentlich einen COMMIT machen.
In Jobs können Reports (ABAP/4-Programme) und externe Programme
(Betriebssystem-Programme) verwendet werden. Bei Reports, die
Parameter haben, muß für die Verwendung in Jobs eine entsprechende
VarianteVariante angelegt werden,
bei SA38
mit der
Funktion -> , wird automatisch eine temporäre
Variante erstellt.
Zum Starten von Jobs ist die Batch-Administrator-Berechtigung notwendig. Andernfalls kann der Benutzer zwar(?) Jobs einplanen, diese werden aber nicht freigegeben. Das kann sinnvoll sein, wenn die Belastung des Systems durch von Anwendern gestarteten Jobs zu groß wird und diese in die Nacht verlegt werden müssen. Andererseits kann auch ein Anwender einen anderen Starttermin angeben.
SAP R/3 sieht drei JobklassenJobklasse
vor, C
für normale Anwenderjobs,
B
für dringende Jobs und A
für Systemjobs, die zur Aufrechterhaltung
des Betriebes erforderlich sind. Für Jobs der Klasse A
wird stets
versucht, die im Instanzprofil angegebene Anzahl Workprozesse
freizuhalten. Wenn also ein Workprozess für die Klasse A
reserviert ist, dann
belegt ein Klasse-A Job diesen Prozess und ein anderer
Hintergrund-Prozess wird für den nächsten Klasse-A Job reserviert.
Bei der Funktion SA38
und SE38
sucht das System automatisch einen freien
Work-Prozeß auf einem beliebigen Server. Beim Erstellen eines Jobs mit SM37
ist es möglich den Namen
eines Hintergrundservers anzugeben. Der Jobs läuft dann auf genau
diesem Server -- wenn der Server allerdings zum Starttermin nicht
verfügbar ist, dann wechselt der Job in den Status »bereit«, wird
aber nicht ausgeführt. Sofern man das mitbekommt, kann man den
Job natürlich entsprechend anpassen.
In der Regel sollten Sie das R/3 System die Lastverteilung durchführen lassen - das wird normalerweise gut genug funktionieren. Nur in Ausnahmefällen, z.B. für große Reorganisationen oder datenbanklastige Reports kann es sinnvoll sein, die Jobs auf dem Datenbankserver einzuplanen. Alternativ können Sie auch einen Rechner als dedizierten Batch-Server einrichten und regelmäßige Jobs dort gezielt einplanen.
In den Instanzprofilen (Transaktion RZ10
) müssen genügend Prozesse
für die Hintergrundverarbeitung eingestellt sein. Es sollte auf
jeder Instanz, die Hintergrundprozesse konfiguriert hat
mindestens ein Backgroundprozeß für die Jobklasse A reserviert
sein. Beachten Sie, dass die Aufteilung der Workprozesse mit
BetriebsartenBetriebsart
geändert werden kann.
Bis R/3 Release 3.1x muß der Benutzer SAPCPIC
mit dem Paßwort ADMIN
und dem Profile S_SAPCPIC
existieren; sont klappt die
Rückmeldung von externen Programmen ins SAP R/3 nicht.
SMX
Eigene Jobs
Kurzübersicht über die eigenen, aktiven oder abgebrochenen
Jobs. Es gibt diverse Sprungmöglichkeiten, die die
Überwachung von Jobs deutlich vereinfachen können. Leider
ist nicht diese Funktion, sondern die Transaktion
SM37
im Menü
-> ->
enthalten. Sie können Ihre gerade
laufenden Jobs mit einem Knopfdruck abbrechen und sehen
eine Übersicht über die letzten abgebrochenen Jobs.
SM36
Job-DefinitionErstellen von Jobs, das sind Abfolgen von Reports und externen Programmen. Bei ABAPs, die Parameter haben, wird eine Variante benötigt, externe Programme müssen vorhanden und im Pfad sein oder mit dem vollständigen Pfad angegeben werden.
SM37
Job-ÜbersichtEinplanen und Überwachen von Jobs. Wenn man nicht Batch-Administrator ist, dann sieht man nur Jobs im eigenen Mandanten. Jobs können zu bestimmten Zeiten, regelmäßig oder nach Events oder anderen Jobs eingeplant werden. Gelegentlich zeigt das System einen Job in einem falschen Status an, mit der Funktion
schaut das System etwas genauer hin und korrigiert die Anzeige.SM39
Performance-AnalyseNützlich, um aktuelle und durchschnittliche Laufzeiten sowie Abweichungen zu ermittlen. Mit dem Button
kann man z.B. kritische Jobs anzeigen. Diese Funktion ist gut zur Analyse der Hintergrundverarbeitung geeignet, dabei geht es oft um Laufzeiten und Verspätungen. Mit erhält man eine Übersicht über alle Batch-Prozesse des R/3 Systems.SM50
Prozeß-ÜbersichtÜbersicht über alle Prozesse, egal ob Dialog, Batch oder etwas anderes, der aktuellen Instanz und deren Belegung. Es wird der Benutzer, das laufende Programm und der aktuelle Datenbank-Zugriff angezeigt. In der Detail-Anzeige werden genauere Informationen angezeigt.
SM51
Server-ÜbersichtSpringen zu diversen Funktionen wie
und mit -> zu den Developer-Traces. Praktischer Einstieg ins Monitoring.SM61
Background ObjectsVerwalten der Hintergrund-Verarbeitung; es können einzelne Subsysteme angehalten werden oder mit eine Ablaufverfolgung versehen werden (einmalig oder permanent). Sehr nützlich zur Fehlersuche.
SM64
Trigger EventAuslösen eines EventsEvent. Wenn ein Job oder mehrere Jobs auf diesen Event warten, so werden diese gestartet. Leider werden Events nicht protokolliert, so dass Fehler möglicherweise nicht nachvollziehbar sind. Auf Betriebssystem-Ebene kann ein Event mit dem Kommando sapevt ausgelöst werden, dabei kann ein Event von jeder unterstützten Plattform ohne Paßwort ausgelöst werden.
SM65
Analysetool der HintergrundverarbreitungEinfacher Test, ob die Hintergrundverarbeitung funktioniert. Unter
-> werden weitere, intensivere Tests angeboten.SM66
Globale Workprozeß-ÜbersichtAktuell aktive Workprozesse anzeigen; Diese Funktion ist ein nützliches Performance-Analyse-Hilfsmittel. Besonders vorteilhaft ist, dass alle Prozesse auf allen Server angezeigt werden.
RZ01
Job-Scheduling MonitorGraphische Darstellung der Background-Workprozesse, deren vergangener und geplanter Belegung. Sprungbrett für diverse Job-Analysen über die Menüs
und .
Mit dem Menü SA38
bzw. SE38
) einen ABAP im Hintergrund
starten, ohne einen Job anlegen zu müssen. Für einen Job in der
Transaktion SM36
bzw. SM37
ist
eine VarianteVariante
erforderlich.
Varianten sind vorgefertigte Eingaben von Report-Parametern. Varianten können so angelegt werden, dass diese nur für Hintergrund-Jobs verwendet werden können oder dass die Eingabe von einzelnen oder allen Feldern nicht möglich ist. Nützlich sind Varianten bei Reports, die häufig mit denselben Parametern oder bestimmten Variablen gestartet werden sollen.
Mit der Transaktion SE38
bzw. SA38
und dem Menü
->
kann man Varianten
auswählen oder erzeugen. Bei
der Funktion -> erzeugt das System
automatisch eine temporäre Variante.
Viele Online-Listen sind ebenfalls Reports, für die Varianten hinterlegt werden können. Das ist nützlich als Merkhilfe oder Schablone für Parameter, aber auch als Kommunikationshilfmittel zwischen Anwender und Administrator. Mit einer Variante kann man sehr einfach sicherstellen, dass beide dieselben Parameter verwenden.
Statische Varianten sind unflexibel, es ist insbesondere häufig notwendig, regelmäßige Jobs mit dem aktuellen Datum zu starten. Hierfür kann man Variablen in Varianten verwenden, dabei gibt es drei Möglichkeiten:
Datumsvariablen; Typ D, Tagesdatum oder Tagesdatum ± Anzahl Tage
Selektionsvariablen (statische Werte); Typ T
Benutzerspezifische Variablen (Memory-ID;
set/get-parameter); Ändern aus Programm mit
Funktionsbaustein VARI_USER_VARS_*
, durch den
Benutzer mit ->
Variablen werden in der Variantenpflege angelegt, indem man die Option Selektionsvariable anwählt. Im folgenden Fenster kann man die Variable genauer spezifizieren.
Externe Programme werden unter Unix™ mit
den Rechten des Benutzers
ausgeführt. Damit ist ein sehr weitreichender Zugriff auf die
Daten des R/3-Systems möglich. Achten Sie darauf, dass möglichst
wenige Benutzer die Berechtigung zum Starten externer Programme
haben und diese nach Möglichkeit weiter eingeschränkt wird.
sid
adm
Programme stehen entweder im Suchpfad den
oder
müssen mit dem vollen Pfad angegeben werden. Besser ist die
Definition von logischen Kommandos mit der Transaktion
sid
admSM49
. Damit kann
man Unterschiede zwischen den verschiedenen Betriebssystemen
verdecken und die eigentlichen Programme vor den Anwendern
verbergen.
Für den Start externer Programme muß bis zum R/3-Release der
Benutzer SAPCPIC
mit dem
Paßwort ADMIN
im
entsprechenden Mandanten existieren. Andernfalls ist keine
Rückmeldung des Jobs in das R/3-System möglich.
Bei Problemen finden Sie Logs und Traces im Systemlog
(SM21
), in den
Developer-Traces (SM51
,
->
, Datei
dev_cp
, dev_xpg
bzw. die Workprozeß-Traces) und können mittels SM65
ausführliche Ausgaben
anfordern.
Das geprüfte Berechtigungsobjekt ist S_LOG_COM
in der Klasse Basis - Administration
. Hier kann
man die Ausführung von Programmen ja nach Rechner,
Betriebssystem und Kommando (real oder logisch?) erlauben.
Hintergrungverarbeitung kann das System stark belasten. Im Gegensatz zur Sanduhr in einem Modi (und irgendwann sind die Modi alle) merkt der Anwender davon zunächst nichts. Wenn Sie ein größeres System mit vielen Work-Prozessen für die Hintergrundverarbeitung haben, dann kann ein Anwender praktisch das gesamte System lahmlegen. Erschwerend kommt hinzu, dass besonders langlaufende und belastende Programme in den Hintergrund geschickt werden.
Abhilfe ist hier nur auf zweierlei Weise möglich: Entweder werden Anwender entsprechend ausgebildet und verhalten sich vernünftig (so vernünftig wie Anwender halt sein können...) oder die Berechtigung zum Start von Hintergrundprogrammen wird allen Anwendern entzogen und Jobs werden zentral verwaltet, eingeplant und überwacht. Auf Großrechnern war das Zweite üblich, heute wohl eher die Verantwortung der Anwender.
S_BTCH_NAM
Der Job darf unter einer anderen Benutzerkennung ablaufen, die Berechtigung ist einschränkbar auf Benutzernamen. Damit ist es möglich (und sinnvoll) spezielle Batch-Benutzer anzulegen.
S_BTCH_ADM
Ja/Nein-Eintrag, der festlegt, ob ein Benutzer Jobs verwalten (und z.B. direkt starten darf). JA?
S_BTCH_JOB
Erlauben von Operationen auf Jobs, einschränkbar auf
einzelne Aktionen (PROT
, RELE
, SHOW
) und
Job-Gruppen (was ist das?)
S_LOG_COM
Berechtigung zum ausführen von logischen Kommandos nach Rechnername, Betriebssystem und Kommando vergebbar.
Berechtigungsklasse: Basis - Entwicklungsumgebung, Objekt: ABAP: Programmablaufprüfungen, S_PROGRAM, Aktionen SUBMIT (Start), VARIANT (Varianten-Pflege und Start) und EDIT (Attribute und Textpool). Berechtigungsgruppe ABAP/4-Programm (Report Attribute?).
Wie heißt die Berechtigung für externe Programme (SM49?)
Gehen logische Kommandos in Jobs? Ich glaube nein
Das Job-Protokoll ansehen mit der Transaktion
SM37
.
Das Systemlog mit SM21
ansehen. Achtung: die richtige
Instanz erwischen!
Die Developer-Traces ansehen (SM51
)
Existieren Dumps? Mit ST22
ansehen.
Geht es um externe Events? Dann das Kommando sapevt -t verwenden.
Nützt das alles nichts? Dann mit SM65
Traces einschalten und
analysieren.
OSS-Hinweis 37104 lesen.
SAP R/3 unterstützt viele Plattformen, dabei unterscheiden sich die Namen von Betriebssystem-Dateien und Betriebssystem-Programmen zum Teil drastisch. Mit logischen Namen kann man diese Unterschiede verdecken, damit ist es möglich, ABAPs und Programme auf verschiedenen Plattformen ohne Anpassungen zu verwenden.
Logische Dateinamen bestehen aus drei Teilen: dem logischen Pfad, die Zuordnung des physikalischen Pfades in der jeweiligen Syntax abhängig vom verwendeten Betriebssystem und die Zuordnung eines logischen Pfades zu einem logischen Dateinamen (als Attribut ist hier die Ersetzung des Dateinamens hinterlegt).
Welche Tabellen sind das? Mandantenübergreifend!
FILE
Define logical filenames
SM49
Logische Kommandos definieren und ausführen
SM69
Logische Kommandos ausführen
In eigenen ABAP-Programmen kann mit CALL
SYSTEM ein Betriebssystem-Kommando ausgeführt
werden. Mit dem Funktionsbaustein WS_EXECUTE
kann ein Programm auf
dem Frontend-Rechner gestartet werden.
Nur die wichtigsten: FILENAME (muß!), OPSYS, INSTANCE, SYSID, DBSYS, CLIENT, DATE und Co.
PARAM_1, PARAM_2 (wie geht das?)
<F=Funktion> Funktionsbaustein FILENAME_EXIT_Name
<P=Profile-Parameter>
<V=Variable> aus der Variablentabelle (Varianten zum Vergleich?)
Berechtigungeklasse: Basis - Administration
Berechtigungsobjekt: Berechtigung zum Ausführen logischer Kommandos S_LOG_COM, Einschränkbar auf Rechnername, Betriebssystem und logisches Kommando.
Berechtigungen für den Dateizugriff, S_DATASET, Einschränkbar auf ABAP/4-Programmname, Aktivität (lesen/schreiben) und physischer Dateiname (3.0-Bug: geht nicht).
Hintergrund-Jobs können nicht nur direkt und zeitgesteuert eingeplant werden, es ist auch möglich, diese nach dem Eintritt eines speziellen Ereignisses starten zu lassen. Ein derartiges Ereignis ist ein SAP-Event, die Startart ist eventperiodisch.
System/Benutzer-Event
SM62
Anzeige/Pflege von Event-BezeichnungenVor der Verwendung muß ein Event definiert werden, dies geschieht mit dieser Transaktion.
SM64
Auslösen von EventsVor der Verwendung muß ein Event definiert werden, dies geschieht mit dieser Transaktion.
SM36
Job-DefinitionErstellen eines Jobs und Zuordnung eines Events
SM37
Job-ÜbersichtZuordnung eines Events im Änderungsmodus. Bei der Selektion ist es ebenfalls möglich, nach Jobs zu suchen, die nach einem bestimmten Event gestartet werden.
Event-Parameter
You may even trigger an event by running the command sapevt, see Abbildung 5.1, „Trigger an event from the operating system level“ for an example. This program is available for all supported plattforms including Windows NT. Be aware, that anybody in your LAN can send events (you only need to now the application server and the instance number your SAP runs on). You won't even know which IP address has triggered the event.
%
/sapmnt/
hermes09:c11adm 4> sapevt usage: sapevt event [-p param] [-t] pf=<profile> | name=<Name> nr=<nn> hermes09:c11adm 5> sapevt ZZ_TEST -t -p Jochen_Text pf=/sapmnt/C11/profile/DEFAULT.PFL hermes09:c11adm 6> sapevt ZZ_TEST -p Jochen_Text pf=/sapmnt/C11/profile/DEFAULT.PFL hermes09:c11adm 7> sapevt ZZ_DUMMY -p Jochen_Text pf=/sapmnt/C11/profile/DEFAULT.PFL hermes09:c11adm 8> sapevt ZZ_DUMMY -t -p Jochen_Text pf=/sapmnt/C11/profile/DEFAULT.PFLSID
/exe/sapevt \ pf=/sapmnt/SID
/profile/DEFAULT.PFL \Event
Abbildung 5.1. Trigger an event from the operating system level
Parameter zu events, logging(!)
As described above, you can triggern an event from any host
running an operating system supported by SAP. All you need is a
profile similar to Abbildung 5.2, „A profile for sapevt“. Make sure
that your services
file contains the
definition of
sapms
. Look at
you central instance if in doubt.
SID
SAPSYSTEMNAME =SID
rdisp/mshost =message server
rdisp/btcname =host
_sid
_system number
hermes09:c11adm 9> cdpro hermes09:c11adm 10> sapevt -t ZZ_DUMMY name=C11 nr=11 sapparam(1c): No Profile used. hermes09:c11adm 11> sapevt ZZ_DUMMY name=C11 nr=11 -t sapparam(1c): No Profile used. Nur der zweite geht...
Abbildung 5.2. A profile for sapevt
Aus eigenen ABAPs kann mit dem Funktionsbaustein BP_RAISE_EVENT
ein beliebiger Event
ausgelöst werden. Gibt es dazu spezielle Berechtigungen?
Die Definition von Jobs ist für viele Fälle zu aufwendig. Mit
der Transaktion SE38
→ kann ein ABAP auch ohne eine Variante im
Hintergrund ausgeführt werden. Der Jobs wird, sofern der
Benutzer ausreichende Berechtigungen hat direkt gestartet. Ein
Nachteil ist, dass der Anwender den Zielrechner für diesem Job
nicht bestimmen kann.
Auch wenn man ABAPs auch ohne Varianten starten kann, nutzen Sie Varianten! Es ist eine einfache Möglichkeit, sich Parameter für bestimmte Läufe zu merken ohne diese auf Papier aufzuschreiben. Auch für die Kommunikation zwischen Anwendern und Systemverwaltern ist es nützlich, da beide dieselben Parameter verwenden.
Reorg von Job-Protokollen? RSBTCDEL
Die Job-Protokolle werden im Unix-Dateisystem unter
/sapmnt/
gespeichert. Es ist ziemlich unangenehm, wenn das Dateisystem
voll ist.SID
/global/Mandant
JOBLG
Jobs stehen in der Tabelle TBTCO
, dort ist auch der Job-Status
hinterlegt.
For an SAP upgrade the upgrade procedure stops the planned
jobs with the report BTCTRNS1
. The jobs are in a special
state "stopped during upgrade". After the upgrade you have to
use report BTCTRNS2
to
reenable the jobs. You can also use the reports to disable jobs
for a system copy or during a client copy.
Funktionsbausteine, pflegbar mit SE37
, siehe auch Kapitel 9, Development-Tools.
Aufruf im ABAP mit CALL FUNCTION,
JOB_OPEN
Beginn eines Jobs
JOB_SUBMIT
Jobstep?
JOB_CLOSE
Ende eines Jobs
BP_JOB_*
Diverse Funktionsbausteine zur differenzierten Job-Steuerung.
BP_JOBLOG_READ
Lesen von Joblogs.
After the systemcopy it might be needed to avoid starting background jobs. You have different ways to achieve that:
Set the number of background processes to 0 (for all
instances). This can be done with the profile parameter
rdisp/wp_no_btc
.
Stop the Scheduler for background jobs by setting the
profile parameter rdisp/btctime
to 0.
Remove the background jobs from the system:
update sapr3.tbtco set status='P' where jobname not like 'EU%' and jobname not like 'RDDIMP%' and jobname not like 'SAP%' and status='S'; delete from sapr3.tbtcs where jobname not like 'EU%' and jobname not like 'RDDIMP%' and jobname not like 'SAP%';
Mit Batch-Input können größere Datenmengen recht schnell und geprüft in das R/3 System eingespielt werden.
Wie spielt man Batch-Input ab? Siehe auch OK-Codes zum BI im Abschnitt...
Was gibt es an Tools?
Was ist zu beachten? Nachvollziehbarjkeit Schnittstellen
Was braucht man an Berechtigungen? Zum Abspielen? Zum Abspielen als anderer Benutzer? Wann macht das Sinn?
Wie erstellt man Batch-Input? Batch-Input recorder oder die Funktionsbausteine BDC*. Oder Programme wie RFBIBL*.
SHDB
Batch-Input: AufzeichnungManuelle Aufzeichnung von Batch-Input Mappen. Eine nette Hilfe, um zu wissen, wie man die Mappe mit einem ABAP erstellen kann.
SM35
Batch-Input: MonitoringDie zentrale Stelle zum Abspielen und Analysieren von Batch-Input Mappen. Hier können Sie Mappen auch exportieren und importieren, und damit zwischen Systemen oder Mandanten transportieren.
Beachten Sie beim Erstellen von Mappen eine Namenskonvention. Dann können Sie Berechtigungen einfach Modul- oder Abteilungsweise vergeben, ohne bei jeder neuen Mappe neue Berechtigungen vergeben zu müssen.
An dieser Stelle bewährt sich eine zentrale Vergabe von Berechtigungen und die Festlegung (und Einhaltung) einer entsprechenden Konvention (die natürlich allen Beteiligten bekannt sein sollte).
FB07
) konsequent einsetzen
oder ausschalten. Andernfalls kommt des irgendwann zu
Kurzdumps mit BDC_OVERFLOW
bei der Batch-Input-Verarbeitung.
Dann werden in sehr kurzer Zeit oft sehr viele Kurzdumps
erstellt und die Datenbank läuft voll. Ziemlich
unangenehm.Inhaltsverzeichnis
SAP Systeme sind komplex und damit fehleranfällig. Jede Änderung an Programmen oder Customizing-Einstellungen kann die Stabilität und Verfügbarkeit des R/3-Systemes beeinträchtigen. Daher findet (hoffentlich) die Entwicklung von Programmen, Modifikationen von SAP-Programmen und das Customizing in einem Entwicklungssystem statt. Wenn Bedarf besteht, dann kann zwischen das Produktions- und das Entwicklungssystem noch ein Konsolidierungssystem eingebaut werden, in dem Massentest u.ä. stattfinden können.
Generell sollten Sie versuchen, die Systeme möglichst ähnlich zu halten, das heißt unter anderem, dass Transporte möglichst schnell durch die Systeme geschoben werden sollten. Auch Releasewechsel finden in der Reihenfolge der Systeme statt: erst das Entwicklungssystem, dann das Konsolidierungssystem und erst zuletzt das Produktionssystem.
Praktisch alle Objekte, die Sie im Rahmen des Customizings
anfassen, sind transportierbar. Entweder fragt das System
direkt beim Speichern nach einer Auftragsnummer, oder die
entsprechende Transaktion hat einen Transportanschluß, der
z.B. über ein Menü angesprochen werden kann. Nur in seltenen
Ausnahmefällen sollten Sie manuell Transporte mit der
Transaktion SE01
anlegen (müssen).
SE01
Transportaufträge verwalten (Alt)
Veraltete Transaktion, die nur noch vorhanden ist, um
manuell Transporte, Stücklisten usw. erstellen zu können.
In der Regel werden Sie die Transaktionen SE09
und SE10
verwenden. Nützlich
ist die Transaktion auch, wenn Sie sich einen
Transportauftrag, dessen Nummer bekannt ist, genauer
ansehen wollen; genauso die entsprechenden Protokolle.
SE06
Konfiguration Transportsystem & SystemänderbarkeitSie können Änderungen an Repository-Objekten oder mandantenübergreifendes Customizing in einem System verbieten, außerdem können Sie bei einem relativ einfachen Transportverbund die Systeme hier menügesteuert konfigurieren. Bei komplexen Systemverbünden müssen Sie die in Abschnitt 7.3, „Tabellen des Transportsystems“ angegebenen Tabellen manuell pflegen.
SE09
Customizing
OrganizerÜbersicht über Customizing-Aufträge. Hier können Aufträge freigegeben oder anderweitig verwaltet werden, man kann verschiedene Tools aufrufen und u.a. die Transportprotokolle ansehen.
SE10
Workbench Organizer
Übersicht über Workbench- und Customizing-Aufträge.
Ansonsten Funktionen wie unter SE09
angeben.
E071, TADIR
SAP-Tabelle | Beschreibung |
---|---|
TSYST | Systeme des Transportverbundes |
TDEVC | Development-Klassen |
T? | Belieferungs-Systeme |
T? | Transport-Layer |
Tabelle 7.1. Tabellen für die Transportsteuerung
The central point of the transport system is the directory
/usr/sap/trans
. It is shared between the
SAP systems and contains all transports from all systems. The
directories need to be writeable by all systems (i.e. the unix
group sapsys
). The
directories are described in Tabelle 7.2, „The directory /usr/sap/trans
“.
Directory | Description |
---|---|
bin |
Otherwise (almost) empty directory with
TPPARAM
|
buffer | The buffer for each SAP system involved |
cofiles | The control files for the transports |
data | The datafiles of the transports |
log | All Logfiles |
sapnames | One file for each SAP user creating transports |
tmp | Temporary files |
EPS | Electronic Parcel Service |
listener.ora | Database dependent (more?) |
Tabelle 7.2. The directory /usr/sap/trans
The directory bin
should be empty, except
the TPPARAM
file. This file contains a
description, what systems exist and how the databases are
accessible. Beside the real SAP systems, you may add dummy
systems that are only a name. See Abbildung 7.1, „The TPPARAM
file“ for details.
If you have Unix and NT and need to share
/usr/sap/trans
, you have basically two
options: You may either add a commercial NFS client or server to
your NT or install samba on your Unix system.
With samba the unix system looks like an NT
server from the NT point of view. See Abbildung 7.2, „Example samba configuration“ for an example configuration.
[global] workgroup = SAPR3 ; Options for handling file name case sensitivity and / or preservation ; Case Sensitivity breaks many WfW and Win95 apps ; case sensitive = yes short preserve case = yes preserve case = yes ; Security and file integrity related options lock directory = /var/lock/samba locking = yes strict locking = yes ; fake oplocks = yes share modes = yes ; Security modes: USER uses Unix username/passwd, SHARE uses WfW type passwords ; SERVER uses a Windows NT Server to provide authentication services security = user ; Use password server option only with security = server ; password server = <NT-Server-Name> ; encryption? ;============================ Share Declarations ============================== [trans] comment = Global /usr/sap/trans path = /usr/sap/trans read only = no public = no
Abbildung 7.2. Example samba configuration
Netzwerklaufwerk verbinden
You need to change into /usr/sap/trans/bin
before calling tp. tp
works with buffers; there is one buffer for each SAP system.
Before you can import a transport into a system you must add it
to the buffer with the command addtobuffer.
See Abbildung 7.3, „Typical tp usage“ for a typical usage.
%
cd /usr/sap/trans/bin
%
tp addtobuffer
transport
SID
%
tp import
transport
SID
Abbildung 7.3. Typical tp usage
Tranportorders have a common format:
.
If number starts with a nine (9), that is a customer created
transport. Otherwise it is an SAP transport. The
SID
Knumber
SID
is the SID of the original
system.
There are loads of commands for tp. See Tabelle 7.3, „Buffer related tp commands“ for buffer related command.
tp command | description |
---|---|
showbuffer SID | Shows the buffer of system |
addtobuffer
tranport
SID | Adds
|
delfrombuffer
tranport
SID | Deletes
|
cleanbuffer SID
| Removes old
entries from |
setstopmark
SID |
Fügt eine Markierung in den Buffer von System
|
delstopmark
SID | Entfernen der Stop-Marke aus dem Buffer |
Tabelle 7.3. Buffer related tp commands
Achtung: Konsistenz!
getdbinfo, clearold
tp command | description |
---|---|
addtobuffer
transport
SID | Add the transport
transport to buffer of system
SID |
import
all/transport
SID | Import all or a single transport into
SID . You may add special
unconditional modes. |
getobjlist
transport | displays a list of the objects in
transport . The source system
must be defined as a dummy system in the
TPPARAM file. |
locksys
SID | Lock users others than SAP* and DDIC out of the system, they get the message `put still running'. Be aware, that even logged in users may not start new jobs, but can still work. |
unlocksys
SID | Unlock the system
SID |
lock_eu
SID | Lock the development environment of system
SID , so no abap or
dictionary development can take place. |
unlock_eu
SID | Unlock the development environment of system
SID (back to the
state before lock_eu) |
getdbinfo SID | Displays informations about the database |
mehr? |
Tabelle 7.4. Befehle für TP
Unconditional modes are added after the
SID
with
umodes
. You may
add more than one u-mode by simply concatenating the numbers.
For example, if you would like to use the u-modes 1 and 6, add
the option u16
to the tp
command.
u-mode | Description |
---|---|
1 | ignore wrong state of the command file |
2 | do not expand TADIR selections (check!) |
Tabelle 7.5. Unconditional Modes for tp Export
u-mode | Description |
---|---|
0 | do not remove the transport from the buffer and set unconditional mode 1, so the transport gets imported at the right time again. |
1 | ignore that the transport as already been imported |
3 | overwrite originals |
6 | overwrite objects in uncommited(?) repairs |
8 | ignore restrictions from the table class |
9 | ignore that the system is locked for this kind of transport (how can that happen?) |
Tabelle 7.6. Unconditional Modes Import
Belieferungssysteme, automatischer Import, ZCUS
Steps beim Import, Reihenfolge und Idee, /$SYNC
client= or client999, default is 000(yes? no, I think it the export client), Macht das etwas kaputt? weiß nicht.
use another profile with pf=, default= TPPARM (cwd)
Set parameters with "-D buffreset=true", welche Paramter erlaubt?
Passing options to tp or
R3trans is sometimes syntactically
complicated. The easiest way to do that is to create a new
TPPARAM
(probably as a copy from your
existing configuration) and modify that accordingly.
For a client import we needed to modify tcs, here is what we did.
Copy TPPARAM
to TPPARAM.clientimport
Insert the line r3transoptions =
tcs=15000000
into the new file.
Call tp with the option pf=TPPARAM.clientimport
See OSS note 103582 for details.
tp calls internally the command R3trans which does the real work. Normally, there is not much need in using R3trans directly. The typical use is copying data between clients where the SAP client copy does not work. Cases are big tables and variants for reports.
R3trans has a couple of options that are useful, even if you do not want to copy some data. The syntax of R3trans is:
R3trans
[options
] [control file
]
Valid options are:
-u
concatenate options.
unconditional
mode
-v
verbose
-w
writes the log of the import into the file
filename
.
Default is filename
trans.log
.
Return codes
Return code | Description |
---|---|
0 | Everything is ok |
4 | warning, which may be ignored |
8 | problems |
12 | severe problems, maybe the files were unreadable or writeable or problems with the database |
16 | internal errors |
Tabelle 7.7. Return codes of R3trans
R3trans has some restrictions, on what it is
allowed to export or import. You may lift some of the
restrictions by adding an unconditional mode with the option
-u
. Tabelle 7.8, „Unconditional R3trans Modes for Export“ and
Tabelle 7.9, „Unconditional Modes for R3trans Import“ show the allowed
unconditional modes for export and import.
u-mode | Description |
---|---|
1 | ignore the state of the change request |
8 | permit the selection of tables not allowed for R3trans |
Tabelle 7.8. Unconditional R3trans Modes for Export
u-mode | Description |
---|---|
1 | ignore that the transport has already been imported |
2 | overwrite originals |
3 | overwrite system dependent objects |
6 | overwrite repaired objects |
8 | ignore restrictions based on the table class and import all entries into the given client. |
Tabelle 7.9. Unconditional Modes for R3trans Import
A typical R3trans usage is the copy of some tables between clients. Abbildung 7.4, „R3trans Client Copy“ shows ann example for copying some data from one client to another. You are responsible for preserving data integrity, R3trans has no real help for you.
Calling R3trans
Another typical R3trans usage is the copy of report variants between clients. Report variants are client dependent, but are not part of a client copy. So you must use R3trans to copy variants manually. See Abbildung 7.6, „Copying variants with R3trans“ for an example
source client=000 target client=100 select * from VARI select * from VARID select * from VARIT
Abbildung 7.6. Copying variants with R3trans
Jeder Benutzer meldet sich mit Namen und Paßwort auf einem Applikationsserver in einem bestimmten Mandanten an. Der Mandant dient z.B. zur Trennung von Konzernen auf einem System. Die Mandanten in Tabelle Tabelle 8.1, „Mandanten eines R/3 Systems“ existieren in jedem R/3 System.
Mandante | Beschreibung |
---|---|
000 | Der Auslieferungsmandant |
001 | Eine Kopie von Mandant 000 |
066 | Early-Watch Mandant |
Tabelle 8.1. Mandanten eines R/3 Systems
Bei der Installation wird vor Beginn des Customizings der Mandant 000 bzw 001 in einen eigenen Mandanten kopiert, in dem dann das System an die eigenen Bedürfnisse angepaßt wird. Die meisten Einstellungen sind in jedem Mandanten getrennt vorzunehmen. Ausnahmen davon sind das Repository (SAP Data Dictionary und ABAPs) und mandantenübergreifende Tabellen.
Normale Anwender sollten aus Sicherheitsgründen keinen Zugriff auf Daten anderer Mandanten haben, das sind insbesondere Drucklisten und Betriebssystem-Dateien. Programmierer können jedoch in ABAP-Programmen mit dem SELECT-Zusatz CLIENT SPECIFIED auf Daten anderer Mandanten lesen. Der Systemverwalter kann außerdem fast alle Daten mit Hilfe von Datenbank-Tools lesen (und verändern).
Transaktion | Beschreibung |
---|---|
SCC0 | Mandantenkopie |
SCC1 | Mandantenkopie - Sonderselektionen |
SCC2 | Mandantentransport |
SCC3 | Mandantenkopie - Protokoll-Anzeige |
SCC4 | Mandantenverwaltung (Pflege Tabelle T000 ) |
SCC5 | Mandant löschen |
SCC6 | Mandantenimport |
SCC7 | Mandantenimport - Nachbereitung |
Tabelle 8.2. Transaktionen zur Mandantenverwaltung
Abschließend noch einige Tips zu Mandanten-Kopien, viele weitere findet man in den entsprechenden SAP Hinweisen in SAPnet.
Bei den Funktionen »kopieren« und »löschen« im Zielmandant
als Benutzer SAP* mit dem
Paßwort PASS anmelden. |
Die Programme praktisch immer im Hintergrund starten. |
Bei Export nicht als SAP* anmelden. |
Remote-Kopie: Repository Strukturen müssen gleich sein |
Platzbedarf, Rollback-Segmente (Oracle), Laufzeiten, Archive-Logs |
Für einige Sonderfunktionen stehen ABAPs zur Verfügung, die Tabelle Tabelle 8.3, „Nützliche Programme zur Mandantenverwaltung“ enthält eine unvollständige Übersicht.
Programm | Beschreibung |
---|---|
RSCLTCOP | Kopieren von Tabellen |
RSCCEXPT | Pflegen der Ausnahmetabelle |
Tabelle 8.3. Nützliche Programme zur Mandantenverwaltung
Inhaltsverzeichnis
Nützlich: Die SAP-R/3 Anwendungen (nicht die Basis) liegt im ABAP/4-Sourcecode vor, eigene Analysen, Debugging, Reparaturen, Modifikationen und Erweiterungen sind möglich. Das ist in etwa das, was die Open-Source-Bewegung postuliert - SAP R/3 ist und bleibt aber kommerzielle Software.
Für jeden Entwickler ist einmalig eine Registrierung im OSS erforderlich. Ergebnis dieser Registrierung ist ein Schlüssel, der beim ersten Aufruf einer Entwicklungstransaktion erforderlich ist. Der Schlüssel ist je Benutzername unterschiedlich, aber für alle Mandanten und alle Systeme einer Installationsnummer gleich. Für die normale Entwicklung von Kundenobjekten sind keine weiteren Schlüssel notwendig, bei Reparaturen (Modifikationen) an SAP Objekten muß dieses Objekt im SAPnet registriert werden. SAP erhofft, damit den Überblick über Kundenmodifikationen zu behalten und einen besser angepaßten Support liefern zu können. Eine Übersicht über alle registrierten Objekte findet man im SAPnet, gelegentlich sollte man dort mal hereinschauen.
Praktisch alle Funktionen zur Anwendungsentwicklung sind in der ABAP/4-WorkbenchABAP/4-Workbench integriert; die einzelnen Funktionen können aber direkt per Transaktion aufgerufen werden. Eine Auswahl der wichtigsten Transaktionen folgt. An vielen Stellen ist die Navigation per Doppelklick implementiert, so dass Sie durch Klicken auf ein Objekt automatisch in der richtigen Transaktion landen.
SE01
XXXPflege und Anzeige von Transporten mit einigen nützlichen Funktionen. Wenn Sie sich gut auskennen und Probleme mit Transporten haben, dann finden Sie hier vielleicht die Lösung.
SE06
Systemänderbarkeit setzenIn einem Systemverbung mit einem Entwicklungs- und einem Produktionssystem sollten alle Änderungen an Repository-Objekten zunächst im Entwicklungssystem durchgeführt und getestet werden. Mit dieser Transaktion kann die Pflege von Repository-Objekten im Produktionsystem unterbunden werden (man kann zwar die Transaktion aufrufen und die Einstellung ändern, dieses wird jedoch protokolliert).
SE10
Workbench OrganizerVerwaltung der offenen und freigegebenen Customizing- und Workbench-Aufträge und -Aufgaben. Diese Transaktion gehört zum Transportsystem, siehe auch Kapitel 7, Transporte zwischen SAP-Systemen.
SE11
Data
DictionaryEinstieg in das Data-Dictionary: Pflege und Anzeige von Domänen, Strukturen, Tabellen, Matchcodes und mehr. Im Data Dictionary sind die Datenstrukturen und Datenelemente des SAP-R/3-Systems beschrieben.
SE12
Data
Dictionary anzeigenEinstieg in die Data-Dictionary Anzeigefunktion: Anzeige von Domänen, Strukturen, Tabellen, Matchcodes und mehr.
SE16
Tabellen UtilityAnzeige von Tabelleninhalten, dabei kann nach Feldinhalten selektiert werden, die Darstellung und Sortierung ist änderbar, in gewissen Fällen ist es möglich, Sätze hier zu ändern.
SE17
Tabellen Utility - Anzeige
Anzeige von Tabelleninhalten, analog zu SE16
.
SE30
Performance-AnalyseAusporbieren!
SE37
FunktionsbausteineSAP stellt mehr als 10.000 Funktionsbausteine bereit, die SAP-intern verwendet werden, aber auch von Kunden benutzt werden können. Besonders nützlich sind hier RFC-fähige Funktionsbausteine, die via Remote-Function Calls aufgerufen werden können.
Vorteile? Nachteile? Suche? Test-Umgebung
SE38
ABAP/4 EditorDer ABAP/4-Editor.
Externe Anbieter
SE41
MenüpainterMenüpainter
Bereichsmenüs
Screenpainter
SE93
Pflege von Transaktionen
ABAP/4-Query?
ABAP/4-Query
SE80? Workbench Organizer?
Navigating: Help -> technical -> double-click, /h, SQL-trace, system-trace
ABAP/4, LDB, Tables
SAP hat für kundeneigene Entwicklungen Namensräume reserviert, in denen Kundenobjekte nicht überschrieben werden. Für Relasewechsel machen Sie sich die Arbeit um einiges leichter, wenn Sie diese Namensräume beachten; manche Transaktionen erzwingen dies sogar. Namensräume sind z.B. im SAPnet-Hinweis 16446 dokumentiert.
-> -> im ABAP Editor
Benutzervariablen in Varianten vom ABAP aus ändern/lesen:
VARI_USER_VARS_GET
Lesen der Variablenwerte
VARI_USER_VARS_SET
Setzen der Variablenwerde
VARI_USER_VARS_COPY
Kopieren der Variablenwerte
VARI_USER_VARS_DELETE
Löschen der Variablenwerte
VARI_USER_VARS_RENAME
Umbenennen der Variablenwerte
VARI_USER_VARS_DIALOG
Erfassen von Variablenwerten im Dialog
Verschiedene nützliche Ideen
Leider mal wieder ein eigener Editor, Umschaltbar
n
Der Text aus Zeile n
wird
als oberste Zeile angezeigt. Im Host-Modus können Sie
dieses auch erreichen, indem Sie im Feld mit der
Zeilennummer vor der Zeile ein Sternchen („*“)
eingeben.
An den Andang bzw. das Ende des Programmes springen.
Zur nächsten bzw. vorherigen Seite blättern.
Zeichenkette
Die Zeichenkette im Programm suchen. Dieser Befehl unterscheidet nicht zwischen Groß- und Kleinbuchstaben. Wenn die Zeichenfolge Leerzeichen oder Sonderzeichen enthält, müssen Sie sie in Sonderzeichen einschließen, die nicht in der Zeichenfolge selbst enthalten sind.
Die Suchfunktion, die Sie mit Klick auf das Fernglas aufrufen können, hat eine Reihe von interessanten Optionen. Hier können Sie z.B. auch im Rahmenprogramm suchen und nicht nur im aktuellen Quelltext.
Weitersuchen
suche
ersetze
Zeichenfolge »suche
« im
ganzen Text durch die Zeichenfolge
»ersetze
« ersetzen. Wenn eine
der beiden Zeichenfolgen Leerzeichen oder Sonderzeichen
enthält, müssen Sie beide Parameter in Sonderzeichen einschließen
(siehe FIND).
SAP R/3 wird mit dem gesamten Quellcode der ABAP/4-Programme
ausgeliefert, technisch kann also jeder Kunde diese Programme
modifizieren. In einem produktiven System sollte mit Hilfe der
Transaktion SE06
die
Änderbarkeit von SAP-Objekten im Repository verhindert werden.
Bei der Änderung eines Objektes wird ein Schlüssel verlangt, der
im SAP-OSS zu bekommen ist (SSCR, ausgeschrieben?). Damit ist
die Hotline in der Lage, mögliche Probleme zumindest ahnen zu
können.
Grundsätzlich sollte man so wenig wie möglich modifizieren. Besser ist die Verwendung von User-Exits (Transaktion?), eigener ABAPs (evtl. Kopien von SAP-Programmen) und Append-Strukturen. Das teure an Modifikationen ist die Wartung bei Releasewechseln und der damit verbundene neue Test, nicht die erste Erstellung. Besonders wichtig ist die ausführliche Dokumentation der Modifikationen! Insbesondere sollte diese enthalten: Wer, wann und warum die Modifikation durchgeführt hat, welche Programme und Tabellen dabei angefaßt wurden und die entsprechenden OSS-Schlüssel. In den Programmen sollten die modifizierten bzw. eingefügten oder gelöschen (auskommentierten) Zeilen mit einem Kürzel markiert werden. Die Versionsverwaltung ist nützlich beim Releasewechsel, in den verschieden Fenstern kann man sich das Original-Programm, die neue Version und die modifizierten Versionen davon ansehen und mit Hilfe des Clipboards Code kopieren..
Wenn eine Modifikation notwendig ist, dann sollte man einige Regeln beachten: Je weniger Stellen im Programm modifiziert werden, desto besser. Verwenden Sie Includes oder Funktionsbausteine, um dort Ihre Logik unterzubringen. Gerade Funktionsbausteine haben den Vorteil, dass diese automatisch getestet werden können. Markieren Sie jede geänderte oder neue Zeile mit einem Kürzel, damit erkennen Sie sofort, dass diese Zeile aus einer Modifikation stammt.
Die Kosten und der Aufwand für eine Modifikation steckt nicht in der eigentlichen Entwicklung, sondern in der Dokumentation und der Arbeit, die bei jedem Releasewechsel aufgewendet werden muß. Behalten Sie im Auge, dass Modifikationen häufig noch in vielen Jahren aktiv sind und entsprechend dokumentiert werden müssen.
Modifikationen sollten möglichst schnell durch die Systeme transportiert werden. Damit ist der Test im Entwicklungssystem noch aktuell und bei Problemen allen beteiligten Personen präsent, dass eine Modifikation aktiv wird. Wenn eine Änderung lange herumliegt, kann es passieren, dass diese zu einem ungünstigen Zeitpunkt oder unerwünscht aktiv wird.
Häufig erfüllt die SAP-Standard-Software nicht alle Anforderungen, aber doch sehr viele davon. In diesen Fällen kann es notwendig und sinnvoll sein, den SAP-Standard gezielt zu erweitern. Leider funktioniert das nur an den Stellen, die von SAP dafür vorgesehen wurden. Wenn Sie also eine Modifikation an einer Stelle vornehmen, von der Sie erwarten, dass auch andere Kunden dort eingreifen, dann wenden Sie sich mit einem Erweiterungswunsch an SAP.
Erweiterungen können an verschiedenen Stellen vorgenommen werden. Tabellen können mit Hilfe von Append-Strukturen um zusätzliche Felder erweitert werden, manche Programme haben INCLUDEs, in denen Kunden ergänzen dürfen, manche Programme sehen sogenannte User-Exits vor. Global können Field-Exits verwendet werden.
Auf den ersten Blick scheint es viel schneller zu gehen (und damit billiger zu sein), die passenden Tabelle bzw. das passende Programm einfach anzupassen. Spätestens beim nächsten Release-Wechsel schlägt diese Situation ins Gegenteil um. In der Zeit, wo Modifikationen abgeglichen werden, steht das System nicht in vollem Umfang zur Verfügung. Außerdem will jede Anpassung erneut getestet sein.
Auch die Lösung, das Programm als kundeneigenes Programm anzulegen ist nicht sinnvoll. Spätestens beim nächsten Put denkt keiner daran, dass hier Anpassungen notwendig sein könnten. Als Ergebnis kann man beliebig schwer zu findende Fehler haben.
Wenn Sie Felder zu einer SAP-Tabelle hinzufügen wollen, dann sollten Sie das mit Hilfe einer Append-Struktur tun. Warum? Beim nächsten Put wird die Append-Struktur automatisch übernommen, es muß kein Modifikationsabgleich stattfinden und alle Daten bleiben erhalten.
Append-Strukturen können nur bei transparenten Tabellen
verwendet werden. Mit Hilfe der Transaktion SE11
können Sie aus der
Tabellen-Pflege in die Append-Strukturen wechseln. Halten Sie sich an
die Namenskonvention, dass eigene Felder mit 'Z*' beginnen müssen, und
Sie vermeiden in Zukunft Konflikte beim Put.
SAP R/3 bietet für viele Anwender fast alle Funktionen, die sie benötigen. Was ist jedoch mit zusätzlichen Funktionen, die in der Standardversion nicht vorhanden sind? Hier haben die Anwender eine Reihe von Möglichkeiten:
Mit einem eigenen Programm kann die Funktionalität ergänzt werden. Änderungen an Daten können mittels Batch-Input oder 'CALL TRANSACTION' durchgeführt werden.
Das SAP-Programm modifizieren. Bei jedem Releasewechsel muß die Modifikation neu angepaßt werden, wenn eine neue Version des Programmes geliefert wird. Außerdem lehnt SAP möglicherwiese den Anspruch auf Gewährleistung ab und die Modifikation muß im OSS registriert werden.
Das SAP Programm kopieren und selber pflegen. Bei einem Releasewechsel muß der Anwender die Anpassungen manuell wieder einpflegen, er ist komplett für die Aktualität verantwortlich.
SAP stellt an den notwendigen Stellen einen User-Exit zur Verfügung. Der Anwender kann dort die vorgesehenen Daten nach eigenem Gusto verändern. Für die Anzeige auf Dynpros müssen auch dort entsprechende Exits vorgesehen sein.
Derzeit sind an vielen notwendigen Stellen noch keine Exits
vorgesehen, in der Zukunft sollte sich das aber noch
verbessern. Mit der Transaktion CMOD
wird ein
Erweiterungsprojekt angelegt und die entsprechenden Exits dort
aufgenommen. Programmcode wird in Funktionsbausteinen
hinterlegt, die von den Standard-Programmen aufgerufen werden,
wenn sie vorhanden und aktiviert sind.
Eine weitere Art, eigenen Code durch das R/3 System ausführen
zu lassen sind Field-Exits. Mit der Transaktion CMOD
und dort dem Menu
->
werden diese Exits definiert.
Für jedes Dynpro-Feld kann ein Exit angelegt werden.
In der Standard-Installation von R/3 werden keine Field-Exits
abgearbeitet. Alleine die Prüfung, ob bei einem Dynpro-Feld
ein Exit aktiv ist kann ein aktives System stark belasten.
Wenn viele Exits implementiert werden und dort größere
Funktionen implementiert werden, dann wird das noch schlimmer.
Um Field-Exits zu aktivieren muß der Profil-Parameter
abap/field-exit
mit dem
Wert yes
angelegt werden und das System neu
gestartet werden. Dieser Parameter ist je Dialoginstanz
getrennt einstellbar, so dass Sie aktive Instanzen ohne
Field-Exits betreiben können und diese nur dort aktivieren, wo
es unbedingt erfordertlich ist.
Ein Field-Exit ist ein Funktionsbaustein, der vom R/3 System
zum Zeitpunkt PAI (Process after Input) aufgerufen wird. Sie
können mit einem Field-Exit Eingaben verarbeiten oder
manipulieren, aber eine Vorschlagswerte in das Feld einfügen.
Der Funktionsbaustein hat zwei Parameter, die Eingabe
INPUT
und die Ausgabe
OUTPUT
. Im einfachsten Fall muß nur
die Eingabe in die Ausgabe übertragen werden, das Listing
Abbildung 9.2, „Die Definition eines Field-Exits“ zeigt ein entsprechendes
Beispiel.
Field-Exits können an vielen Stellen eine Modifikation des R/3 Systems ersetzen, insbesondere, wenn an der gewünschten Stelle kein User-Exit vorgesehen ist. Hier hat R/3 noch einigen Nachholbedarf. Field-Exits sind aber kein Wundermittel, sie haben eng gesteckte Grenzen.
SAP R/3 ist ein System, das immer weiter entwickelt wird. Um die Einführung von neuen Versionen auch dann so problemlos wie möglich zu halten sind Namensräume für Kunden reserviert. Wenn man eigene Programme, Tabellen oder Dynpros erstellt, dann sollte man diese in jedem Fall so benennen, dass diese nicht durch eine SAP Version überschrieben werden. In der Regel sind das Namen, die mit 'Y', 'Z' oder '9' beginnen. Genaueres finden Sie im entsprechenden Handbuch. Welches ist das?
ABAP war früher (SAP R/2) die Abkürzung für "Allgemeiner Berichts- (und) Aufbereitungs-Prozessor". Heute steht ABAP für "Advanced Business (and) Application Programming".
SAP R/1 und später SAP R/2 waren Mainframe-basierte Systeme und in Assembler programmiert. Auswertungen waren eine Folge von Assembler-Makros und -Anweisungen. Die Namen der Makros begannen mit einem "Y", so dass sich auch der Name Y-ABAP dafür eingebürgert hat. In diesen Reports konnten nur Daten ausgewertet werden. Für Datenänderungen waren andere Assembler-Programme notwendig.
Die per Assembler erzeugte Ladephase der ABAPs wurde von einem Interpreter im Batch abgearbeitet. Im Online waren diese Auswertungen nicht lauffähig. Das Erzeugen der Listen und Extrakte erfolgte normalerweise in 2 Phasen:
Phase:
Selektion: Daten wurden selektiert und auf eine sequentielle Datei geschrieben.
Sortierung: Die sequentielle Datei wurde sortiert.
Aufbereitung: Die seq. Datei wurde gelesen, eventuell verdichtet und ausgegeben.
Das Erzeugen der Auswertungen war sehr aufwendig, es musste zunächst ein Job mit zwei Steps (siehe oben) erstellt werden, dieser musste dann aufgrund der Vorgaben der Anwender entsprechend parametrisiert werden und dann zu einer geeigneten Zeit (Auswertungen haben oft das System sehr belastet) gestartet werden. Der Anwender erhielt das Ergebnis in Form von gedruckten Listen.
Daher hat SAP im R/2 (ab Release 4.0 ?) ABAP/3 (bzw. ABAP/III) entwickelt. ABAP/3 Programme bestanden aus Befehlen, die bereits eine gewisse Ähnlichkeit mit ABAP/4 (bzw. COBOL) Befehlen hatten (GET xx., MOVE, COMPUTE, WRITE ...).
Die ABAP/3 Programme wurden durch einen Preprozessor in Assembler-Makros und -Anweisungen konvertiert. Auch diese Programme waren nur im Batch lauffähig ("2 phasiger" ABAP).
Ebenfalls ab R/2 Release 4.2(?) konnten ABAP/4 Programme ("einphasiger" ABAP) entwickelt werden. Diese Programme waren im Online und im Batch lauffähig. Es konnten jedoch nur Listen und Extrakte erzeugt werden.
Erst ab SAP R/2 Release 4.3 konnten in ABAP/4 auch Transaktionen mit Dynpros und Modulpools entwickelt werden. Ab diesem Zeitpunkt hat SAP selber begonnen, seine Anwendungen in ABAP zu entwickeln. Erstes Modul war RP, die Personalabrechnung.
Die Programmiersprache ABAP/4 wurde für R/3 erweitert und der Interpreter in C neu programmiert. Viele R/2 Programm kann man daher mit relativ geringem Aufwand nach R/3 portieren.
Wichtige Vorteile von ABAP/4 gegenüber anderen Programmiersprachen sind:
Inhaltsverzeichnis
Office-Transactions, SO16 for config
Did you ever wonder how to send and receive Internet-mail with your SAP R/3 system? Then this might be of help for you. You should first read the SAP documentation for the Internet Mail Gateway and come back later, since this file only describes the sendmail configuration.
From my experience, you should almost immediately remove your vendors version of sendmail and switch to the 'original' sendmail from Eric Allman. You may get it from http://www.sendmail.org. If you really want to know what to do with sendmail, get the 'sendail' book from O'Reilly.
The sendmail configuration is stored in a file called normally /etc/sendmail.cf, some people call it 'catastrophe file' due to its somewhat awkward syntax and high complexity. This is the reason to switch from your vendors version of sendmail to the original and to use the includes m4-configuration. There is a README in /usr/lib/sendmail-cf that describes the basic configuration.
This file describes only the additions needed to get SAP mail delivered, so you might want to read the above file as well.
First, you need to define a name for your SAP system. I use the system-id, appended with the local domain. For the purpose of this readme, the systems are called C11 and C12, the domain is example.org. Add MX records for the systems into your DNS, let them point to the mail gateway you are going to setup.
The basic idea is to generate a local delivery agent in the mail gateway for every SAP system that needs to get mail. This is done in two steps:
define a macro, that itself defines the delivery agents when called. I did this in a FEATURE macro (sapr3.m4)
in your configuration call the feature and define the delivery agents for each system. Call the macro SAPMAIL (defined by the feature above with the name of the SAP system and the mail configuration for that system as generated with mlsoadmin.
# `Use the definition of the SAP mailer as a feature' FEATURE(`sapr3') # `define a mailer for each SAP system' SAPMAIL(`c11',`/usr/local/etc/C11_mailconfig') SAPMAIL(`c12',`/usr/local/etc/C12_mailconfig') # That's all folks
This creates the mailers and adds the SAP admin user as a trusted user.
Generate the .cf-file and try the configuration as described in the sendmail book. Try a couple of different addresses and see how they are parsed. XXX give my examples here.
You may configure the deliver agents with a fews variables:
SAP_MAILER_PATH contains the path to
mlsomail, if not defined
/usr/local/bin/mlsomail
is used. An
example:
# `change the path to mlsomail' define(`SAP_MAIL_PATH',`/sapmnt/C11/exe/mlsomail')
SAP_MAIL_DOMAIN may set the domain for the SAP systems. If not set, the usual DNS domain from the mail hub is used.
SAP_MAILER_FLAGS may contain special flags for the delivery agent. Default is DFPlLs, the contents of SAP_MAILER_FLAGS are appended. (is L really a good idea here? it may trash iso-latin-1)
Sample Configuration Abbildung 10.1, „Sendmail Example“
# `which operating system is used on the mail hub' OSTYPE(`aix4') # `Use the sap r/3 mailer' FEATURE(`sapr3') divert(6) # `And now generate the mailers itself' SAPMAIL(`c11',`/usr/local/etc/C11_mailconfig') SAPMAIL(`c12',`/usr/local/etc/C12_mailconfig') # `generate the normal mailers' MAILER(local) MAILER(smtp) # end of story -- who told about sendmail being hard?
Abbildung 10.1. Sendmail Example
The feature definition Abbildung 10.2, „Sendmail Feature“
divert(`0') # SAP R/3 internet mail configuration # Copyright (C) 1998 by Jochen Hein <jochen@jochen.org> # Version 0.1, 15. March 1998 divert(`-1') # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by the University of # California, Berkeley and its contributors. # 4. Neither the name of the University nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY JOCHEN HEIN ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # TODO: # It might be wise to add U=sidadm:sapsys to the mailer deinition so that # mlsomail runs as that user # declare some variables the user might want to set: # path to the mlsomail program ifdef(`SAP_MAILER_PATH',,`define(`SAP_MAILER_PATH',`/usr/local/bin/mlsomail')') # # flags that are used in the F= option for the mailer ifdef(`SAP_MAILER_FLAGS',,`define(`SAP_MAILER_FLAGS',`')') # # def. the domain that the SAP systems are in ifdef(`SAP_MAIL_DOMAIN',,`define(`SAP_MAIL_DOMAIN',`$m')') # create a mailer and the local rules to call them. Usage is # SAP MAIL(SAP_SYSTEM_ID,cfg-File created with mlsoadmin) define(`SAPMAIL', `divert(7) # the local delivery agent for the SAP R/3 system $1 Msap$1,P=SAP_MAILER_PATH,F=CONCAT(`DFPlLs',dnl SAP_MAILER_FLAGS), S=10, R=20/40,T=DNS/RFC822/X-Unix,dnl A=mlsomail $2 $u' `divert(6)dnl # Add the sap administrator ($1adm) as a trusted user Ct$1adm' `LOCAL_RULE_0' # Additions to Ruleset 0: Select SAP system to send to `R$+<@'$1`> `$'`#'sap'$1`$:$1 Mail for SAP-R/3 system $1' `R$+<@'$1`.SAP_MAIL_DOMAIN> `$'`#'sap'$1`$:$1 Mail for SAP-R/3 system $1')
Abbildung 10.2. Sendmail Feature
Inhaltsverzeichnis
Wo gibt es die Referenzkarte?
Rollback-Segmente sind etwas wirklich ekliges. Fragen Sie Ihren Oracle-Guru.
Passen Sie auf, dass das Verzeichnis
$
stets genügend Freiplatz enthält. Ich habe hierfür einen Monitor
aufgesetzt, der nötigenfalls einen brarchive
startet. Voraussetzung ist natürlich ein Bandroboter oder cleverer
Operator.ORACLE_HOME
/saparch
Lesen Die den Hinweis zum aktuelles Patchset für Oracle. Dieser enthält gelegentlich Hinweise aus schwerwiegende Oracle-Fehler.
Transaktion | Beschreibung |
---|---|
DB02 | Table/index analysis |
DB03 | Parameter changes of Database |
DB12 | Protokolle der Datensicherung anzeigen |
DB13? | DBA Planung (Jobs) |
DB16 | Anzeige DB-Check-Meldungen |
DB17 | Parameterpflege für DB-Check |
ST04 | database performance analysis |
Tabelle 11.1. Transaktionen zur Datenbankverwaltung
Die SAP-Benutzer müssen Zugriff auf die Oracle-Datenbank haben,
dazu werden einige Umgebungsvariablen verwendet. Diese werden
in der Datei ~/.dbenv.csh
bzw. ~/.dbenv.sh
gesetzt. Sind diese
Variablen nicht vorhanden oder fehlerhaft, dann kann sich das
SAP-System nicht an die Datenbank konnektieren.
ORACLE_HOME
Das Home-Verzeichnis des Oracle-Benutzers und der
Datenbank. Alle für Oracle wesentlichen Verzeichnisse
sind Unterverzeichnisse relativ zu diesem Verzeichnis.
Für SAP-Systeme ist es das Verzeichnis
/oracle/
.
SID
ORACLE_SID
Die Datenbank ID, bei SAP-Systemen ist die
ORACLE_SID
gleich der SID des zugehörigen
SAP-R/3-Systems.
TNS_ADMIN
Verzeichnis in dem die Konfiguration des SQL*Net V2
Zugriffes zu finden ist. Ohne diese Informationen kann
sich kein Programm an die Datenbank konnektieren. Für
SAP-Datenbanken ist der Default
/usr/sap/trans
.
TWO_TASK
Mittels SQL*Net V2 auf eine entfernte Datenbank zugreifen.
Normalerweise darf diese Variable
nicht gesetzt sein. Bei Bedarf kann
man diese jedoch verwenden, das Format ist T:
.
Rechner
:SID
Was steht noch in /usr/sap/trans
?
listener.ora
Gespeichert in /etc
; es existiert ein
symbolischer Link darauf in
/usr/sap/trans
. Wie erstellen? Der
Programmname und die Doku steht im Installationshandbuch.
Wird vom Listener gelesen und für den DB-Connect
benötigt(?)
init_SID
.ora
Enthält wichtige Oracle-Parameter wie Puffer,
Rollback-Segmente, Pfade zu Control-Files usw. und ist im
Verzeichne
$ORACLE_HOME
/dbs
zu
finden.
init_SID
.sap
Enthält wichtige Parameter für die SAP-Programme sapdba, brbackup und brarchive.
Alle Daten und Programme, die zur Oracle-Datenbank gehören,
liegen unterhalb des Pfades
/oracle/
.
Laufen auf einem System mehrere Datenbank-Instanzen, die findet
man für jede Instanz ein entsprechendes Verzeichnis. In
SID
/oracle/stage
wird bei einem Releasewechsel
oder Datenbank-Upgrade die Installation der neuen Programme
vorbereitet.
/oracle/SID
/sapdata*
Diese Verzeichnisse enthalten die Datafiles der Datenbank. Die Sicherung erfolgt mittels brbackup, eine Sicherung mit Betriebssystemmitteln ist nicht notwendig.
/oracle/SID
/saparch
Hier werden die archivierten Redo-Logs gespeichert. Dieses Verzeichnis muß hinreichend groß sein, da die Datenbank mit »archiver stuck« stehenbleibt, wenn dieses Verzeichnis voll ist. Die Logs aus diesem Verzeichnis werden mittels brarchive auf Band gesichert.
/oracle/SID
/sapbackup
Die Protokolle der Datensicherung mit brbackup werden hier gespeichert.
/oracle/SID
/sapreorg
Temporär genutzter Platz beim Tablespace- oder Tabellen-Reorg. Achten Sie darauf, dass Sie hier genügend freien Speicherplatz haben, bevor Sie mit der Reorganisation beginnen.
/oracle/SID
/saptrace
Im Unterverzeichnis background
finden
Sie das Alert-Log der Datenbank - bei Datenbank-Problemen
kann dieses Log sehr hilfreich sein.
/oracle/SID
/dbs
Die Datenbank-Konfiguration ist in der Datei
init
festgelegt, die Konfiguration der SAP-Programme
(brarchive, brbackup
und sapdba) ist in der Datei
SID
.orainit
enthalten.
SID
.sap
Alert-Log: $ORACLE_HOME/saptrace/background/alert_SID.log, Insbesondere auf ORA-Meldungen achten, außerdem "Checkpoint not complete". Dafür kann man Shell-Skripte einsetzen... Wenn Trace-Dateien entstehen, dann sind auch die wichtig.
Die Datei startdb.log
im Home-Verzeichnis
des
enthält möglicherweise Informationen, warum der Start der
Datenbank fehlgeschlagen ist. Falls nicht, einfach die
Datenbank mit dem Programm svrmgrl starten
und auf die Meldungen achten.
sid
adm
SAP-Transaktion ST04 ->
-> ->Parameter Changes?
saparch, backup, reorg-Logs?
Wie heißt das Oracle-Tool, das Nobby mal benutzt hat?
Puffer
Database Activity? Performance Analyses
Missing Indices
Lock-Dateien: .lock.bra und .lock.brb
Tablespaces in Backup Mode?
grep nach ORA- im Alter-Log
Eine Option, die den Programmen sapdba,
brbackup und brarchive
gemeinsam ist, ist die Option -u
, gefolgt von
der Zeichenkette
.
Damit nicht jeder Unix-Benutzer das Paßwort lesen kann, kann ein
sogenannter OPS$-User verwendet werden, als Option ist dann
Datenbankbenutzer
/Datenbankpaßwort
-u /
anzugeben.
Menügesteuerte Datenbankverwaltung, inklusive
Datensicherung und Recovery. Die Optionen
-check
(Prüfen des Datenbankfreiplatzes
und der maximalen Anzahl Extents), -next
(automatisches Anpassen der Next-Extent-Größe von
Tabellen) und -clean
sollten regelmäßig
aufgerufen werden. Die Protokolle mindestens des
sapdba -check-Laufes sollte man sich
ansehen.
Weitere sapdba-Optionen?
Direkter Start der Datensicherung, Hilfe gibt's mit brbackup -h.
Direkter Start der Archive-Sicherung, Hilfe gibt's mit brbackup -h. Empfehlung: zwei Kopien der Archive-Logs auf Band erstellen.
Die Protokolle der SAP-Programme findet man in den
Verzeichnissen
$ORACLE_HOME
/saparch
,
$ORACLE_HOME
/sapbackup
und
$ORACLE_HOME
/sapreorg
. Die
Namenserweiterung gibt die Funktion an, die dieses Log erstellt
hat, der Name ist mittels Zufallsgenerator vergeben. Man kann
sich diese Protokolle bequem mit sapdba oder
der Transaktion ????
ansehen. Ich bevorzuge ls -rtl und
tail -f im entsprechenden Verzeichnis.
brarchive und brbackup
erzeugen Lock-Dateien im Verzeichnis
saparch
(Dateiname
.lock.bra
)
bzw. sapbackup
(Dateiname
.lock.brb
). Wenn diese Dateien existieren,
dann kann keine neue Sicherung gestartet werden, die Programme
geben eine entsprechende Meldung aus. Nach einem Abbruch sind
diese Dateien möglicherweise zu löschen.
[Kommando]
Starten, Stoppen oder Steuern des Oracle-Listeners. Ein Hilfetext wird mit dem Kommand help angezeigt, es kann ein Kommando direkt angegeben werden, andernfalls geht lsnrtcrl in den interaktiven Modus. Was tut der eigentlich?
SID
Prüfung, ob die Datenbank erreichbar ist(?)
Export bzw. Import von Daten und Strukturen aus der Datenbank. Die Programme können interaktiv oder skriptgesteuert verwendet werden, schauen Sie für Details in die Oracle-Dokumentation. Intern werden diese Programme von sapdba zum Reorg verwendet, Sie können spezielle »Single-Task« Versionen erstellen, die etwas schneller sind (SAP-Hinweis?).
Import eines Exportes in die Datenbank
Kommandozeilen- bzw. Motif-Programm zur Datenbankadministration. Optionen?
Menügesteuertes Programm für SQL-Abfragen.
ora
nummer
Zeigt die Bedeutung der Oracle-Fehlermeldung an, also ein »Messages and Codes« online.
select substr(tablespace_name,1,20)
Tablespace,initial_extent/(1024) "I-EX(KB)",next_extent/(1024)
"N-EX(KB)", Min_extlen,extent_management,allocation_type from
dba_tablespaces;
Abbildung 11.1. What tablespaces do have which extent-management
exit
connect internal;
alter system switch logfile;
alter database drop logfile group 11;
! rm /oracle/K22/origlogA/log_g11m1.dbf
! rm /oracle/K22/mirrlogA/log_g11m2.dbf
alter database add logfile group 11
( '/oracle/K22/origlogA/log_g11m1.dbf',
'/oracle/K22/mirrlogA/log_g11m2.dbf' )
size 50M;
Abbildung 11.2. Resize of Online Redo Logs
alter index sapr3."VTBLII~0" rebuild online;
alter tablespace PSAPMSEGI coalesce;
alter index sapr3."MSEG~R" coalesce;
alter index sapr3."MSEG~R" rebuild online parallel 4 nologging storage
(initial 20400K next 20400K maxextents 505);
alter index sapr3."" rebuild online parallel 4 nologging ;
Abbildung 11.3. Online Rebuild on Indices
Wann ist was zugreifbar (mount)?
Rollback
Archiver Stuck
begin backup and powerfail
/usr/sap/trans
missing, listener missing
unclean shutdown (possibly left running)
Recovery: Was kann sapdba und was nicht?
PSAPTEMP und Index-Reorg
export to /dev/null
Oracle does have bugs. Really. Sometime you have to patch your database software with opatch. Sometimes you can work around the bug with some special configuration parameters. Sometimes you have to do both.
The workaround is often the use of events in the
init.ora
file. Using events is tricky, as
you must respect some restrictions:
All events must be at the end of the
init.ora
file. Otherwise they may not
be active.
If you use more than one event, you must not have comments or empty lines between the events.
You must check, whether the correct events are active. Look into the Alert-Log of your database. And check the active events with the following SQL statement:
select name,value from v$parameter2 where name = 'event';
Inhaltsverzeichnis
Wo gibt es die Referenzkarte?
Inhaltsverzeichnis
ChangeLog
-DateiChangeLog an zentraler Stelle. Und
achten Sie darauf, dass alle sich dort verewigen. Das Führen
eines ChangeLog
s lohnt sich auch, wenn man
alleine ist - man weiß sonst nicht, wann was war.Besorgen Sie sich eine SQL-ReferenzkarteSQL . In der Regel kommt man mit Open-SQL (ABAP-SQL) aus, aber gelegentlich ist es sehr praktisch, direkt mit der Datenbank zu arbeiten.
Derartige Aktionen sollten Sie in jedem Fall sehr ausführlich dokumentieren. Ansonsten kann man irgendwann den Daten im System nicht mehr so recht trauen.
SID
ausführen, um
eventuell zu ergreifende Maßnahmen noch in Ruhe durchführen zu
können.DB02
sollte keine Fehler melden, genauso sapdba
-check./usr/sap/put/upalert.log
um sich z.B. via
Handy, SMS oder Pager über den Stillstand des Upgrades
informieren zu lassen. Wenn Sie das Upgrade-Programm auf
einem Rechner starten, den Sie via Netzwerk Zugriff haben,
dann können Sie den Upgrade weitgehen remote
betreuen.Zusätzlich zum R/3 gibt es von SAP und Fremdanbietern Branchenpakete, sogenannte Industrial Solutions™Industrial Solution (IS-PaketeIS-Paket). Diese setzen auf einem bestimmten SAP-Release auf, das vor der Installation verfügbar sein muß.
Ein Upgrade eines IS-Paktes kann innerhalb eines SAP-Releases erfolgen oder einen Releasewechsel des R/3-Systems erfordern. In diesem Fall muß der Upgrade des IS-Paketes in jedem Fall im Rahmen des Upgrades erfolgen. IS-Pakete enthalten nicht nur neue Programme oder Tabellen, sondern ändern auch den R/3-Standard. Bei Hotpackages bzw. Legal Change Patches ist daher die Freigabe für das entsprechende Branchenpaket abzuwarten.
Inhaltsverzeichnis
Das SAP R/3-System wird mit einer Reihe von Standard-Benutzern ausgeliefert. Sie sollten diesen Benutzern unmittelbar nach der Installation neue Paßwörter geben, da diese Benutzer in der Regel recht weitgehende Berechtigungen haben.
Das Programm RSUSR003
erzeugt eine Liste über die Standardbenutzer aller Mandanten.
Dabei wird zu jedem Benutzer vermerkt, ob das Paßwort allgemein
bekannt ist oder nicht. Zumindest gelegentlich sollte man diese
Programm ruhig mal starten - allerdings sollten die
Admin-Paßwörter dann z.B. in einem Tresor hinterlegt
werden.
Mandant | Benutzer-Name | Passwort | Bemerkungen |
---|---|---|---|
000 | SAP* | 06071992 | nach Neuinstallation |
000 | DDIC | 19920706 | nach Neuinstallation |
000 | TMSADM | PASSWORD | Das Passwort darf nicht geändert werden!. Näheres steht in OSS-Hinweis 139854. |
001 | SAP* | 06071992 | nach Neuinstallation |
001 | DDIC | 19920706 | nach Neuinstallation |
066 | EARLYWATCH | SUPPORT | nach Neuinstallation |
066 | SAP* | 06071992 | nach Neuinstallation |
alle | SAP* | PASS | nach Neuanlage des Mandanten |
alle | SAPCPIC | ADMIN | wenn benötigt, bis 3.1x |
alle | ISP_PILOT | ISP(?) | Für Support im Branchenpaket IS-M |
Tabelle A.1. Standard-SAP Benutzer
Sie sollten den Benutzer SAP*
in jedem Mandanten sperren, da
er einer der Angriffspunkt gegen ein SAP
R/3 System ist. Außerdem sollten Sie die Profil-Parameter
login/no_automatic_user_sapstar
und
login/no_automatic_user_sap*
auf den Wert '1' setzen. Damit wird auch in einem neu
angelegten Mandant der Benutzer SAP*
nicht implizit angelegt und
bietet damit keinen Angriffspunkt. Ja, das ist etwas lästig,
aber wie oft muß wirklich ein neuer Mandant angelegt werden?
Und in diesen seltenen Fällen kann man in der Regel auch das
System durchstarten um diesen Parameter temporär zu setzen. Als
Ersatz sollten Sie jedoch einen Notfall-Benutzer anlegen (und
dessen Namen und Paßwort im Tresor hinterlegen).
Bei den obigen Einstellungen können Sie den Benutzer
SAP*
löschen und
stattdessen einen «Notfall«-Benutzer anlegen. SAP*
ist in jedem Fall einer der
ersten Angriffspunkte gegen ein SAP R/3 System.
Eigentlich kein Benutzer, aber vielleicht doch verwirrend
ist der Benutzername UMPFEL
.
Dieser wird vom Tivoli Manager for R/3 verwendet um via RFC
Systeminformationen auszulesen. Eigentlich ist für diese
R/3-Funktion keine Benutzerkennung notwendig, und dadurch
fühlt sich SAP ein wenig irritiert und schreibt in das Trace-File.
Nicht einfach zu finden, und hoffentlich stellt Tivoli das mal ab.
Benutzer | Paßwort | Bemerkungen |
---|---|---|
system | manager | der Datenbank-Verwalter |
sys | change_on_install | der Datenbank-Verwalter |
sapr3 | sap | diesem DB-Benutzer gehören alle R/3-Daten |
Tabelle A.2. Oracle-Benutzer
Das Paßwort der Datenbank-Benutzer sollten Sie nur mit dem
Kommando R3INST bzw.
chdbpass ändern. Diese Kommandos generieren
den internen Oracle-Benutzer (OPS$
-User, identified
externally
), mit dem das R/3 System sich anmeldet, um
das Paßwort des Datenbankbenutzers SAPR3
zu lesen.
Wenn Sie die Oracle Paßwörter ändern, dann müssen Sie
möglicherweise in den anderen Systemen Ihres Systemverbundes
OPS$
-Benutzer anlegen,
damit sich das Transportprogramm tp an die
Zieldatenbank anmelden kann. Wie dieser Benutzer angelegt werden
muß steht in verschiedenen SAP-Hinweisen (XXX welchen?).
Zentrale Funktionen, wie die Reparatur oder das Recovery einer Datenbank mit Hilfe von sapdba sind nur im (durch Paßwort gesicherten) Expertenmodus von sapdba möglich. Nach der Installation des Systems sollten Sie auch dieses Paßwort ändern.
Auf meinen Systemen sind fast alle diese Paßworte identisch - das Operating kann sich mittels sudo oder rlogin unter Unix anmelden und das System starten, stoppen oder sichern, ohne dass dieses «Master-Paßwort« bekannt ist.
Username | Password | Comments |
---|---|---|
control | control | Control-User |
superdba | admin | Database Manager |
Tabelle A.3. User in MaxDB
Informix hat keine eigene Benutzerverwaltung, es werden die
Benutzer des Betriebssystems verwendet. Eine SAP R/3 Installation
benötigt die Benutzer informix
(der
Datenbank-Administrator) und sapr3
(mit diesem Benutzer greift das
R/3 System auf die Datenbank zu). Der Benutzer sapr3
ist der Eigentümer der
Datenbanktabellen von R/3.
Es gibt keinen Experten-Modus im sapdba.
Den Benutzer sapr3
verwendet man nie. Wenn man das Paßwort ändert, dann darf man
nicht vergessen, dieses in der Tabelle
SAPUSER zu hinterlegen. Außerdem sollte man
verhindern, dass die Unix-Benutzer bzw. deren Paßwort expiren (das
passiert in der Datei /etc/shadow
).
Username | Password | Description |
---|---|---|
nw4adm | nw4adm | SAP System Administrator |
sqdnw4 | sqdnw4 | SAP Database Administrator |
sqd | sqd | MaxDB Software Owner |
Tabelle A.4. Unix-Benutzer
Client | Username | Password | Description |
---|---|---|---|
000 | DDIC | NW4 | Data Dictionary User |
000 | SAP* | SAPSTAR | SAP Administrator |
000 | DEVELOPER | DEVELOPER | Developer User |
000 | J2EE_ADMIN | ADMIN | J2EE Administrator |
Tabelle A.5. SAP R/3 user
SAP-Hinweise sind eine sehr nützliche Informationsquelle. Trotz aller Suchfunktionen im SAPnet kommt es immer wieder vor, dass man den passenden Hinweis gerade nicht findet. In diesem Fall ist es nützlich, die Hinweisnummer schnell verfügbar zu haben. Beachten Sie, das permanent neue Hinweise dazukommen, alte ergänzt oder korrigiert werden oder durch neue ersetzt werden.
Beachten Sie, dass die hier aufgeführten Hinweise nur einen sehr kleinen Teil aus dem SAPnet widerspiegeln und häufig Datenbank-, Betriebssystem oder Release-Abhängig sind! Ergänzen Sie diese Liste nach Belieben!
83458 Apply hotpackages
Oracle errors, Oracle infos: rollback
Restore in Systemlandschaften Hinweise 434645 und 434647
Hinweis | Beschreibung |
---|---|
16083 | Regelmäßige Systemjobs |
37104 | Fehleranalyse Hintergrundverarbeitung |
53902 | Konflikte zwischen Support-Packages und Add-Ons |
64016 | SAP R/3 Gateway |
76829 | Möglichst keine Benutzernamen mit Wildcards ("*","_", ".", "%") verwenden |
108799 | Workprozess-Aufteilung |
118057 | Workprozess-Aufteilung |
Tabelle B.1. releaseunabhängige SAP-Hinweise
Hinweis | Beschreibung |
---|---|
86006 | IS-M: erlaubte Hotpackages bzw. Legal Change Patches |
113039 | Legal Change Patches |
Tabelle B.2. nützliche SAP-Hinweise für Release 3.0F
Hinweis | Beschreibung |
---|---|
97630 | SPAM-Informationen |
125510 | IS-M: Releaseplanung |
125513 | IS-M: erlaubte Hotpackages bzw. Legal Change Patches |
138558 | IS-M: Einspielen IS-M Patches und CRTs auf 4.0B |
Tabelle B.3. nützliche SAP-Hinweise für Release 4.0B
Hinweis | Beschreibung |
---|---|
4157 | Oracle-Recovery. Ausdrucken und Aufheben! |
43494 | Sammelhinweis brbackup, brarchive und brrestore. |
60233 | Rollback-Segmente |
Tabelle B.4. Hinweise zu Oracle
Inhaltsverzeichnis
Version 1.1, March 2000
Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".
A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
State on the Title page the name of the publisher of the Modified Version, as the publisher.
Preserve all the copyright notices of the Document.
Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
Include an unaltered copy of this License.
Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
Inhaltsverzeichnis
Die korrekte Auflösung ist »Systeme Anwendungen und Produkte in der Datenverarbeitung«. Unmittelbar nach der Gründung, in der Zeit von 1972 bis 1976 wurde »Systemanalyse und Programmentwicklung« verwendet.
SAPpel nich, dat geit
Sabbern, Angaffen, Panik
Sack Aus Plastik (die Taschen für die Lehrgangsunterlagen)
Sadomaso ArbeitsPlatz
Saftladen Als Produzent
Sag Adios Perle
Sag Amol Piep!
Sag Astalavista Produktpalette
Sammelstelle arbeitsloser Pädagogen
Sammelstelle arbeitsloser Physiker
Sammelstelle arbeitsloser Programmierer
Sammlung aktueller Probleme.
Sammlung aller Probleme
Sammlung alter Programme
Sanduhr-Anzeige-Programm
Sanfter Abschied vom Privatleben
Sardinen arbeiten produktiver
Sauber alles Plattmachen
Sauber am Po
Sauer Auf Plattner
Saufen Als Problembekämpfung
Sauhaufen am programmieren
Saumäßig aufwändige Programme
Saumäßig anstrengende Produkte
Saumäßig anstrengende Projekte
sauteuer, aber praktisch
Schafft Andauernd Probleme
Schafft Arbeits-Plätze
Schal-Anzeige-Programm (Windows Cursor Theme)
Scharlatane, Aasgeier, Pausenclowns
Scheffelt Allszus Penunze
Scheiß Abfall-Produkt
Scheiß AnwenderProgramm
Scheiß Aufs Privatleben
Scheiß Aufs Programm
Scheiße auf Platte
Scheiss Auf Private-Policy
Scheisshäuser, Aborte, Pissoirs
Scheitert Als Produkt
Scheitert Am Produktivbetrieb
scheitert am Projektleiter
Schieb es Auf Programmfehler
Schiere Anwender Provokation
Schießt Auf Programmierer
Schildbürger Anwender Programm
Schlafen anstatt Programmieren
Schlechter Als Perle (die Siemens Leute wissen warum...)
Schlechte Applikationen und Programme
Schlechtes ABAP Programm
Schleicht aber Permanent
Schlichtweg Außerordentlich Planlos
Schließlich Absolute Panik
Schließt Alle Programme
Schlimmer als Pornographie
Schlimmer Als PrePress
Schlimmes, Angst und Panik
Schlottern, Angst und Panik
Schmerzen Auf Probe
Schnell Ausgelastetes Programm
Schnell Auf Palme
Schneller arbeiten Penner
Schnellstmögliche Angestellten Pensionierung
Schon alles probiert?
Schrecken aller Programmierer
Schrecken, Aerger und Probleme
Schrecken, Angst und Panik
Schreibs Auf Papier
Schreien, Ausschalten, Pause
Schrott Aus Pakistan.
Schrott aussem Pfandhaus
Schwachsinn als Programm
Schwachsinn aus Prinzip
Schwanger Aus Protest
Schweiß, Angst und Panik
Schweiß, Angst, Panikausbrüche
Schwer Aus Passion
Schwere Aktien Pleite
Schwule Aktions Plattform
Sehr agressiver Parasit
Sehr andauernde Pause
Sehr Apprupter Programmabbruch
Seifenblase am Platzen
Seit Arbeitsbeginn Pannenbelastet
Sekt Aufs Projekt
Selbst Alles Programmieren
Selbst Aweng Probieren
Selbstbeherrschung Absolute Pflicht
Selbstständiges Arbeiten Problematisch
Selten ablauffähige Programme
Selten Alberner Programmcode
Selten Alles Problemlos
Selten Alles Paletti
Selten anschauliche Plausibilitäten
Selten am Platz
Selten Anwesender Papi
Semantisch abstraktes Pseudonym
Setzt Auf Patches
Setzt Auf's Personal (des Kunden)
Sex Am Pool
Sex, Angst und Panik
Sex A-Peal
Sexuell abartige Praktik
Sicher Absehbare Pleite
Sicher Alles Paletti
Sicher alles Plattmachen
Sicher alles Pustekuchen
Sichere ArbeitsPlätze (für Berater)
Sichern Abstürzen Pause
Sicherer Altersvorsorge Plan
Sicherer ArbeitsPlatz
Sicherheitsverwarung Ahnungsloser Programmierer
Sicherlich Allerbeste Planung
Sicherlich Am Preiswertesten
Sichert alle Pausen
Sichert Arbeits-Plätze
Sie arbeiten pausenlos.
Sieger aller Pannen
Siehe alles positiv.
Siehe Altes Programm
Siemens Anwender Panik (brach aus als SAP eingeführt wurde)
Siemens Arbeiter Pest
Siemens Aussichtslosestes Projekt
Sinnlos, ahnungslos, planlos
Simpel animierte Pfütze
Singles Auf Partnersuche
Skat am Pool
Sklaven Arbeiten Pausenlos
So a' pfundige (Firma)
Sofort Ausrede Parat
Sofort Ausweg Parat
Software Ante Portas
Software attraktiv und preiswert
Software aus Pakistan
Software aus Palästina
Software aus Pappe
Software aus Patches
Software aus Persien
Software aus Plastiktueten,
Software aus Polen
Software aus Polen, Runs 3 Times faster [over the border]
Software zur Ausbeutung des Proletariats
Sogar abgeschaltet phobienfördernd
Sogar Affen peinlich
Solvente Anwender Plechen?
so'n a Pech
so'n a Pfusch
so'n a Plausch
Sonntags auchmal Putten
Sonst Alles Paletti
Sony Advanced Playstation
Sorgen, Aerger, Probleme
Sorgen Angst und Panik
Souveränes Alptraum Programm
Spam Aktivation Programm
Spannung, Abenteuer und Phantastische Sachen
Speichermangel, Abstürze und Plattencrashs
SpeicherAufwäige Programmierung
Spielende Affen programmieren
Spitze aller Programmierkunst
Spitzenmäßig aufgeblähte Programme
Sprechblasen-assoziierte Produkte
Spring Aus Penthaus
Stark Alkoholisierte Programmierer
Starten, Abbrechen, Protokollieren
Starten Abwarten Pause
Starten - Ansehen - Psychatrie
Statt Arbeiten Papiersalat
Stehn Auf Pause
Steht auf Papier
StellenAbau Programmiert
Stellt Anwender (vor) Probleme
Stellt Admins (vor) Probleme
Stets Allohohl Penötigt
Stillstand als Planziel
Stinkt auch Politikern
Stirbt Am Probetag
Stoppt Alle Prozesse
Stoppt Alle Provisionsbemühungen
Ständig abstürzende Programme
Ständig andere Probleme
Ständig anders Programmier
Strafe aller Programmierer
Strafe für Alle Projektmitarbeiter
Stress, Alkohol, Panik
Stress, Alkohol, Psychatrie
Stress Angst & Panik
Stress für Alle Projektmitarbeiter
Studenten Aergern im Praxissemester
Subtiles Abkacken... Permanent
Such Anderswo Profis
Suche Anderes Programm
Suchen Abhaken (P)fluchen
Suchen, aber planlos
Suchen - Anklicken - Pause
Suizid Aufforderungs Programm
Summe aller Probleme
Super Albernes Programm
Super auf Powerpoint
Suppenküche arbeitsloser Physiker
Suuuper Anwendungs Programm
Sympathisches AnwenderProgramm
System Absturz Programmiert
SystemAnalyse und Problemerzeugung
Sächsisches ArbeitsbeschaffungsProgramm
Sämtliche Anwender Protestieren
ist einfach das Geräusch wenn der Anwender-PC aus dem Fenster geworfen wird ....SSSSSSSSSSSSAAAAAAAAAAAAPPPPPPPPPP..........!!!!!!!
In englischer Sprache wird man SAP wohl als »Systems, Applications and Products [in data processing]« auflösen.
(S)hit (A)nswers to (P)roblems in Dataprocessing
(S)ome (A)nswers to (P)roblems in Dataprocessing
(S)tart (A)dding (P)atches
After purchase: Such A Pain
Before you purchase: Solves All Problems
sadistic, ambiguous and pedantic
Salary Appreciation Program.
SAP Always Problems
Save and pray
save a penny, spend a pound
Scream And Puke?
scripts are painful
Scrollbars in All Places
Search And Prey
See After Playing
See Administrators Panic
Select another program
Self Applied Punishment
Sell And Pray
send another payment
sentence and punishment
Senseless, aimless, painfull
Set up And Pray
Several Additional Payments
Severe Arse Pain
sex and pleasure
Sex And Porn
Sex And Pornography
sex and power
Sexually Attractive People
shitty as possible
shoot again players
Shut up And Pay
Sick And Pain
simple and prosperous
Simple Application Program
simply a program
Sit And Play
sit and pray
slow and painful
smart and pretty
Smile and Pay
sodding awful program
Solve All Problems
Some Alternative Problems
Someone Always Pays
Something About Profits
Spend And Pray!
Spend A Penny, Save A Pound
Spend A Pound, Save A Penny
still abusive paper
Start and Pray
Stop All Production
Stop Any Production
stops all production
stone age program
strange and pointless
stressing acronym performance
Stress Anxiety & Panic
structural adjustment programme
Submit And Pray
such a panic
such a pity
such a pleasure
Sucks All Profits
sudden anxiety and panic
Suffer After Purchase
Suffer And Pay
sum of all problems
sun and pool
Sunday always Put
Sunshine And Paradise
sweat, anger and problems
syphon away profits
Systems Against People
sac à problèmes
sac à puces
sacrifice annoncé des programmeurs
saignant a point
salade a pharmaciens
sandales aux pieds
sans a prior i
sans activité professionnelle
sans apport personnel
sans aspect poétique
sans aucune pitié
sans aucune priorité
sans aucun problème
sans aucun progrès
sans avenir projeté/ proche
sans avis personnel
sans avoir peur
santé amour propriété
saucisse au poivre
sauver absolument le patron
sérénité a perpétuité
seulement avec préservatif
sexe a pile
sexe, alcool et plage
simple à planter
situation assez périlleuse
société a penser
soif a pleurerv
solution aux problèmes
soucis à perpétuité
souffrir avec plaisir
souhaite avoir un poste
souhaite avoir une prime
soumis a priorité
soupe aux poireaux
source d'accident de production
souriez attention photo
souvenir d'amour professionnel
suer au pénitencier
sueurs angoisses paniques
suite a prévoir
suppositoire atomique périmé
surf à poil
sursis avant problème
sus aux pirates
système a pistons
système a pognon
système à pompe
système au point
système avec papier
Salvati Appena Puoi
S.A. Pazzo (frei übersetzt Deppen-AG)
San Antonio Prega
Senza Alcuna Possibilità
Serve Anche Passione
Siamo A Pezzi
Sistema Altamente Pericoloso
Solo A Pagamento
Sempre Acaba uma Pizza
Sonhando Alcançar o Paraíso
Sonhar Ainda é Permitido
Sua Animaçao vai Passar
Siempre Algunas Porcherias
Sistema a Pedales
Sistema Automatico, Pero . . .
Solo Amigos de Pinto (applies only for Spain!)
Sonría al Progreso
Soy Argentino Perfecto
Suicídate Antes de Partir
(S)teeds (A)ndere (P)roblemen. (german = Immer weitere Problemen)
S.A. Pazzo (ital: Deppen AG)
Server Advertising Protokoll (NetWare)
Service Access Point (OSI)
scrimp alcaline phosphatase.
socialdemokratiska arbetareparti (Schwedisch)
Sony Advanced Playstation
South African Police
Sprookjes, Anekdoten & Probleme
Symbolic Assembler Program (IBM, IBM 704)
Schrik Angst en Paniek. (hollandisch)
Die ursprüngliche Auflösung (zu R/2-Zeiten) hieß »Allgemeiner Berichts Aufbereitungs Prozessor«. Heute heißt es »Advanced Business Application Programminglanguage«.
Alle besten Anwender Probleme
Alles blödsinn aber Prächtig
(a)lways (b)etter (a)lternatives (p)ossible.
Am besten anders Programmieren
Anfänger basteln an Programmen
Another Boat Another Problem
Another Bug, Another Problem
Anstrengende, besonders alberne Programmiersprache
(A)pplikations (b)asierendes (A)nwender (P)roblem
As Bad As Possible
Inhaltsverzeichnis
Viele Aktionen, die man als Systembetreuer machen muß erstrecken sich über mehrere Tage oder sind relativ kompliziert. Dokumentation ist verstreut über verschiedene Handbücher, SAP-Hinweise, eigene Notizen und dem eigenen Kopf. In all diesen Fällen ist es sinnvoll, einen eigenen Fahrplan mit Terminen, Verantwortlichkeiten und Status anzulegen und diesen abzuarbeiten. Vorteil ist, dass man nicht mehr nachdenken muß, nichts vergißt und es im Zweifelsfall recht einfach wiederholen kann.
Gelegentlich ist es notwendig, ein zusätzliches Testsystem aufzubauen oder das Konsolidierungssystem neu aufzusetzen. In einigen Fällen wird man mit einer Mandanten-Kopie hinkommen, in anderen Fällen ist der produktive Mandant einfach zu groß dafür. In diesem Fall bleibt nur eine Systemkopie - außerdem ist das eine nette Übung für die Wiederherstellung der Datenbank.
Wichtige Anforderungen sind die Vorbereitung eines Release-Wechsels, die Euro-Umstellung oder die Vorbereitung und der Test von Migrationen. So oder so, diese Anforderung wird immer wieder auf uns zu kommen.
Unter /home/groups/sapadmin/K22/P33-Kopie
liegen Skripte, Dateien, Infos.
SAP-Lizenz
Dieser Fahrplan ist Oracle- und ADSM-spezifisch.
Plattenbereiche im Zielsystem auf die Größe des Quellsystems bringen.
Die betroffenen Anwender rechtzeitig und ausführlich informieren.
Jobs ausplanen und aufräumen lt. Hinweis 16083.
Alle Transporte freigeben. (Quell- und Zielsystem?)
Offline-Datensicherung. stop_sap P33; switch_logfiles.sh P33; offsite_brbackup P33; start_sap P33; sapcomm?
Erstellen des SQL-Skriptes mit dem die Control-Files im Zielsystem neu aufgebaut werden.
#! /bin/ksh # # Erzeugen des SQL-Skriptes zum rename der Datenbank # # Aufruf als ora<sid> des Quell-Systems # SRC=P33 DST=K22 cd /usr/sap/trans/tmp # Erzeugen des Trace-Files svrmgrl <<EOF connect internal alter database backup controlfile to trace; EOF # Welchen Namen hat es denn? tracefile=`ls -t $ORACLE_HOME/saptrace/usertrace/*.trc | head -1` # Anpassen an das neue System sed -e '1,/^#/d' $tracefile | \ sed -e 's/ REUSE / SET /' \ -e 's/ NORESETLOGS / RESETLOGS /' \ -e "s/$SRC/$DST/" \ -e 's/^RECOVER /#RECOVER /' \ -e 's/^ALTER SYSTEM /#ALTER SYSTEM /' \ -e 's/^ALTER DATABASE OPEN/#ALTER DATABASE OPEN/' \ > ccf.sql.check
Abbildung E.1. Aufbau des SQL-Skriptes
Vorbereiten backfm: Kopie der initP33.utl und der
initP33.bki
auf hermes05 , anpassen an die dortigen Verzeichnisse und auf das
Wiedereinlesen der OFFSITE-Sicherung. | Hein | 23.07.1999 | ok |
Stop Importer | Hein | 03.08.1999 | ok |
K22 in der /usr/sap/trans/bin/TPPARAM als Dummy-System
definiert | Hein | 03.08.1999 | ok |
Shutdown K22 | Hotline | 02.08.1999 | ok |
OFFSITE-Sicherung K22 | Hotline | 02.08.1999 | ok |
Die folgenden drei Punkte erledigt das Skript /home/groups/sapadmin/K22/P33-Kopie/kill-and-copy | Hein | 03.08.1999 | |
Löschen der alten K22-Daten | |||
Neuanlegen der Verzeichnisse für die Datafiles (backfm macht das nicht) | |||
Restore der Datensicherung: / sapmnt/K22/exe/backfm -p /oracle/K22/dbs/initP33.utl NEU: Das ist alles ein Skript. | |||
Umbenennen der Datenbank lt. Oracle: P33:
alter database SET DATABASE 'K22' ... RESETLOGS.
Das SQL-Skript ccf.sql.check sollte das korrekt tun. | Hein | 03.08.1999 | ok |
Die Datenbank starten mit (ist das dokumentiert, dass das genau so notwendig ist?): svrmgrl connect internal startup nomount; alter database mount; alter database open resetlogs; | |||
Anlegen der OPS$-User im Oracle mit dem Skript /home/groups/sapadmin/scripts/chdbpass, sonst geht es nicht. | Hein | 03.08.1999 | ok |
Check der Datenbank mit sapdba | Hein | 03.08.1999 | ok |
Anlegen der OPS$-User für c11adm im Oracle mit dem Skript
/home/groups/sapadmin/scripts/create_ops_user_c11adm.sh | Hein | 03.08.1999 | ok |
Die Tabelle DDLOG leeren: svrmgrl connect internal; truncate tabel sapr3.ddlog; | |||
000/hein: se06 , neu kopiert aus vorhandenem System
Achtung: lokale Programm-Objekte ($tmp) werden Originale | |||
Umbenennen der SAP-Instanz lt. SAP Hinweis 48585 | |||
sm21 je Instanz einmal aufrufen | Hein | 03.08.1999 | ok |
rz10 , c11adm, spad ; Jobs? | |||
rz04 : Betriebsarten anlegen/anpassen | |||
smlg : Logon-Groups pflegen | |||
spad : Drucker dem richtigen Aufbereitungsserver zuordnen,
alte Spool-Aufträge löschen, Konsistenz und Installation prüfen | |||
sm59 : RFC-Destinationen? | |||
TemSe-Reorg und Konsistenzprüfung | |||
SICK | |||
sm65 : Hintergrundverarbeitung prüfen Springen -> Zusätzliche
Tests | |||
Nacharbeiten lt. Installationhandbuch (welche?) | |||
RSBTCDEL im Force-Modus starten (Jobs ohne Protokolle löschen) | |||
OSS1 prüfen | |||
Kopie Transportpuffer K22 -> K22.P33-Kopie, P33 -> K22 | Hein | 03.08.1999 | ok |
Offline Datensicherung K22 | Hein | 03.08.1999 | ok |
Nachfahren der Importe | Schultheis | 13.07.1999 | |
Jobs wieder einplanen | |||
Freigabe des Systems | Schultheis | 15.07.1999 |
Tabelle E.1. xxx
Fragen
Wie geht das wirklich mit dem Oracle-Recovery?
Was ist bei den Transporten zu beachten und zu tun?
Wie ist das System hinterher umzubenennen? Siehe SAP-Hinweise. Welche?
After the systemcopy it might be needed to avoid starting background jobs. You have different ways to achieve that:
Set the number of background processes to 0 (for all
instances). This can be done with the profile parameter
rdisp/wp_no_btc
.
Stop the Scheduler for background jobs by setting the
profile parameter rdisp/btctime
to 0.
Remove the background jobs from the system:
update sapr3.tbtco set status='P' where jobname not like 'EU%' and jobname not like 'RDDIMP%' and jobname not like 'SAP%' and status='S'; delete from sapr3.tbtcs where jobname not like 'EU%' and jobname not like 'RDDIMP%' and jobname not like 'SAP%';
If you are going to change the operating system or database system underneath your SAP system, you are forced to do a heterogeneous system copy. You'll get the software kit from SAP, as well as the needed license key. At least for productive systems the migration must be done by a certified migration consultant.
Another reason for R3load is a complete reorganization of the database (including SYSTEM tablespace for Oracle). It is also the only way to change the datafile-layout during a systemcopy (backup/restore keeps the layout for Oracle).
Task | Comments | State |
---|---|---|
Check Free Space | Check that there is enough space in the filesystem to store the export (roughly 10% if the database size will be needed). |
Tabelle E.2. Checklist for R3load Export
Task | Comments | State |
---|---|---|
Prepare DBSIZE.TPL | Copy the file DBSIZE.TPL from the export directory into your import directory. Adapt as needed (max file size seems to be 10G, check DBMIG.R3S). Also PSAPTEMP must be large enough (at least the size we had for the export) |
Tabelle E.3. Checklist for R3load Import
Simple Import/Export-Monitoring:
BACKINT is a definition of a command line interface between brbackup, brarchive, and brrestore and an external backup tool. This chapter is based on my experience with Tivoli Data Protection for R/3 (also known as TSM or ADSM interface for R/3)
The configuration of the BACKINT interface is a so called
utl-file. Sometimes you will find it in the exe-directory, sometimes
in $ORACLE_HOME/dbs
. In my last projekc it was
stored in
C:\ADSM\SID
\initSID
.utl.
You can copy the configuration from another system and use that for a system copy.
Useful commands (works only with the correct environment set - DSM_DIR and so on):
backint -p initSID
.utl -f inquire
#NULL /oracle/SID
/sapbackup/backSID
.log
All saved versions of the log
#NULL All Backup IDs
#BACKUPID List of saved files
backint -p initSID
.utl -f restore
#BACKUPID saved-file [new-file]
With -i you can use a backup list, for example for a system copy which
moves files to other disks
backint -p initSID
.utl -f password
Reset the password locally (needs corresponding task on TSM server)
backint -p initSID
.utl -f backup
Nice frontend:
backfm -p initSID
.utl
Inhaltsverzeichnis
Prüfung Datensicherung
sapdba -check
ABAP-Kurzdumps
Verbuchungsabbrüche
Alert-Monitor, Cleanup data/work/global/andere Verzeichniss, Systemjobs prüfen(?)
DB-Export/Verify prüfen
Benutzerlizenzen prüfen (Liste, Systemvermessung, ZSUSER20)
Hotpackages prüfen und einspielen
Kernel-Patches prüfen und einspielen
Überdenken Datenbank-Statistiken?
Datenbankwachstum?
Archivierung/Reorg durchführen bzw. Jobs prüfen
Aktuelle SAP-Hinweise zusammensuchen
TemSE/Spool Check
SPAD
-Checks
Tuning? Sick? Systemlog?
Aufräumen der Transportpuffer mit tp
cleanbuffer SID
, danach
starten von tp check all verbose und
tp clearold all. Wichtig: Prüfen der
Protokolle und Probleme bereinigen. Andernfall läuft das
Verzeichnis /usr/sap/trans
irgendwann
voll.
Inhaltsverzeichnis
Ein zentrales Verzeichnis für administrative Aufgaben,
Skript, Dokumentationen, Transporte, Patches etc., z.B. unter
/home/groups/sapadmin
.
Führen von einem zentralen
ChangeLog
im administrativ genutzten
Verzeichnis. Ebenso braucht man ein
System-ChangeLog
dort oder in einem
anderen Verzeichnis.
Zentrale Sammlung von sequentiellen Dateien, z.B. unter
/transfer
.
NIS als zentrale Benutzerverwaltung, eventuell auch mehr.
Zentraler Mail-Hub: alle Mail ist dort zu finden.
User Private Groups und umask 002.
Gruppen für sapadmin
, saptrans
.
Einfaches Wechseln der User-ID mit sudo bzw. ssh.
Zentrales /usr/local
für eigene
Tools zur Systemverwaltung (bei AIX notwendig, bei Linux
möglicherweise weit weniger wichtig).
Einfaches Monitoring mittels Skripten. Überwachung data/work/global; leeren aller tmp-Verzeichnisse
Early Watch und Early Watch Alert sind nützlich.
Viele Probleme sind in SAP-Hinweisen dokumentiert. Aktuelle Patches und Hotpackages einspielen vermindert i.d.R. die Anzahl der Modifikationen und Probleme.
Probleme direkt angehen und nicht ignorieren. Oft liest man etwas im Log, später wird's dann zu einem (zeitkritischen) Problem.
Monitoring ist nützlich. Big Brother, mon und mrtg sind hilfreich. Ein Fehler darf immer nur einmal auftreten.
Jedes System hat eine eigene Instanz-Nummer.
Bei mehreren Applikationsservern Logon-Groups einsetzen als HA für Arme.
Zeit, die in eine gute Infrastruktur (Basis) investiert wird, zahlt sich aus.
Besonders bei mehreren Systemverwaltern braucht man "Regeln zur Systemverwaltung" oder ein "Betriebsführungskonzept", auch wenn es nicht schriftlich dokumentiert ist.
samba ist in einer heterogenen Umgebung fast ein muß.
Nägel, Köpfe, Draufhauen. Oder: Wer und wann?
Die Konsequenzen aus meinen Erfahrungen sind hier positiv (als Angriffsplan) formuliert.
Sofort Berechtigungskonzept beginnen, zentrale
Verwaltung von SAP-Lizenzen, der Benutzerpflege und der Berechnung der
Kosten (Lizenzen und Wartung). Regelmäßige Kontrolle, alle Änderungen
an Benutzern erfordern Schriftform. Es gibt keine Benutzer mit der
SAP_ALL
-Berechtigung. Wechsel zwischen
Abteilungen, Ein- und Austritte sollten den Benutzerverwalter
rechtzeitig bekannt sein.
Archivierung gehört zum Projekt, nicht wenn man mal Zeit hat.
Regelmäßige Tätigkeiten sind wichtig. Dokumentieren und tun!
Einfaches Monitoring mittels Skripten ist schnell unübersichtlich. Speicherung von Daten zur Systemauslastung im Unix.
aktuelle Hinweise überfliegen -> keine Schlamperei bei regelmäßigen Tätigkeiten.
Monitoring-Skripte generieren zu viele Mails.
Fehlende Anwender/Modul-Liste bei Releasewechsel, Mail-Verteiler, Kommunikation in Projekten.
Schlecht:
Hotline (weil sich nicht verantwortlich fühlend), Security (weil keine Policy festgelegt),
Dokumentation (jeder macht es woanders, kein integraler Bestandteil
der Projekte),
/usr/sap/trans
auf den HA-Maschinen,
/usr/local
auf hermes01,
/migrate
wegen Wechselspiel zwischen HSM und NFS.
Nicht, dass ich Erfahrung damit hatte, aber wenn man nur ein wenig davon beherzigt, dann kann man sich das Leben ein wenig einfacher machen.
Das Steering Committee trifft alle wichtigen Entscheidungen innerhalb von zwei bis drei Tagen. Der Berater schlägt jeweils nur eine einzige Lösung vor - keine Alternativen.
Vor dem Projektstart sind Umfang und Ziele des Vorhabens (auf einer realistischen Basis) festgelegt.
Die wichtigsten Personen im Projektteam stehen dem Vorhaben hundertprozentig zur Verfügung. Aus jedem tangierten Prozeßbereich nimmt ein Vertreter am Projekt teil.
Das Unternehmen orientiert sich am R/3-Standard und sieht, soweit möglich, von Modifikationen ab.
Für die Systemadministration, die Altdatenübernahme und die Schnittstellen zu anderen Systemen steht ein Technikteam zur Verfügung.
Alle Parteien einigen sich darauf, dass das Einhalten des Fahrplans das oberste Ziel ist.
Das Team arbeitet in einem gemeinsamen Projektraum, um sich informell abstimmen zu können und auf diese Weise modulweise Teiloptimierungen zu vermeiden.
Es sollten viele Milestones mit knappen, nachprüfbaren und realistischen Terminen gesetzt werden. Bei Terminüberschreitungen läuft etwas falsch.
Der folgende Auszug stammt aus [Dust or Magic]. Eigentlich geht es um Multimedia-Projekte und Werbung, aber etwas abgewandelt beschreiben die Punkt einige Richtlinien für einen erfolgreichen Projektstart.
A basic brief tells you five things:
Who your audience is.
What you are promising them.
What you want them to do about it.
The "One great thing" or "singleminded proposition": the message that will make them sit up and go "Wow!"
What your constraints are (i.e., how much time and money you've got, and what media).
Die Usenet-Newsgroups comp.soft-sys.buisiness.sap (gegatete Mailingliste xxx) und de.alt.comp.sap-r3.
Mailing-Liste: <sap-r3-l@mitvma.mit.edu>
,
subscribe bei <listserv@mitvma.mit.edu>
. High
Traffic, selektierbar nach TOPIC. Anleitung kommt per Mail,
englische Sprache.
Mailinglisten bei bosvm? d-sap-r3-l@bosm.de; Prüfen, irgendwo hab' ich's gelesen.
http://www.chscene.ch/ccc/ds/62/008_sapr3.html www.it-audit.de www.linuxfabrik.de www.sapbooks.com www.saplabs.com www.sappro.com Seit Anfang gibt es auch zwei amerikanische: SAP Technical Journal - http://www.saptechjournal.com SAP Professional - http://www.sappro.com
Die offizielle SAP-Website.
Das SAPNet: Jede Menge SAP-Informationen für registrierte Kunden, OSS-Hinweissuche, Hotpackages, Dokumentationen und mehr. Ein Muß für jeden SAP-Kunden.
SAP Infos aus zweiter Hand, aber sehr nützlich.
SAP Infos aus zweiter Hand, aber sehr nützlich.
Hand-Crafted Software Home Page
CT-Software GmbH: Tools for SAP R/3 ABAP/4
Das SAP Business Magazin: News aus IT, Wirtschaft, Politik, Technik, Management und Karriere...
A Homepage for SAP Professionals
SAPEdit External ABAP/4 Editor
SAP Assist - Assisting SAP Practitioners With Their Daily Activities
SAP R/3 archive searchable database
SAP Assist - Assisting SAP Practitioners With Their Daily Activities
SAP Fans Home Page: The SAP Fan Club and User Forum
SAP AG [Industries - SAP Media]
SAPNet - - Online Correction Service
Die SAP-Info-Seite in Deutschland!
http://ftp.wustl.edu/doc/misc/org/cait/sap/Mailing-Lists/SAP-R3-L/WELCOME
Staudt & Krämer WebTechnologies GbR
PBS-Online-Archive für SAP R/3
5.5 User Gruppen, Newsgruppen, List-Server und Hilfen der Anwender
SAP-Arbeitskreis Hochschulen e.V.
Es gibt doch sicher noch mehr URLs?
www.sapfans.com www.sapfaq.com www.sapmag.de www.sapassist.com www.abap4.net www.sapinfo.com
Seite http://www.sap-links.de oder http://www.sap-consulting.de . Das ganze
http://www.ssh.fi, add lsh-URL
http://www.gnu.org
Administration des SAP-Systems R/3. Leitfaden zur Systembetreuung und -optimierung. Addison-Wesley. 3827311365.
Die Technologie des SAP-Systems R/3. Basis für betriebswirtschaftliche Anwendungssysteme. Addison-Wesley. 3827313791.
SAP R/3 Der schnelle Einstieg. Herausgegeben von der CIMAP Consulting GmbH. Addison-Wesley. 3827316464.
SAP R/3 dynamisch einführen. Das dynamische, DSDM-basierte Vorgehensmodell für SAP R/3-Projekte. Addison-Wesley. 3827314569.
SAP R/3 prozeßorientiert anwenden. Iteratives Prozeß-Prototyping mit Prozeßketten. Addison-Wesley. 3827314968.
SAP R/3 Systeme effizient testen. Automatisiertes Testen von Geschäftsprozessen in R/3. Addison-Wesley. 3827315611.
SAP R/3-Einführung mit ASAP. Technische Implementierung von SAP R/3 planen und realisieren. Addison-Wesley. 3827313805.
SAP R/3-Systemadministration. Basiswissen für das SAP R/3-Systemmanagement. Addison-Wesley. 3827313562.
A Holistic Approach to a Reliable Infrastructure for SAP R/3 on AIX. IBM. Oktober 2001.
Interessante Bemerkungen zu einem stabilen SAP Betrieb, bei IBM unter der Nummer SG24-5050-00 zu beziehen. Im Internet ist es hier zu finden.
Peopleware - Produktive Projects and Teams. Dorset House Publishing. 0-932633-05-6. 1987.
Die deutsche Übersetzung heißt »Wie wartet auf Dich - der Faktor Mensch im DV-Management«. Unbedingt lesenswert.
The mythical Man-Month. Addison-Wesley. 0-201-83595-9. 1995.
Der Klassiker zur Terminplanung in Projekten.