SAP Berechtigungsfeld zur Orgebene erheben
Autor: Dominik Busse | 28. Mai 2020
Letztens habe ich gemeinsam mit meinem Kunden geprüft, wie wir ein Berechtigungsfeld zur Orgebene erheben können. Dabei sind wir auf die Transaktion SUPO gestoßen. Welche Tücken und Herausforderungen diese Transaktion mit sich bringt, erkläre ich in diesem Beitrag.
Wie funktioniert das mit der Orgebene eigentlich?
Standardmäßig sind in SAP nur bestimmte Berechtigungsfelder als Orgeben deklariert. Dazu zählen beispielsweise die Berechtigungsfelder Buchungskreis (BUKRS) oder Einkaufsorganisation (EKORG). Durch das Erheben zur Orgebene können wir beeinflussen, dass ein Berechtigungsfeld innerhalb einer Rolle in jedem Berechtigungsobjekt gleich vergeben wird. Natürlich nur in solchen Objekten, in denen das Feld überhaupt vorhanden ist.
Eigentlich hat jeder SAP Administrator zumindest einmal gehört, dass auch eigene Berechtigungsfelder zur Orgebene erhoben werden können. Wenn es um die Umsetzung geht, stößt man jedoch erstmal auf Hürden.
Von SAP publizierte Reports zur Erhebung zur Orgebene sind obsolet
Bei der Recherche zum Vorgehen stoße ich zunächst auf die folgenden Reports:
PFCG_ORGFIELD_CREATE
PFCG_ORGFIELD_DELETE
PFCG_ORGFIELD_UPGRADE
Beim Starten der Reports erscheint aber unmittelbar die Fehlermeldung „Report PFCG_ORGFIELD* is obsolete“. Weitere Informationen gibt es aus der Fehlermeldung zunächst nicht.
Die Funktion dieser Reports wird in folgender SAP Note beschrieben: 323817 – Anlegen von Orgebenenfeldern für den Profilgenerator
Relativ präsent steht darin: „Achtung: Die Beschreibung der Funktionalität der Reports in diesem Hinweis ist obsolete. Nutzen Sie stattdessen die Zusatzinformationen im Hinweis 727536 (727536 – FAQ | Nutzung kundeneigener Organisationsebenen in der PFCG). Achten Sie insbesondere darauf, die aktuelle Korrekturversion der jeweiligen Reports zu nutzen.“
Erheben zur Orgebene mit Transaktion SUPO
Aus der SAP Note 727536 geht wiederum hervor, dass ab SAP Version SAP_BASIS 7.50 Supportpackage 09 die Transaktion SUPO für die Pflege kundeneigener Orgebenen genutzt werden soll.
Die Funktionsweise für die Transaktion ist in SAP Note 2535602 – SUPO | Dokumentation und Transportanschluss für OrgEbenenpflege beschrieben.
Wer sich entscheidet diese Transaktion aufzurufen, fühlt sich ein wenig wie der erste Mensch auf dem Mond und es wirkt auch ähnlich gefährlich. Statt den gewohnten Funktionsknöpfen arbeiten wir uns rudimentär mit OK-Kommandos durch die Funktion der Transaktion. Wie das funktioniert, schauen wir uns jetzt einmal an.
SUPO: Ein Berechtigungsfeld zur Orgebene erheben
Achtung! Bevor Sie sich jetzt entscheiden die aufgeführten Schritte mitzuklicken: Es gibt keinen einfachen Weg zurück. Außerdem können die Auswirkungen unvorhersehbar sein. Eine Testlauf-Funktion gibt es nicht!
Sobald die Transaktion SUPO aufgerufen wurde, sehen wir zunächst eine Tabelle mit allen aktuell definierten Orgebenen:
Um in den Bearbeitungsmodus zu wechseln, drücken wir wie gewohnt auf das Brille-und-Stift-Icon. Es ändert sich nur die Darstellung der Tabelle:
Sie werden nun feststellen, dass es keine Buttons wie „Neu anlegen“ oder „Löschen“ gibt. Diese sind nicht implementiert. Stattdessen arbeiten wir mit OK-Kommandos, die wir oben in das Transaktionsfeld eingeben. Laut SAP-Note stehen nur die folgenden OK-Kommandos zur Verfügung.
Orgebene hinzufügen (bzw. neue Zeile in Tabelle hinzufügen): =CREA_OLVL
Orgebene löschen (bzw. Zeile aus Tabelle löschen): =DELE_OLVL
Nachdem wir bspw. das Kommando „=CREA_OLVL“ eingegeben haben, wird eine neue Zeile in der Tabelle eingefügt. In dieser Zeile können wir nun das gewünschte Berechtigungsfeld pflegen.
Nachdem die neue Zeile mit dem gewünschten Berechtigungsfeld gefüllt wurde, drücken wir auf „Speichern“. Es erfolgt die Abfrage eines Transportauftrages. Wenn der Transportauftrag erfasst wurde, ist das Erheben des Berechtigungsfeldes tatsächlich abgeschlossen. Damit sich die Transaktion aktualisiert, muss diese nur erneut aufgerufen werden. Nach der Aktualisierung werden auch die Spalten der neuen Berechtigungsfeldes aktualisiert. Es wird bspw. angezeigt:
- Spalte „Org. Level in Roles“: Maintain status des Feldes in Berechtigungsrollen des Mandanten (gelbes Dreieck = Nacharbeit notwendig!)
- Spalte „Objects“: Anzahl der Berechtigungsobjekte, die das Berechtigungsfeld im Bauch haben
Durch einen Klick auf das gelbe Dreieck in der Spalte „Org. Level in Roles“ erfolgt ein Absprung in einer andere Sicht. In dieser Sicht sind alle Rollen aufgeführt, die durch das Erheben zur Orgebene betroffen sind:
Auswirkungen des Erhebens zur Orgebene
Bei bestehenden Rollen, in denen das Berechtigungsfeld zuvor bereits befüllt war, passiert zunächst gar nichts. Die Rolle funktioniert weiterhin. Die Werte des Berechtigungsfeldes werden nicht überschrieben. Allerdings erhält der Tab „Organizational levels…“ natürlich eine entsprechende Zeile:
Wenn darüber nun ein neuer Wert gepflegt wird, werden zunächst nur die Berechtigungsfelder gepflegt, die zuvor leer waren. Die anderen Werte bleiben bestehen. Hierdurch ergeben sich schnell zahlreiche Inkonsistenzen. Inkonsistenzen, die wir durch Verwendung von Orgebenen eigentlich verhindern wollen. Die zuvor befüllten Feld-Instanzen werden also wie manuell gepflegte Orgebenen behandelt. Sie sind von der Funktion des Button „Organizational levels…“ entkoppelt.
Um diese „manuell“ gepflegten Felder pro Rolle zu bereinigen, empfiehlt die SAP den Report AGR_RESET_ORG_LEVELS.
Ihr Plan für bessere SAP Berechtigungen
In dem Strategieworkshop SAP Berechtigungen entwickeln wir für Sie eine Strategie zur Optimierung der SAP Sicherheit und Reduzierung der Betriebsaufwände.
Kein Weg zurück – Orgebene bleibt Orgebene
Bei meinen Tests der Funktion bin ich auch darauf gestoßen, dass das OK-Kommando „=DELE_OLVL“ nicht funktioniert. Um eine kundeneigene Orgebene zurückzusetzen, wird von SAP der Report PFCG_ORGFIELD_DELETE empfohlen. Leider ist dieser Report obsolet. Das manuelle Löschen aus den zugrunde liegenden Tabellen kann ich ebenfalls nicht empfehlen. Somit habe ich in meinem Versuch keine Möglichkeit gefunden, die Orgebene wieder runterzustufen.
Allerdings gibt es in der SAP Note 2535602 – SUPO | Dokumentation und Transportanschluss für OrgEbenenpflege folgenden Hinweis:
„Symptom: Sie nutzen die Transaktion SUPO, um OrgEbenen zu ändern. Dabei stört sie folgendes Verhalten:
Die Funktion „OrgEbene Löschen“ funktioniert nicht.“
„Lösung: Implementieren Sie die beigefügte Korrektur per SNOTE oder über das referenzierte Support Package.“
Eventuell lässt sich damit die Löschfunktion reparieren.
Fazit: Mit großer Vorsicht zu genießen!
Insgesamt hat mir der Ausflug in die Transaktion SUPO weniger gut gefallen. Allein durch die Verwendung von OK-Kommandos schreit die Transaktion förmlich: „Pass auf, was Du tust!“. Außerdem kann ich nur dringend davon abraten, spontan das Berechtigungsfeld RESPAREA zur Orgebene zu erheben. Bei meinem Versuch hat dies zunächst zu irreparablen Schäden in der Tabelle KBEROBJ geführt. Hier ist dann wiederum Nacharbeit mit den folgenden beiden SAP Notes notwendig: 698401 – RESPAREA als Org.ebenen-Feld und 565436 – PFCG: F4-Hilfe für spezielle Berechtigungsfelder.
Aber für genau solche Fälle haben wir ja die RZ10 Security Community: Welche Erfahrungen haben Sie mit kundeneigenen Orgebenen gemacht? Welche weiteren Erfahrungswerte haben Sie zum Umgang mit der SUPO? Ich freue mich auf Ihre Kommentare!
3 Kommentare zu "SAP Berechtigungsfeld zur Orgebene erheben"
Kleines Update an dieser Stelle (Jan 2022):
Zumindest ab SAP_BASIS 754 SP 01 liefert die SUPO auch Buttons für Anlegen und Löschen, man ist nicht mehr auf OK-Commands angewiesen.
Hi, gibt es für die SUPO oder die Tabelle USORG Änderungsbelege?
Die Änderungen an den Berechtigungen erzeugen Änderungsbelege, ob die Tabelle in Änderungsprotokollierung ist hängt vom System und der Konfiguration ab. Ich kenne keine speziellen Änderungsbelege aus der SUPO.