SAP R/3 Basissystem

kurzgefaßt

Jochen Hein


          Helenenstraße 18
          65183 Wiesbaden
          Germany
          Telephon: +49 (0) 611 / 7 248 737
          Fax: +49 (0) 611 / 7 248 736
          e-Mail: 
        

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


Widmung und Danksagung

Dieses Werk ist allen Personen gewidmet, die Freie Software entwickeln, supporten, maintainen, dokumentieren oder benutzen. Es macht Spaß mit Euch allen zu arbeiten.

Inhaltsverzeichnis

1. Einleitung
2. Tipps und Tricks für Unix-basierte Systeme
2.1. Allgemeine Tipps
2.2. Nützliche Aliase
2.3. Useful Scripts
2.4. Useful SAP commands
2.5. Additional Unix commands
2.6. Der Dispatcher-Monitor dpmon
2.7. Unix-Kommandos die ich mir nicht merken kann...
3. Tips and Tricks for NT
3.1. Useful aliases
4. Useful Functions in SAP R/3
4.1. OK-Codes (Function Codes?)
4.2. OK-Codes bei der Batch-Input Verarbeitung
4.3. Benutzerparameter (Set/Get parameter)
4.4. Transaktionen zur Benutzerpflege
4.5. System Management
4.6. System Monitoring
4.7. Nützliche ABAP/4-Programme
4.8. Tabellenpflege
4.9. Logon-Groups - Lastverteilung und Ausfallsicherheit
5. Hintergrundverarbeitung
5.1. Voraussetzungen für die Hintergrundverarbeitung
5.2. Transaktionen für die Hintergrundverarbeitung
5.3. Reports und Varianten
5.3.1. Vorgefertigte Variablen in Varianten
5.4. Starten externer Programme
5.5. Berechtigungen für die Hintergrundverarbeitung
5.5.1. Berechtigungsklasse: Basis - Administration
5.6. Trouble-Shooting zur Hintergrundverarbeitung
5.7. Logische Dateinamen und Betriebssystem-Kommandos
5.7.1. Transaktionen und Tabellen
5.7.2. Variablen in Pfaden
5.7.3. Berechtigungen zum Dateizugriff
5.8. Events
5.9. Tipps zur Hintergrundverarbeitung
5.10. Hintergrundverarbeitung aus eigenen ABAPs steuern
6. Batch-Input
6.1. Transaktionen zu Batch-Input
6.2. Tipps für den Umgang mit Batch-Input
7. Transporte zwischen SAP-Systemen
7.1. Überblick
7.2. Transaktionen
7.3. Tabellen des Transportsystems
7.4. Profile und Berechtigungen
7.5. Das /usr/sap/trans-Verzeichnis
7.5.1. Heterogenous Systemlandscape
7.6. Using tp
7.6.1. Befehle
7.6.2. Unconditional-Modes
7.7. Typical tp usages
7.8. More tp options
7.9. Not so typical tp usage
7.10. R3trans usage
7.10.1. Steuerdatei
7.10.2. Examples of R3trans usage
7.11. Client Copy
8. Mandantenverwaltung
9. Development-Tools
9.1. ABAP™ Tipps und Tricks
9.1.1. Variable Titelzeilen beim Reporting
9.2. Befehle des ABAP-Editors
9.3. Modifikationen an SAP-Programmen
9.4. Erweiterungen zum SAP-Standard
9.4.1. Erweiterungen von SAP-Tabellen
9.4.2. User-Exits
9.4.3. Field-Exits
9.5. Berechtigungen
9.6. Namenskonventionen und Namensräume
9.7. Etwas ABAP-Geschichte
10. Sending mail from within SAP
10.1. sendmail configuration for SAP R/3
11. Datenbank Abhängigkeiten für Oracle
11.1. Umgebungsvariablen für Oracle
11.2. Wichtige Konfigurationsdateien
11.3. Verzeichnis-Layout
11.4. Monitoring
11.5. SAP Programme zur Datenbankverwaltung
11.6. Oracle-Programme zur Datenbankverwaltung
11.7. Useful SQL scripts
11.8. Troubleshooting
11.9. Oracle Tables/views
11.10. Tips zur Oracle-Verwaltung
11.10.1. Events in init.ora
11.11. Nützliche Oracle-Befehle
12. Nützliche Tipps und Tricks
12.1. Upgrades
12.2. Branchenpakete
A. Standard-Paßwörter des R/3-Systems
A.1. SAP Benutzer
A.2. Datenbank-Benutzer - Oracle
A.3. Standard-Paßwörter für Informix
A.4. Datenbank-Benutzer - SAP-DB
A.5. Benutzer der Netweaver 04 Demo DVD
B. SAP Hinweise
C. GNU Free Documentation License
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
D. Auflösungen des Acronyms SAP
D.1. Deutsche Auflösungen
D.2. Englische Auflösungen
D.3. Französische Auflösungen
D.4. Italian
D.5. Portuguêse (came from Brasil)
D.6. Spanish
D.7. Andere Auflösungen
D.8. Auflösungen für ABAP
E. Fahrpläne
E.1. Erstellen einer Systemkopie
E.2. Systemcopy/Migration with R3load
13. Cheat-Sheet with useful backint commands
F. Regelmäßige Tätigkeiten
F.1. Tägliche Aufgaben
F.2. Wöchentlicher Kram
F.3. Monatliche Tätigkeiten
G. Erfahrungen aus der bisherigen Installation
G.1. Gute Erfahrungen
G.2. Schlechte Erfahrungen
G.3. Prämissen für ASAP
G.4. The Brief. If you haven't got one, invent one
H. Online-Resourcen
Literaturverzeichnis

