Show TOC

Berechtigungsprüfungen programmierenLocate this document in the navigation structure

Sie als Entwickler möchten vor einer Buchungsänderung für Geschäftskunden eine Berechtigungsprüfung durchführen.

Voraussetzungen

  • Sie haben Berechtigungsfelder, z.B. ACTVT und CUSTTYPE, angelegt und jedem definierten Feld einen zu prüfenden Wert zugewiesen, z.B. 02, B.

    Verwenden Sie Berechtigungsfelder bearbeiten (Transaktion SU20).

  • Sie haben Berechtigungsobjekte, z.B. S_TRVL_BKS, angelegt und das Berechtigungsobjekt einer Objektklasse zugewiesen.

    Verwenden Sie Berechtigungsobjekte pflegen (Transaktion SU21).

Vorgehensweise

Programmieren Sie die Berechtigungsprüfung mit der ABAP-Anweisung AUTHORITY-CHECK.
Beispielcode
AUTHORITY-CHECK OBJECT 'S_TRVL_BKS'
                ID 'ACTVT'    FIELD '02'
                ID 'CUSTTYPE' FIELD 'B'.
IF SY-SUBRC <> 0.
    MESSAGE E...
ENDIF.

Ergebnisse

AUTHORITY-CHECK prüft, ob ein Benutzer über die erforderlichen Berechtigungen für das Ausführen einer bestimmten Aktivität verfügt.

Dabei prüft das System die Berechtigungsprofile im Stammsatz des Benutzers auf das entsprechende Berechtigungsobjekt (S_TRVL_BKS). Liegt die Berechtigung vor und enthält sie die richtigen Werte, war die Prüfung erfolgreich.

Beispiel

Beispiel: Der Systemadministrator hat folgende Berechtigungen für das Berechtigungsobjekt S_TRVL_BKS definiert:

  • S_TRVL_CUS1 mit folgenden Werten:

    Berechtigungsfeld

    Wert

    CUSTTYPE (Kundentyp)

    *

    ACTVT (Aktivität)

    03

    Benutzer mit dieser Berechtigung können alle Kundenbuchungen anzeigen (Aktivität 03 = Anzeigen).

  • S_TRVL_CUS2 mit folgenden Werten:

    Berechtigungsfeld

    Wert

    CUSTTYPE (Kundentyp)

    B

    ACTVT (Aktivität)

    02

    Benutzer mit dieser Berechtigung können alle Geschäftskunden ändern (Aktivität 02 = Ändern).

Bei der Zuweisung der Profile hat der Systemadministrator verschiedenen Benutzern unterschiedliche Berechtigungen erteilt.

Benutzer MILLER wurde ein Profil mit beiden Berechtigungen (S_TRVL_CUS1 und S_TRVL_CUS2) zugewiesen. MILLER kann somit Buchungen für Geschäftskunden ändern.

Benutzer MEYERS ist nur zur Anzeige der Datensätze berechtigt (S_TRVL_CUS1) und kann daher keine Buchungen ändern.