Ablauf von Berechtigungsprüfungen im ABAP
Ablauf
Wenn im SAP eine Transaktion aufgerufen wird, dann gibt es zwei Stufen der Berechtigungsprüfung:
- Kernelseitige Prüfung: Die erste Berchtigungsprüfung findet Kernelseitig statt und besteht auf einer S_TCODE Prüfung und der Prüfung des in der SE93 definierten Berechtigungsobjekts. Beide Prüfungen sind kernelseitig und lassen sich normal nicht deaktivieren.
- Prüfungen im Code: Weitere Prüfungen können im ABAP-Code definiert werden. Ob/Wann und Wie diese Prüfungen stattfinden liegt allein beim Programmierer der diese Funktion impelmentiert hat.
Gestaltung von Prüfungen im Code
Generell sollten Berechtigungsprüfungen vom Modulverantwortlichen welcher die Entwicklung in Auftrag gegeben hat definiert werden. Wenn der Modulverantwortlichen keine Berechtigungen nennen kann, so macht es Sinn für Tabellen die verwendet werden einen Prüfung einzubauen. Es ist von SAP stark empfohlen solche Prüfungen auf der Basis von S_TABU_NAM durchzuführen. (Siehe OSS Note 1481950)
Zur Langlebigkeit und Flexibilität sollten so viele Berechtigungsprüfungen wie Sinnvoll sind im ABAP-Code verbaut werden. Es ist einfach Berechtigungsprüfungen via SU24 zu deaktivieren. Berechtigungsprüfungen Jahre nach der Entwicklung einzubauen ist hingegen oft schwierig und zeitaufwändig.