Berechtigungswesen

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Siehe Basis.

SAP besitzt ein umfangreiches Berechtigungskonzept, um den Zugriff von SAP-Usern auf Programme und Daten zu erlauben oder zu beschränken.

Berechtigungsobjekt

  • Zentraler Bestandteil der Berechtigungsverwaltung ist das Berechtigungsobjekt.
  • Die Berechtigungsobjekte lassen sich mit der Transaktion SU21 anzeigen. Alternativ über den Menüpfad "Werkzeuge - Entwicklung - Weitere Werkzeuge - Berechtigungsobjekte - SU21 Objekte".

Berechtigungsobjekt S_TCODE

  • Ein wichtiges Berechtigungsobjekt ist z. B. S_TCODE.
  • Beim Start einer Transaktion mit dem Berechtigungsobjekt S_TCODE geprüft, ob der ausführende SAP-Benutzer die Berechtigung zum Ausführen hat.
  • Die Attribute eines Berechtigungsobjektes heißen Felder. Das Objekt S_TCODE hat das Feld TCD. Hier können im Berechtigungsobjekt bestimmte Transaktionen eingetragen sein oder auch das '*', was bedeutet, dass der Anwender für alle Transaktionen die Berechtigung hat.

Profile, Aktivitätsgruppen und Rollen

  • Einzelne Berechtigungen können in Profilen, Aktivitätsgruppen und Rollen zusammengefasst werden. So kann der Berechtigungsadministrator eine große Anzahl von Berechtigungen Gruppen von Anwendern zuordnen.

Prüfung mit AUTHORITY-CHECK

  • Im Coding wird die Berechtigung mit dem Schlüsselbefehl AUTHORITY-CHECK abgeprüft. Ist die Berechtigung erfolgreich, wird der Returncode/SY-SUBRC = 0 zurückgegeben. Andernfalls ein Returncode ungleich 0. In diesem Fall wird nach einer entsprechenden Meldung die weitere Bearbeitung des Programms abgebrochen.
  • MIt einem Muster auf AUTHORITY-CHECK lässt sich eine Coding-Vorlage für das betreffende Berechtigungsobjekt im Coding erzeugen

Coding AUTHORITY-CHECK mit S_TCODE

Parameters: p_tcode type tcode.

AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD p_tcode.

if sy-subrc <> 0.
   message e532(0u) with 'Sie haben keine Berechtigung für Transaktion:' p_tcode.
endif.
 
start-of-selection.

Coding AUTHORITY-CHECK mit Z-Berechtigungsobjekt

AUTHORITY-CHECK OBJECT 'Z_SD_VSTEL'
  ID 'ACTVT' FIELD '02'       "02 = Ändern  ; 03 = Ändern
  ID 'VSTEL' FIELD  p_vstel.

if sy-subrc <> 0.
  ...
endif.

Fehlende Berechtigungen anzeigen mit Transaktion SU53

Literatur