
Sie als Entwickler möchten vor einer Buchungsänderung für Geschäftskunden eine Berechtigungsprüfung durchführen.
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).
AUTHORITY-CHECK OBJECT 'S_TRVL_BKS' ID 'ACTVT' FIELD '02' ID 'CUSTTYPE' FIELD 'B'. IF SY-SUBRC <> 0. MESSAGE E... ENDIF.
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: 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.