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
- Schrödinger programmiert ABAP: Das etwas andere Fachbuch, S. 547ff., von Roland Schwaiger