SAP R/3 unter Linux

Spiel mit dem Monster

Jochen Hein

Jochen arbeitet mit SAP R/2 seit 1987, mit Linux seit 1992 und mit SAP R/3 seit 1995. Sein Hobby an der Arbeit als SAP Basisbetreuer ist das Kaputtmachen und Reparieren von SAP Systemen. Privat reicht's, wenn Linux einfach läuft.

Der folgende Artikel liefert einige allgemeine Informationen zu SAP R/3 und beschreibt die Installation der kostenlosen Entwickler-CD von SAP R/3 auf einem Red-Hat-System sowie die ersten Schritte damit.

Dieser Artikel ist ursprünglich im Linux Magazin in der Ausgabe 09/2000 erschienen und ist hier leicht verändert und korrigiert zu lesen. Die Veröffentlichung auf meiner Homepage erfolgt mit freundlicher Genehmigung des Linux Magazins.

Linux-Magazin


Inhaltsverzeichnis
1 Architektur des R/3 Systems
2 Installation der Demo-CD
3 Die ersten Schritte im System
4 Wir sprechen Deutsch
5 Fazit - oder: Was hat man davon?
Literaturverzeichnis

Seit der letzten CeBit ist SAP R/3 auch ein Thema für viele Linux-Anwender (und umgekehrt). Mit der Verfügbarkeit von R/3 für Linux sind auch die letzten Kritiker verstummt, die Linux als prinzipiell nicht für den kommerziellen Einsatz geeignet ansahen. In der Zukunft werden wir viele R/3 Systeme unter Linux finden, insbesondere bei den Installationen, die bisher auf NT gesetzt haben. Die Gründe dafür sind immer wieder dieselben: Linux ist stabil (stabiler als NT) und die Hardware ist ebenso preiswert.


1 Architektur des R/3 Systems

SAP ist ein komplexes Client/Server-System für betriebswirtschaftliche Anwendungen. Es ist in einer sogenannte Drei-Schichten-Architektur implementiert, siehe Abbildung 1. Die drei Schichten sind der Datenbankserver, der Applikationsserver und das Frontend. Mit mySAP.com und den verschiedenen Internet-Anwendungen kommen noch weitere Schichten dazu. Hier soll es aber nur um den klassischen Aufbau gehen.

Abbildung 1 Die Architektur des SAP R/3-Systems

Als Datenbanken sind praktisch alle großen Datenbanksysteme unterstützt, als Betriebssystem viele Unix-Systeme auf verschiedenen Plattformen, sowie Windows NT, OS/400 und OS/390. Als Frontend-Plattform wird häufig Windows eingesetzt, auf den Applikationsservern können verschiedene Betriebssysteme (auch gemischt) eingesetzt werden.

Bei dem jetzt verfügbaren SAP R/3 Demo-System für ABAP/4-Entwickler laufen die Datenbank (SAP-DB) und der Applikationsserver auf einem Rechner. Das graphische Frontend (SAPGUI) kann lokal unter Linux oder auf einem anderen Rechner unter einem anderen Betriebssystem gestartet werden.

Für Linux sind folgende Teile des R/3 Systems verfügbar:

