Berechtigungsobjekte in ABAP Programmen

Ein Berechtigungsobjekt wird verwendet um eine Ermächtigung abzuprüfen, ob eine bestimmte Aktion im SAP System durchgeführt werden darf.

Zugangs- und Zugriffsberechtigungskontrollen auf Basis entsprechender Zugangs- und Zugriffsberechtigungskonzepte (Berechtigungskonzepte) sind elementarer Bestandteil eines funktionierenden IKS (internen Kontrollsystem) in jedem Unternehmen. Die Pflicht zur Abbildung eines IKS im ERP Systems kann aus der Abgabenordnung „§ 146 Ordnungsvorschriften für die Buchführung und für Aufzeichnungen“ abgeleitet werden. Zudem gibt das BMF Bundesministerium der Finanzen in seiner GoBD Publikation ( Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff) weitere Erläuterungen zum Thema Zugriffskontrollen z.B. in der Teilziffer 103:

Berechtigungen werden in SAP in Profilen zusammengefasst, die im Stammsatz des Benutzers eingetragen werden. Hier soll Beispielhaft eine Berechtigungsprüfung in einer rechnungslegungsrelevanten Eigenentwicklung im Bereich des Rechnungswesens dargestellt werden. In diesem Beispiel soll eine Berechtigungsprüfung beim Transaktionsaufruf sowie während der Echtlauf-Ausführung stattfinden. Zunächst muss mit der Transaktion SU21 eine Berechtigungsklasse angelegt werden, der dann im Anschluss ein Berechtigungsobjekt zugeordnet werden kann.

Im Berechtigungsobjekt selbst müssen dann Berechtigungsfelder definiert werden, die zur späteren Abrufung im Programm dienen. Die Berechtigungsobjekte müssen aber zunächst in einer Berechtigungs-Rolle den Usern zugeordnet werden.

Die Rollengenerierung erfolgt mit der Transaktion PFCG. Hierzu wurde eine neue Einzelrolle für Zusatzentwicklungen im FI Bereich erzeugt.

Über den Button Berechtigungen anzeigen, können nun beliebige Berechtigungsobjekte der Rolle zugeordnet werden. In diesem Beispiel wurde das Berechtiungsobjekt S_TCODE sowie das zuvor angelegte Berechtigungsobjekt Z_FI hinzugefügt. Weiterhin müssen Felder und Werte definiert werden, die durch diese Rolle berechtigt werden. Im Anschluss muss die die Rolle gespeichert und generiert werden. Es wird nun im Hintergrund ein Profil zur Rolle generiert.

Nach erfolgten Benutzerabgleich (Vergabe der Rolle und des Profils an den jeweiligen User) sind die Berechtigungen vergeben.

Im ABAP Dynpro Programm kann die Berechtigungsprüfung im PAI (Prozess after input) Modul durch den Befehl authority-check object erfolgen. Hier wird geprüft, ob der User eine Berechtigung auf eine Änderung (Wert 02 auf dem Feld ACTVT) hat. Sofern dies nicht der Fall ist, soll eine Nachricht den Anwender von der weiteren Verarbeitung abhalten. Dies kann mit dem Message Typ A erfolgen (The program terminates when the user has confirmed the message. Control returns to the next highest area menu.)

Eine erfolgreiche Prüfung kann mit Hilfe eines Berechtigungstraces (ST01) Transaktion nachvollzogen werden. Siehe Beitrag über Berechtigungstrace.