FunktionsdokumentationSXPG_COMMAND_CHECK: Berechtigung zum Ausführen eines externen Kommandos prüfen

 

Mit diesem Funktionsbaustein können Sie die Berechtigung eines Benutzers prüfen, ein bestimmtes externes Kommando auszuführen:

  • mit den in ADDITIONAL_PARAMETERS angegebenen Argumenten

  • im durch OPERATINGSYSTEM und TARGETSYSTEM definierten Zielsystem

Wenn in dem Teil des Kommandos, der in der Datenbank gespeichert ist, ein SAP-Profilparameter eingefügt worden ist, dann wird der Wert dieses Parameters im Kommando substituiert. Wenn ein SAP-Anwendungs-Server im Zielsystem (TARGETSYSTEM) aktiv ist, dann werden die Profilparameterwerte aus dem Profil gelesen, das in diesem System aktiv ist. In ADDITIONAL_PARAMETERS findet keine Parametersubstitution statt.

Nach der Substitution wird das Kommando auf unzulässige Zeichen wie z.B. das Semikolon (;) in UNIX-Systemen überprüft.

Wenn ein zusätzlicher Sicherheitsfunktionsbaustein in der Kommandodefinition angegeben ist, dann wird dieser Funktionsbaustein während der Verarbeitung ebenfalls aufgerufen. Dieser Funktionsbaustein kann die Ausführung des Kommandos verhindern.

Wurde der Funktionsbaustein erfolgreich (ohne Ausnahmen) abgearbeitet, wird folgendes zurückgeliefert:

  • der vollständige Kommandoname incl. Pfad aus der Kommandodefinition. SAP-Profilparameter im Kommando werden aufgelöst.

  • die Kommandoargumente aus der Kommandodefinition. SAP-Profilparameter im String werden aufgelöst.

  • die zusätzlichen Parameter wie im Aufruf des Funktionsbausteins angegeben

Profilparameter werden erneut aufgelöst, wenn ein Kommando zur Ausführung angewiesen wird.

Syntax Syntax

  1. CALL FUNCTION ‘SXPG_COMMAND_CHECK’
    IMPORTING 
    ADDITIONAL_PARAMETERS = <Argument string> " Default <space> 
    COMMANDNAME = <Name of command definition in SAP System>
    OPERATINGSYSTEM = <Target OS as defined in SAP System>
    TARGETSYSTEM = <Host system for execution of command>
    EXPORTING
    ALL_PARAMETERS = <Complete argument string>
    DEFINED_PARAMETERS = <Arguments from command definition>
    PROGRAMNAME = <Complete pathname of OS command>
    EXCEPTIONS
    X_ERROR " Reserved
    COMMAND_NOT_FOUND " Command not defined in SAP database
    NO_PERMISSION " Command rejected by User exit auth. check 
    PARAMETERS_TOO_LONG " Complete parameter string exceeds 
    " 128 characters
    PARAMETER_EXPECTED " Required parameter not specified
    SECURITY_RISK " Security check failed
    TOO_MANY_PARAMETERS " No ADDITONAL_PARAMETERS allowed
    WRONG_CHECK_CALL_INTERFACE " Problem with function module
    " for additional security check
    ILLEGAL_COMMAND " Command not legitimately defined 
    OTHERS.
    
Ende des Codes
Parameter
IMPORTING-Parameter

Parametername

Verwendung

ADDITIONAL_PARAMETERS

Argumente für das externe Kommando wie durch das aufrufende Programm oder den Benutzer angegeben. Diese Argumente werden an die in der Definition des Kommandos angegebenen Argumente (DEFINED_PARAMETERS) angehängt.

Die Argumente werden auf unzulässige Zeichen wie z.B. das Zeichen ; unter UNIX geprüft. Probleme werden über die Ausnahme SECURITY_RISK aufgezeichnet.

COMMANDNAME