SAP liefert an seine Kunden verschiedene Systeme aus. Zunächst die ganz normale Installation, die alle Module enthält und für den produktiven Einsatz freigegeben ist; außerdem ist das IDES-System (International Demo and Education System) für Schulungen und zur Evaluierung verfügbar. Für Entwickler gibt es eine Demo-CD für Linux, die nur die Entwicklungsumgebung enthält. Diese CD ist bei SAP zu bekommen (unter der URL http://www.sap-ag.de/linux) und ist kostenlos zu benutzen, allerdings muss die Lizenz alle 90 Tage erneuert werden.


2 Installation der Demo-CD

Die Demo-CD enthält nur die Entwicklungsumgebung, daher ist der Bedarf an Plattenplatz und Hauptspeicher deutlich geringer als bei einer normalen SAP-Installation. Die Entwicklungsumbebung ist vollständig enthalten und besteht u.a. aus den folgenden Komponenten:

Für das Demo-System für Entwickler wird mindestens ein Intel-PC mit einem Pentium-II-Prozessor mit 196MB, besser 256MB Hauptspeicher benötigt. Unter /usr/sap sollten etwa 5GB Plattenplatz frei sein, außerdem braucht das System mindestens 600MByte Swap-Space. Einzige offiziell zugelassene Distribution ist die Red Hat 6.1 Enterprise Edition (die SAP CD enthält die erweiterten Pakete zur Red Hat 6.1; SuSE ist nicht offiziell unterstützt, es existiert aber etwas Dokumention unter http://www.sap-ag.de/linux/ dazu).

Für ein produktives System sehen die Anforderungen deutlich anders aus: zunächst sollte die Hardware von SAP zertifiziert sein, viele Systeme sind mit zwei oder vier Prozessoren ausgestattet, außerdem wird viel Hauptspeicher (mindestens 512 MB) und Plattenplatz (ab 10-15GB ohne Anwendungsdaten) benötigt.

Die Installation läuft wie folgt ab: Red Hat wird normal installiert, entweder die normale Version 6.1 oder die entsprechende Enterprise Edition von Red Hat. Auch die deutsche Version ist problemlos verwendbar, ganz im Gegensatz zu Windows NT. Die hier verwendete Version des Demo-Systems war unter Red Hat 6.2 nur nach Änderungen am Installationsprogramm zu installieren - es ist also einfacher, sich an die SAP-Vorgaben zu halten. Das gilt übrigens für jede SAP-Installation. Bei der Netzwerkkonfiguration sollte man nach README vorgehen.

Warnung

Jede Änderung an der Netwerk-Konfiguration ändert die Hardware-ID, die für die SAP-Lizenz benötigt wird. Daher muß man (leider) nach jeder Anpassung eine neue Lizenz bei SAP besorgen. Diese kommt allerdings sehr schnell per Mail, aber lästig ist das schon. Daher am besten die Netzwerkkonfiguration in Ruhe lassen.

Die Enterprise-Pakete (kernel, glibc) mittels rpm -i Paketname installieren. Danach muß man die Datei /etc/lilo.conf anpassen und lilo aufrufen, so dass der neue Kernel auch gebootet wird. Ob nach dem erneuten Booten der passende Kernel aktiv ist kann man mit dem Kommando uname -a prüfen. In der Ausgabe muß die Zeichenkette 45SAP auftauchen. Wird der Speicher komplett erkannt? Wenn nicht, die Zeile append="mem=SpeicherInMByteM" hinzufügen. Ist der Swap-Space in der passenden Größe aktiv? Der Befehl free sagt es. Wenn zu wenig Swapspace vorhanden ist, dann kann man schlimmstenfalls eine Swapdatei in der passenden Größe anlegen (siehe Abbildung 2).

Abbildung 2 Zusätzliches Anlegen einer Swap-Datei

# dd if=/dev/zero of=/SwapFile bs=1024 count=6144
# mkswap /SwapFile
# echo /SwapFile none swap none >> /etc/fstab

Die Installation von SAP selbst ist einfach: Nach dem Einhängen der CD zum Beispiel unter /mnt/cdrom genügt das Aufrufen des von cd /mnt/cdrom ; ./INSTALL als root.

Bei der Installation wird der Lizenzschlüssel abgefragt. Für die weiteren Lizenzschlüssel kann man sich ein Skript anlegen. Es ist nützlich den Lizenzschlüssel in einer Datei zu speichern, dann kann man diesen per Cut&Paste einfügen. Nach Ende der Installation kann das R/3 System direkt benutzt werden. Dadurch, dass das System nur einen Teil der Funktionen enthält und der Systemname (LNX) und die Systemnummer (17) festgelegt sind, ist die Installation relativ schnell und einfach.

Das SAP R/3-System kann als Benutzer lnxadm mit dem Befehl startsap gestartet und mit dem Befehl stopsap beendet werden (das sind beides Aliasnamen). Achten Sie darauf, dass das System beim Ausschalten oder Rebooten des Rechners sauber heruntergefahren wird, ansonsten ist, trotz Datenbank ein Datenverlust nicht auszuschließen.

Tip: Sie können das Starten bzw. Stoppen des SAP R/3-Systems in das Starten bzw. Stoppen des Systems integrieren. Das Start-Stop-Skript in Abbildung 3 kann dazu verwendet werden. Achtung, der Systemstart dauert dann eine ganze Weile länger.

Abbildung 3 Start-Stop-Skript für das SAP R/3 System

#!/bin/sh
#
# sapr3	  Script to start and stop SAP R/3 at startup or shutdown
#
# chkconfig: 2345 98 02
# description: start and stop SAP R/3 instance

# Source function library.
. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in
  start)
	echo "Starting SAP R/3 system"
	su - lnxadm -c "/usr/sap/LNX/adm/startsap_`hostname`_17"
	touch /var/lock/subsys/sapr3

	;;
  stop)
	echo "Stopping SAP R/3 system"
	su - lnxadm -c "/usr/sap/LNX/adm/stopsap_`hostname`_17"
	rm -f /var/lock/subsys/sapr3
	;;
  status)
	# this is way overkill, but at least we have some status output...
        # sapinfo von der Frontend-CD?
	;;
  restart|reload)
	# do not do anything; this is unreasonable
        echo "Restarting SAP R/3"
        su - lnxadm -c "/usr/sap/LNX/adm/stopsap_`hostname`_17"
        su - lnxadm -c "/usr/sap/LNX/adm/startsap_`hostname`_17"
	:
	;;
  *)
	# do not advertise unreasonable commands that there is no reason
	# to use with this device
	echo "Usage: sap {start|stop|status|restart|reload}"
	exit 1
