Berechtigungswesen

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

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

Manchmal fehlen einem die Berechtigungen, um eine Transaktion auszuführen, bzw. in einer Transaktion bestimmte Aktionen auszuführen.

Die Berechtigungsexperten benötigen dann die Information bekommen welche Berechtigung einem fehlt.

  1. Dazu führt man die betreffende Transaktion aus
  2. Die genaue Fehlermeldung notieren, z. B. "Keine Berechtigung für Buchungskreis 0001"
  3. In einem neuen Modus die Transaktion SU53 öffnen (oder Menü "System - Hilfsmittel - Anz. Berecht.prüfung"). Hier wird die letzte fehlgeschlagene Berechtigungsprüfung angezeigt.
  4. Ein Screenshot von der fehlgeschlagenen Berechtigungsprüfung in eine Mail kopieren und den Berechtigungsverantwortlichen zuschicken

Das Ergebnis der Berechtigungsprüfung kann auch als Textdatei gesichert werden. Das hat für die Berechtigungsverantwortlichen den Vorteil, dass sie mit copy&paste arbeiten können.

  1. Ergebnisbildschirm der Transaktion SU53 die Schaltfläche "Textdarstellung" drücken
  2. Speichern Ergebnis Berechtigungsprüfung mit Menü "System - Liste - Sichern - Lokale Datei". Hier "unkonvertiert" wählen, um die Berechtigungsprüfung als txt-Datei zu speichern.

Literatur