Abbildungsverzeichnis

2.1. Useful shell functions
2.2. Usage examples
2.3. a Distfile for rdist
2.4. starting SAP script from cron
2.5. Crontab
2.6. Shell functions
2.7. Aufruf des Befehls dpmon
2.8. Shell-Skript für dpmon in einer komplexen Systemlandschaft
3.1. Excerpt from a ChangeLog
5.1. Trigger an event from the operating system level
5.2. A profile for sapevt
7.1. The TPPARAM file
7.2. Example samba configuration
7.3. Typical tp usage
7.4. R3trans Client Copy
7.5. Calling R3trans
7.6. Copying variants with R3trans
9.1. Variable Titelzeilen beim Reporting
9.2. Die Definition eines Field-Exits
10.1. Sendmail Example
10.2. Sendmail Feature
11.1. What tablespaces do have which extent-management
11.2. Resize of Online Redo Logs
11.3. Online Rebuild on Indices
E.1. Aufbau des SQL-Skriptes

Tabellenverzeichnis

2.1. predefined aliases
2.2. User-defines aliases
2.3. Aliase für die Systemverwalter
2.4. Useful commands
3.1. predefined aliases
3.2. User-defines aliases
4.1. OK-Codes im SAP-R/3
4.2. OK-Codes bei der Batch-Input Verarbeitung
4.3. Einige wichtige Benutzerparameter
4.4. Transaktionen zur Benutzerpflege
4.5. ABAPs zur Benutzerverwaltung
4.6. ABAPs zum SAPOffice
4.7. Funktionen zur Systemüberwachung
4.8. Transaktionen zum System-Monitoring
4.9. Nützliche ABAP/4-Programme
4.10. Transaktionen zur Tabellenpflege
7.1. Tabellen für die Transportsteuerung
7.2. The directory /usr/sap/trans
7.3. Buffer related tp commands
7.4. Befehle für TP
7.5. Unconditional Modes for tp Export
7.6. Unconditional Modes Import
7.7. Return codes of R3trans
7.8. Unconditional R3trans Modes for Export
7.9. Unconditional Modes for R3trans Import
8.1. Mandanten eines R/3 Systems
8.2. Transaktionen zur Mandantenverwaltung
8.3. Nützliche Programme zur Mandantenverwaltung
11.1. Transaktionen zur Datenbankverwaltung
A.1. Standard-SAP Benutzer
A.2. Oracle-Benutzer
A.3. Unix-Benutzer
A.4. SAP R/3 user
B.1. releaseunabhängige SAP-Hinweise
B.2. nützliche SAP-Hinweise für Release 3.0F
B.3. nützliche SAP-Hinweise für Release 4.0B
B.4. Hinweise zu Oracle
E.1. xxx
E.2. Checklist for R3load Export
E.3. Checklist for R3load Import