esac

exit 0

Das Skript speichern Sie unter dem Namen /etc/rc.d/init.d/sapr3, danach das Kommando chkconfig -add sapr3 aufrufen, damit die symbolischen Links in den Verzeichnissen /etc/rc.d/rc?.d für die passenden Runlevel angelegt werden.


3 Die ersten Schritte im System

Nach der Installation können Sie mit dem Befehl guistart /H/localhost/S/3217 das SAPGUI starten. Mit dem Namen SAP* und den Paßwort 06071992 (das erste R/3-System wurde am 06. Juli 1992 ausgeliefert) können Sie sich am System anmelden. Wenn Sie deutsche Menüs haben möchten, geben Sie auf dem Anmeldeschirm Abbildung 4 als Sprache 'DE' ein, andernfalls sind alle Texte zunächst englisch.

Abbildung 4 Der SAP R/3 Anmeldebildschirm

Ein weiterer Standard-Benutzer ist DDIC mit dem Paßwort 19920706. Wenn Sie auf Sicherheit wert legen, dann sollten Sie sowohl einen Benutzer SAP* als auch einen Benutzer DDIC mit allen Berechtigungen (SAP_ALL) anlegen und mit einem anderen Paßwort versehen. Wennn die Benutzer nicht vorhanden sind, dann kann man das Paßwort nicht ändern...

Außerdem gibt es, wie in jedem SAP R/3 System, den Mandant 066, der von SAP für den Early Watch Support (Hilfe beim Systembetrieb durch den SAP Support) verwendet wird. Legen Sie auch hier die Benutzer SAP* und DDIC an. Im Mandant 066 ist der Benutzer EARLYWATCH mit dem Paßwort SUPPORT angelegt - auch dieses sollten Sie ändern...

Legen Sie im Mandant 000 den Benutzer DEVELOPER an, dieser darf in diesem System Programme entwickeln. Jeder Entwickler muß bei SAP lizensiert (und bezahlt) werden - der Lizenzschlüssel für den Benutzer DEVELOPER ist im SAP Readme dokumentiert und im Demo-System kostenlos.

Abbildung 5 Das SAP R/3 Menü des Benutzers DEVELOPER

Mit Druck auf dem Button ABAP Editor gelangt man in Programmierumgebung. Hier (Abbildung 6) muß ein ABAP-Name angegeben werden. Beim Anlegen eines Programmes müssen zunächst die Attribute gepflegt werden, wichtig ist hier der Report-Typ '1' (für Online-Report). Später kann man in dieses Bild mit dem Radiobutton Eigenschaften oder dem Menü Springen->Eigenschaften erreichen.

Abbildung 6 Einstieg in den ABAP-Editor

Die Abbildung 7 zeigt den eigentlichen Editor. Von hier aus kann das Programm ausgeführt und debuggt werden. Mit wenigen Mausklicks landet man über das Menü Umfeld oder per Doppelklick-Navigation in der Anzeige bzw. Pflege von Dictionary Strukturen oder dem Screen Painter zur Maskenerstellung.

Abbildung 7 Der ABAP-Editor mit einem einfachen Programm

Für aktive Entwickler sehr nützlich ist die einfache Navigation zwischen den verschiedenen Objekten in der ABAP/4-Workbench. Wenn man eine Tabelle verwendet, wie es in der Abbildung 7 zu sehen ist, dann kann man mit einem Doppelklick auf den Namen in die Tabellendefinition springen. Dort wiederum gibt es einen Button Verwendungsnachweis, der alle Objekte auflistet, die diese Tabelle referenzieren. Auf diese Art und Weise kann man sehr bequem auch in größeren Entwicklungen navgieren.

Dieser Artikel soll kein Programmierkurs für ABAP/4 werden. Genauere Hinweise finden Sie in der SAP Dokumentation zur Entwicklungsumgebung, die auf der Demo-CD enthalten ist, oder in dem Buch ABAP/4 (siehe Infos).


4 Wir sprechen Deutsch

