Voraussetzungen für das Ausführen externer Programme
Die Voraussetzungen für
das Starten externer Kommandos und externer Programme aus Hintergrundjobs hängen von folgendem ab:- ob die Remote-Shell-Funktionen
(remsh
oder
rsh
) im Betriebssystem verfügbar sind. (In Standard-Windows-NT-Systemen sind sie nicht verfügbar.)
- ob ein Anwendungsserver desselben SAP-Systems auf dem Ziel-Host-System läuft
Wenn auf dem Ziel-Host für ein externes Programm ein SAP-Server ist, wird das SAP-Gateway auf diesem Server aufgerufen und startet die externe Programmsteuerung SAPXPG. Befindet sich auf dem Ziel-Host kein Server, verwendet das Gateway auf dem SAP-Server, der den Hintergrundjob ausführt, eine Remote-Shell-Funktion, um SAPXPG auf dem Ziel-Host zu starten.
UNIX und andere Systeme mit einer Remote Shell
Systeme mit einer Remote Shell benötigen keinen aktiven SAP-Anwendungsserver, um ein
externes Kommando oder ein externe Programm auszuführen. Ist kein Anwendungsserver vorhanden, verwendet das Gateway die Remote Shell und RFC, um das Programm SAPXPG zu starten. SAPXPG führt dann wiederum das externe Kommando oder das externe Programm aus.Die Voraussetzungen zum Ausführen eines externen Kommandos oder Programms hängen davon ab, ob auf dem Ziel-Host ein SAP-Anwendungsserver vorhanden ist.
Läuft ein Anwendungsserver desselben SAP-Systems auf dem Ziel-Host, müssen folgende Anforderungen erfüllt sein:
- Der Benutzer, mit dem das SAP-Gateway gestartet wurde (normalerweise der Standardbenutzer des SAP-Host-Systems <sid>adm, z. B. c11adm) braucht die Berechtigung zur Ausführung des externen Programms.
- Das Kommando bzw. Programm muß entweder
- im Standardsuchpfad des Zielsystems liegen
- im Suchpfad des SAP-Standardbenutzers liegen
- in der Definition des Job-Steps oder des externen Kommandos mit einem absoluten Pfadnamen eingegeben werden
Ist kein Anwendungsserver vorhanden, gilt folgendes:
- Wenn auf Ihren Systemen nicht die Remote Shell
remsh
vorhanden ist, müssen Sie im Instanzenprofil des Anwendungsservers, auf dem der Job läuft, den Profilparameter
gw/remsh auf den Namen Ihres Remote-Shell-Programms setzen, zum Beispiel ‘
rsh
’.
Auf einem UNIX-System können Sie das Kommando
which rsh
oder
which remsh
verwenden, um zu ermitteln, welches Remote-Shell-Programm verfügbar ist. Unter Umständen müssen Sie im Profilparameter
gw/remsh den kompletten Pfad Ihres Remote-Shell-Programms angeben.
- Der Benutzer, mit dem das Gateway gestartet wurde (gewöhnlich der SAP-Standardbenutzer <sid>adm, z. B. c11adm) muß auf dem entfernten Host vorhanden sein.
- Das SAP-Steuerprogramm sapxpg muß im Suchpfad des SAP-Standardbenutzers auf dem entfernten Host zu finden sein. SAPXPG ist im SAP-Executables-Verzeichnis abgelegt.
Wenn das externe Programm nicht mit einem absoluten Pfadnamen angegeben wurde, muß es ebenfalls im Suchpfad des SAP-Standardbenutzers zu finden sein. Auf einem UNIX-System können Sie dies im Standardbenutzer prüfen, indem Sie das Kommando
which <Programmname>
aufrufen, während Sie als Standardbenutzer angemeldet sind.
- Sowohl das SAP-Steuerprogramm sapxpg als auch das zu startende externe Programm müssen mit dem SAP-Standardbenutzer ausgeführt werden können. Beispielsweise bedeutet dies auf einem UNIX-Rechner, daß <sid>adm die Ausführberechtigung (‘x’) für die Programme braucht.
- Der Host, auf dem der Job läuft, muß berechtigt sein, Programme auf dem entfernten Host zu starten. Auf dem entfernten Host muß in der Datei .rhosts im Home-Verzeichnis der Gateway-ID ein entsprechender Eintrag vorhanden sein. Dieser besteht aus einer Zeile mit dem Namen des Hosts, auf dem der Job läuft.
Weitere Informationen finden Sie in der Dokumentation, z. B. den UNIX Man Pages, zur Remote Shell (
remsh
).Als Test kann auf dem Rechner, auf dem der Job läuft, das Kommando
‘remsh <Name des entfernten Rechners> date’
eingegeben werden. Auf einer UNIX-Plattform müßte dann das aktuelle Systemdatum auf dem entfernten Rechner ausgegeben werden.
Es gibt einen Sonderfall: Angenommen, Sie haben die UNIX-Systemumgebung korrekt für das Starten von externen Programmen über einen SAP-Anwendungsserver eingerichtet. Das SAP-System wird jedoch über einen betriebssystemspezifischen Mechanismus gestartet.
Stellen Sie also sicher, daß die Pfadnamen für die Benutzer der aktuellen Systemumgebung entsprechend eingerichtet werden, daß beispielsweise bei der Benutzung der Bourne-Shell die Pfade in der Datei .profile eingetragen werden. Es wird angenommen, daß die C-Shell (csh) verwendet wird.
Beispielsweise besteht unter UNIX mit dem Kommando ‘cron’ die Möglichkeit, ein Kommando zu einem bestimmten Zeitpunkt auszuführen. Dies gilt auch für die Kommandos zum Starten und Stoppen eines SAP-Systems. Zur Ausführung des Kommandos wird die Bourne-Shell (Programm ‘sh’) verwendet. In diesem Fall werden die benutzerspezifischen Einstellungen, die die Umgebung definieren, in der das Kommando ausgeführt wird (also die oben erwähnten Pfadnamen), im Home-Verzeichnis des Benutzers in der Datei .profile abgelegt.
Microsoft Windows NT
Um ein externes Kommando oder ein externes Programm auf einem Windows-NT-System zu starten, müssen Sie sicherstellen, daß die folgenden Voraussetzungen erfüllt sind:
- Ein SAP-Anwendungsserver desselben SAP-Systems muß auf dem Host laufen, auf dem das externe Kommando oder Programm ausgeführt werden soll.
In Systemen ohne
remsh
– wie Windows NT – muß das SAP-Gateway einen SAP-Anwendungsserver benutzen, um das Programm SAPXPG zu starten. (SAPXPG führt dann wiederum das externe Kommando oder Programm aus.)
- Das externe Kommando wird von dem Benutzer ausgeführt, der den SAP-Anwendungsserver auf dem Ziel-Host startete. Gewöhnlich ist dies der Standardbenutzer des SAP-Host-Systems <sid>adm, z. B. c11adm. Dieser Benutzer muß die Berechtigung zum Ausführen des externen Programms haben.
- Das Kommando bzw. das Programm muß entweder
- im Standardsuchpfad des Zielsystems liegen
- im Suchpfad des SAP-Standardbenutzers liegen
- in der Definition des Job-Steps oder des externen Kommandos mit einem absoluten Pfadnamen eingegeben werden
OS/400
Um ein externes Kommando oder Programm auf einem OS/400-System von IBM zu starten, müssen Sie sicherstellen, daß die folgenden Voraussetzungen erfüllt sind:
- Ein SAP-Gateway-Service läuft auf der AS/400, auf der das externe Programm laufen soll. Diese Voraussetzung ist überall dort erfüllt, wo ein SAP-Anwendungsserver auf der AS/400 läuft.
- Das externe Programm wird unter dem Benutzerprofil ausgeführt, das zum Starten des selbständigen SAP-Gateways/-Servers verwendet wurde, also dem OS/400-Benutzer für SAP. Dieser Benutzer muß die Berechtigung für den Befehl SAPXPG und für das externe Programm haben.
- SAPXPG muß in der Bibliotheksliste des OS/400-Benutzers für SAP liegen.
- Wenn der Pfad zu dem externen Programm nicht vollständig angegeben ist, muß sich das Kommando in der Bibliotheksliste des OS/400-Benutzers für SAP befinden.