Beispiele

2.1. Auszug aus einem ChangeLog
9.1. Suchen einer Zeichenkette mit Sonderzeichen

Kapitel 1. Einleitung

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 erreichen.

Jochen Hein

Kapitel 2. Tipps und Tricks für Unix-basierte Systeme

2.1. Allgemeine Tipps

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.

2.2. Nützliche Aliase

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 sidadm angemeldet sind. Sie können (und sollten) weitere Aliase definieren. and should add more aliases to ˜/.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.

AliasDescription
cdexeChange to the exe-directory /sapmnt/SID/exe
cdarchChange to the saparch-directory /oracle/SID/saparch
cdDChange to the instance-directory /usr/sap/SID/DVEBMGS[0-9][0-9]
cdJCChange to the instance-directory /usr/sap/SID/JC[0-9][0-9]
cdSChange to the instance-directory /usr/sap/SID/SCS[0-9][0-9]
cdproChange to the profile-directory /sapmnt/SID/profile
cdgloChange to the global-directory /sapmnt/SID/global
cddumpDB2: 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

AliasDescription
cdtransChange to /usr/sap/trans
cdputChange to /usr/sap/put
sapdbasapdba -u / if you changed your database password.
brbackupbrbackup -u / if you changed your database password.
brarchivebrarchive -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 sidadm and orasid (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 sidadm id and a sidadm hostname from somewhere in your net where the .rhosts permits a login.

AliasDescription
sidadmrsh -l sidadm appl-server
orasidrsh -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 sidadm 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


2.3. Useful Scripts

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 = (
    sidadm@saphost1 
    orasid@saphost1 
    sidadm@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 sidadm that I use. You may or may not want them.


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!

2.4. Useful SAP commands

CommandDescription
disp+work -VDisplay Kernel Version
rslgviewSyslog Viewer: need to check!
sapguiSAPGui for unix
dpmonAnzeige des Dispatcher-Monitors
sapevtSenden von Events an ein SAP-R/3-System
sapinfoAuslesen von Systeminformationen/Prüfen der Systemverfügbarkeit
saplicenseAnzeige und Ändern der SAP-Lizenz, you may also use SLICENSE instead.

Tabelle 2.4. Useful commands


Beispiele für rslgview

sapgui, saplogon-Beispiele?

2.5. Additional Unix commands

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

2.6. Der Dispatcher-Monitor dpmon

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).

dp pf=/usr/sap/SID/SYS/profile/SID_DVEBMGS00_hostname

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


2.7. Unix-Kommandos die ich mir nicht merken kann...

Realer Speicher: prtconf | grep Memory Swap: swap -l

Kapitel 3. Tips and Tricks for NT

Inhaltsverzeichnis

3.1. Useful aliases

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.

3.1. Useful aliases

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 sidadm. You may and should add more aliases to ~/.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.

AliasDescription
cdexeChange to the exe-directory /sapmnt/SID/exe
cdarchChange to the saparch-directory /oracle/SID/saparch
cdDChange to the work-directory /usr/sap/SID/DVEBMGS00

Tabelle 3.1. predefined aliases


AliasDescription
cdtransChange to /usr/sap/trans
cdputChange to /usr/sap/put
sapdbasapdba -u / if you changed your database password.
brbackupbrbackup -u / if you changed your database password.
brarchivebrarchive -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?

Kapitel 4. Useful Functions in SAP R/3

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.

4.1. OK-Codes (Function Codes?)

OK-Codes

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-CodeBeschreibung
/oÜbersicht der offenen Modi und die Möglichkeit einen bestehenden zu löschen oder einen neuen zu erzeugen.
/oTransaktionÖffnen eines neuen Modi mit der Transaktion transaktion
/nTransaktion Beenden der aktuellen Transaktion und starten der neuen Transaktion transaktion im aktuellen Mode. Achtung, nicht gespeicherte Daten gehen ohne Warnung verloren!
/*Transaktion 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!
/iModus 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).

4.2. OK-Codes bei der Batch-Input Verarbeitung

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ü System+Dienste+Batch-Input mit Hilfe der hier angegebenen Codes ausführen.

OK-CodeBeschreibung
/bendBeenden 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!

4.3. Benutzerparameter (Set/Get parameter)

Benutzerparameter

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 technische Info 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.

ParameterBedeutung
BILDownload-Bilanzversion
BUKBuchungskreis
GR8Download-Pfad
GR9Upload-Pfad
KPLKontenplan der Finanzbuchhaltung
WRKWerk

Tabelle 4.3. Einige wichtige Benutzerparameter


Was sind Varianten-Variablen?

GPA's und RFC-Transaktionen. Bei mir geht's erstmal nicht...

4.4. Transaktionen zur Benutzerpflege

Benutzerpflege

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.

TransaktionBeschreibung
SU01Pflege Benutzerstämme, mit Anzeige von Benutzer- und Profil-ÄnderungenBenutzerstamm
SU02Pflege von BerechtigungsprofilenBerechtigungsprofile
SU03Pflege von BerechtigungenBerechtigungen
SU22Anzeige von Berechtigungsprüfungen?
SU50BenutzerfestwerteBenutzerfestwerte wie Drucker, Sprache oder StartmenüStartmenü einrichten
SU51Benutzeradresse selbst pflegenBenutzeradresse
SU52Eigene BenutzerparameterBenutzerparameter pflegen, fremde werden mit der Transaktion SU01 gepflegt.
SU53Anzeige der Prüfwerte (geprüfte Berechtigungsobjekte)
SU54BenutzermenüBenutzermenü pflegen
SU55Benutzermenü startenBenutzermenü
SU56BenutzerpufferBenutzerpuffer (aktuelle Berechtigungen) analysieren

Tabelle 4.4. Transaktionen zur Benutzerpflege


ReportBeschreibung
RSUSR003Standard-Paßwörter
RSUSR005Kritische Berechtigungen
RSUSR006Gesperrte Benutzer und Falschanmeldungen
RSUSR008Kombinationen kritischer Transaktionen
  

Tabelle 4.5. ABAPs zur Benutzerverwaltung


ReportBeschreibung
RSSOINBOAnzahl SAPOffice Dokumente im Eingang
RSSOPRIVAnzahl SAPOffice Dokumente
RSSORE01Konsistenz-Check SAPOffice
RSSOTRCLLöschen SAPOffice Traces
  

Tabelle 4.6. ABAPs zum SAPOffice


4.5. System Management

System ManagementSystemüberwachung

Die aktuelle Transaktion findet man unter System -> Status. In das Hauptmenü kommt man immer mit der Eingabe /ns000 im OK-Code. Ab Release 4.6 erreichen Sie das alte Menü mit /ns000_old.

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.

CCMSComputing Center Management System

DB13?

TransaktionBeschreibung
RZ03Control Panel
RZ04Pflege von Instanzen und Betriebsarten
RZ10Profil-Pflege
RZ11Attribute zu Profil-Parametern
SRZLAufruf des CCMS
SMLGPflege von Logon Groups
SU01Pflege Benutzerstammsätze
SU02Berechtigungsprofile
SU03Berechtigungen

Tabelle 4.7. Funktionen zur Systemüberwachung


4.6. System Monitoring

System Monitoring

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

TransaktionBeschreibung
AL11Anzeige von Unix-Dateien in verschiedenen Pfaden
OS01LAN check with ping (DB-Server, Applikationsserver, Frontend-Rechner
RZ03Alert-Monitor
SA38Starten von ABAPs
SM02Versenden von Systemnachrichten
SM04Benutzerübersicht, je Server und Speicherbedarf je Benutzer, Echo-Modus. Alle SAP-Benutzer auf einen Blick sieht man in der Transaktion SMLG.
SM13Steuerung des Verbuchers
SM21Systemlog
SM35Batch Input
SM35PBatch Input Reorganisation
SM37Job Übersicht
SM50Instance View
SM51Prozesse der aktuellen Instanz
SM56Status Nummernkreispuffer
SM66Globale Prozess-Übersicht Prozesse
SMGWGateway-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.
ST04Datenbank-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.
ST07Anwendungsmonitor
ST14Anwendungsanalyse
ST22Dump analysis
SRZLDirekter Aufruf des CCMS
TU02Anzeige von Profilparametern, der Datei initSID.ora 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.

Warnung

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.

4.7. Nützliche ABAP/4-Programme

ABAPBeschreibung
RDDPROTOAnzeige der Upgrade-Protokolle (ab Release 4.5x ersetzt durch /usr/sap/trans/upgrade/SID/REL/prosa/index.html)
RSBDCOS0Ausführen von Betriebssystemkommandos
RSLG0014Testprogramm: Schreiben von Systemlog-Einträgen
RSPARAMAnzeige der aktiven SAP Profile Parameter
RSPFPARAnzeige der aktiven SAP Profile Parameter
RSTRANSP?Transport von Varianten
RSUSR003Paßworte der SAP-Standardbenutzer prüfen.

Tabelle 4.9. Nützliche ABAP/4-Programme


4.8. Tabellenpflege

TabellenpflegeCustomizing

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.

TransaktionBeschreibung
SM30View-Pflege
SM31Tabellen-Pflege
SCU0Tabellenabgleich zwischen Systemen
SCU3Tabellen-Historie[1]
SE01Transporting tables and more
SE11Data Dictionary
SE12Data Dictionary (Anzeige)
SE16Inhalts-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

4.9. Logon-Groups - Lastverteilung und Ausfallsicherheit

Login-GroupsLastverteilungAusfallsicherheit

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 (Werkzeuge -> Administration -> Computing Center -> Management System -> Configuration -> Logon Groups).

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ü Gruppenliste -> Format -> Erweitert wird im Übersichtsbild eine ausführlichere Liste angezeigt, die wesentlich aussagekräftiger ist, als die kurze Liste. Mit dem Menüpfad Springen -> Benutzerliste wird eine Benutzerübersicht über alle Instanzen aufgebaut, und der Pfad Springen -> Lastverteilung 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.



[1] Der Parameter client/tabrec=Mandant muß in Instanzprofil gesetzt sein

Kapitel 5. Hintergrundverarbeitung

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 Programm -> Im Hintergrund starten, 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 Programm -> Im Hintergrund in den Transaktionen 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.

Tipp

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.

5.1. Voraussetzungen für die Hintergrundverarbeitung

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.

5.2. Transaktionen für die Hintergrundverarbeitung

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ü System -> Dienste -> Jobs enthalten. Sie können Ihre gerade laufenden Jobs mit einem Knopfdruck abbrechen und sehen eine Übersicht über die letzten abgebrochenen Jobs.

SM36 Job-Definition

Erstellen 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-Übersicht

Einplanen 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 Status prüfen schaut das System etwas genauer hin und korrigiert die Anzeige.

SM39 Performance-Analyse

Nützlich, um aktuelle und durchschnittliche Laufzeiten sowie Abweichungen zu ermittlen. Mit dem Button Ansicht 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 Prozesse 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-Übersicht

Springen zu diversen Funktionen wie Systemlog und mit Springen -> Traces zu den Developer-Traces. Praktischer Einstieg ins Monitoring.

SM61 Background Objects

Verwalten 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 Event

Auslö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 Hintergrundverarbreitung

Einfacher Test, ob die Hintergrundverarbeitung funktioniert. Unter Springen -> zusätzliche Tests werden weitere, intensivere Tests angeboten.

SM66 Globale Workprozeß-Übersicht

Aktuell 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 Monitor

Graphische Darstellung der Background-Workprozesse, deren vergangener und geplanter Belegung. Sprungbrett für diverse Job-Analysen über die Menüs Monitor und Jobs.

5.3. Reports und Varianten

Mit dem Menü Programm -> Im Hintergrund starten kann man innerhalb des Reportings (Transaktion 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ü Springen -> Varianten kann man Varianten auswählen oder erzeugen. Bei der Funktion Programm -> Im Hintergrund ausführen 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.

5.3.1. Vorgefertigte Variablen in Varianten

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 Springen -> Benutzervariablen

Variablen werden in der Variantenpflege angelegt, indem man die Option Selektionsvariable anwählt. Im folgenden Fenster kann man die Variable genauer spezifizieren.

5.4. Starten externer Programme

Externe Programme werden unter Unix™ mit den Rechten des Benutzers sidadm 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.

Programme stehen entweder im Suchpfad den sidadm oder müssen mit dem vollen Pfad angegeben werden. Besser ist die Definition von logischen Kommandos mit der Transaktion SM49. 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, Springen -> Developer-Traces, 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.

5.5. Berechtigungen für die Hintergrundverarbeitung

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.

5.5.1. Berechtigungsklasse: Basis - Administration

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

5.6. Trouble-Shooting zur Hintergrundverarbeitung

  • 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.

5.7. Logische Dateinamen und Betriebssystem-Kommandos

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).

5.7.1. Transaktionen und Tabellen

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.

5.7.2. Variablen in Pfaden

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?)

5.7.3. Berechtigungen zum Dateizugriff

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).

5.8. Events

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-Bezeichnungen

Vor der Verwendung muß ein Event definiert werden, dies geschieht mit dieser Transaktion.

SM64 Auslösen von Events

Vor der Verwendung muß ein Event definiert werden, dies geschieht mit dieser Transaktion.

SM36 Job-Definition

Erstellen eines Jobs und Zuordnung eines Events

SM37 Job-Übersicht

Zuordnung 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/SID/exe/sapevt \
    pf=/sapmnt/SID/profile/DEFAULT.PFL \
    Event
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.PFL

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 sapmsSID. Look at you central instance if in doubt.

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?

5.9. Tipps zur Hintergrundverarbeitung

Die Definition von Jobs ist für viele Fälle zu aufwendig. Mit der Transaktion SE38 AusführenIm Hintergrund Starten 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/SID/global/MandantJOBLG gespeichert. Es ist ziemlich unangenehm, wenn das Dateisystem voll ist.

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.

5.10. Hintergrundverarbeitung aus eigenen ABAPs steuern

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.

Kapitel 6. Batch-Input

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*.

6.1. Transaktionen zu Batch-Input

SHDB Batch-Input: Aufzeichnung

Manuelle Aufzeichnung von Batch-Input Mappen. Eine nette Hilfe, um zu wissen, wie man die Mappe mit einem ABAP erstellen kann.

SM35 Batch-Input: Monitoring

Die 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.

6.2. Tipps für den Umgang mit Batch-Input

  • 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).

  • Achten Sie darauf, dass Mappen zeitnah abgespielt werden. Nach einem Monat weiß keiner mehr, was in welcher Mappe steht und ob diese noch relevant ist oder nicht. Ernennen Sie Verantwortliche für die verschiedenen Module oder kümmern Sie sich selber monatlich darum.
  • Gelegentlich gibt es Fehler in den Programmen zur Batch-Input-Verarbeitung, diese sind besonders gefährlich, da häufig das Fehlen einer Transaktion nicht auffällt. Daher die entsprechenden SAP-Hinweise verfolgen bzw. Patches dazu einspielen.
  • Entweder Kontrollsummen (Transaktion 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.

Kapitel 7. Transporte zwischen SAP-Systemen

7.1. Überblick

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).

7.2. Transaktionen

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änderbarkeit

Sie 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.

7.3. Tabellen des Transportsystems

E071, TADIR

SAP-TabelleBeschreibung
TSYSTSysteme des Transportverbundes
TDEVCDevelopment-Klassen
T?Belieferungs-Systeme
T?Transport-Layer

Tabelle 7.1. Tabellen für die Transportsteuerung


<