Wer genau hingesehen hat: In den Screenshots wird die deutsche Sprache verwendet. Die Standardinstallation ist in englisch, man kann aber bei der Anmeldung die Sprache DE angeben. Wir sind aber bequem und stellen das einmalig für das System um.

Mit dem Menü Werkzeuge->CCMS+Konfiguration->Profilpflege oder der Transaktion RZ10 (Aufruf mit /nrz10 im sogenannten OK-Code (das ist das Eingabefeld oben links...) gelangt man in die Profilpflege (Abbildung 8).

Abbildung 8 Die SAP Profile-Pflege - der Einstieg

Zunächst müssen die als Text-Dateien vorliegenden Profile in die Datenbank geladen werden mit dem Menü Hilfsmittel->Importiere Profile->der aktiven Server. Anschließend im Feld Profil aus der Auswahlliste das Instanzprofil auswählen und die Erweiterte Pflege einschalten. Anschließend mit dem Button Ändern in den Änderungsmodus wechseln (Abbildung 9).

Abbildung 9 Die SAP Profile-Pflege

Den Parameter zcsa/system_language auf 'D' ändern. Die Änderungen durch Druck auf den Button Übernehmen beibehalten, einmal zurück und dort speichern (über das Menü Profil->Speichern, den Button mit dem Diskettenlaufwerk oder mit der Funktionstaste F11). Nach dem Aktivieren des Profils muß das R/3-System durchgestartet werden, dazu als Benutzer lnxadm die Befehle stopsap r3 und startsap eingeben.

Alternativ kann jeder Benutzer mit dem Menu System->Benutzervorgaben->Eigene Daten im Tabstrip Festwerte die Anmeldesprache festlegen.


5 Fazit - oder: Was hat man davon?

Mit der Demo-CD für Developer kommt man einfach und preisgünstig an ein SAP R/3-System. SAP-geeignete Rechner auf Intel-Basis kosten heute auch nicht mehr die Welt. Für Leute, die schon immer mal ein SAP R/3 ansehen wollten (aber wer will das schon wirklich...), in einer Umschulung oder Ausbildung zum SAP-Programmierer stecken oder einfach nur daran interessiert sind, ist es eine tolle Sache.

Nachteilig ist die Empfindlichkeit gegen Netzwerk-Änderungen und die Einschränkungen, die sich aus der SAP-Lizenz ergeben (Test und Evalutation, aber keine Produktion; mein Lesen der Lizenz erlaubt auch das Erstellen von Programmen zum Verkauf an R/3-Kunden nicht, aber ich bin kein Rechtsanwalt). Derzeit bekommt man einfach einen neuen Lizenzschlüssel, wenn der alte nach 90 Tagen abgelaufen ist. Aber wie lange wird SAP das machen? Das kann nur die Zukunft zeigen.

Das System ist für einen einzelnen Entwickler ausgelegt, verschiedene Basis-Funktionen sind nicht vorhanden oder deaktiviert. Außerdem fehlen alle Programme und Tabellen aus den Anwendungen. Daher ist das System nur zur Entwicklung von eigenen kleinen Anwendungen geeignet, nicht aber zur Erweiterung oder Anpassungen des SAP R/3 Standards.

Für SAP interessant ist der Zugang zur Open-Source-Gemeinde (SAP R/3 ist kommerzielle Software, aber im SAP R/3 wird der gesamte ABAP/4™-Sourcecode der Anwendungen mitgeliefert). Als SAP-Betreuer stelle ich immer wieder fest, dass der Zugang zum ABAP/4™-Quellcode der Anwendungen sehr hilfreich bei der Fehlersuche oder Anpassungen des Systems ist. Ab einer gewissen Größe des R/3 Systems halte ich die Verfügbarkeit des Quellcodes für ein absolutes Muss - genauso wie die Lizensierung mindestens einer Developer-Lizenz.

Die Hoffnung von SAP ist außerdem sicherlich, dass möglichst viele Programmierer ABAP/4™ ausprobieren und für ihre Zwecke einsetzen möchten. Bei betriebswirtschaftlichen Anwendungen ist ABAP/4™ sicher keine schlecht Wahl.

Literaturverzeichnis

SAP AG, Walldorf, http://www.sap-ag.de/.

Jochen Hein, Nützliche Infos zur SAP R/3 Basis, http://www.jochen.org.

Die Architektur des SAP R/3 Systems, Rüdiger Buck-Emden, Addison-Wesley, 3827313791.

Administration des SAP-Systems R/3, Liane Will, 3827311365, Addison-Wesley.

ABAP/4, Bernd Matzke, 3827315530, Addison-Wesley.