Name der Definition des externen Kommandos wie in der Pflegefunktion (Transaktion SM69) angegeben.

OPERATINGSYSTEM und TARGETSYSTEM

Host-System, in dem das Kommando ausgeführt werden soll. OPERATINGSYSTEM wird in der Kommandodefinition angegeben (Transaktion SM69).

TARGETSYSTEM ist der Name des Systems, in dem das Kommando ausgeführt werden soll.

EXPORTING-Parameter

Parametername

Verwendung

ALL_PARAMETERS

Liefert alle Argumente für das Kommando zurück (ADDITIONAL_PARAMETERS und DEFINED_PARAMETERS).

Der String ist dem potentiellen Laufzeit-String so ähnlich wie möglich. Beispielsweise werden Variablen im String nach Möglichkeit aus dem Zielsystem substituiert.

DEFINED_PARAMETERS

Liefert die vordefinierten Argumente aus der Kommandodefinition im SAP-System zurück.

Der String ist dem potentiellen Laufzeit-String so ähnlich wie möglich. Beispielsweise werden Variablen im String nach Möglichkeit aus dem Zielsystem substituiert.

PROGRAMNAME

Vollständiger Name (einschließlich Pfad) des auszuführenden Kommandos. Argumente sind nicht eingeschlossen.

Ausnahmen

Name

Bedeutung

X_ERROR

Reserviert.

NO_PERMISSION

Der AUTHORITY-CHECK der Benutzerberechtigung für das Berechtigungsobjekt S_LOG_COM ist gescheitert. Der Benutzer ist nicht berechtigt, dieses Kommando mit den angegebenen Argumenten im Zielsystem auszuführen.

COMMAND_NOT_FOUND

Der durch COMMANDNAME und OPERATINGSYSTEM bezeichnete Kommandoname wurde nicht in der Pflegefunktion (Transaktion SM69) definiert.

PARAMETERS_TOO_LONG

Die kombinierten Argument-Strings (ADDITIONAL_PARAMETERS und DEFINED_PARAMETERS, wie in ALL_PARAMETERS zurückgegeben) überschreiten die Längenbegrenzung von 128 Zeichen.

SECURITY_RISK

Entweder:

  • Das Kommando enthält unzulässige Zeichen. Dabei handelt es sich um Zeichen mit möglicherweise gefährlichen Eigenschaften wie z.B.; unter UNIX.

    Oder:

  • Die Kommandodefinition gibt an, dass ein gesonderter Prüfbaustein ausgeführt werden muss. Dieser Funktionsbaustein hat die Ausführung des Kommandos zurückgewiesen.

WRONG_CHECK_CALL_ INTERFACE

Die Kommandodefinition gibt an, dass ein gesonderter Prüfbaustein ausgeführt werden soll. Entweder ist dieser Funktionsbaustein nicht vorhanden, oder die für diesen Funktionsbaustein definierte Schnittstelle entspricht nicht der des SAP-Standardfunktionsbausteins SXPG_DUMMY_COMMAND_CHECK. Weitere Informationen finden Sie in SXPG_DUMMY_COMMAND_CHECK: Schnittstelle für gesonderte Prüfmodule.

TOO_MANY_PARAMETERS

Die Kommandodefinition gibt an, dass zusätzliche Parameter (ADDITIONAL_PARAMETERS) nicht erlaubt sind. Es wurden jedoch zusätzliche Argumente angegeben.

PARAMETER_EXPECTED

Die Kommandodefinition enthält den Platzhalter ?. Das bedeutet, dass zusätzliche Parameter (ADDITIONAL_PARAMETERS) erforderlich sind. Es wurden jedoch keine zusätzlichen Argumente angegeben.

ILLEGAL_COMMAND

Die externe Kommandodefinition wurde auf nicht zulässige Weise modifiziert, also nicht mit der Pflegefunktion (Transaktion SM69).

OTHERS

Bei Erweiterung der Schnittstelle neue Ausnahmen auffangen.