Sind Ihre SAP Organisationsebenen in Rollen richtig gepflegt?
Autor: Tobias Harmes | 21. Februar 2014
Wie kann man herausfinden, ob die SAP Organisationsebenen in einer Instanz eines Berechtigungsobjektes überschrieben worden sind? Das ist eine der Fragen, die ich mit diesem Beitrag beantworten möchte.
Rollen mit einem Berechtigungsobjekt pflegen
Am Beispiel einer Rolle mit einem Berechtigungsobjekt, welches Buchungskreise beinhaltet, zeige ich Ihnen, wo Sie die gepflegten Werte finden und wie Sie die Werte so pflegen, dass sie auch in vererbten Rollen übernommen werden.
In Abbildung 1 sehen Sie, wie ein ungepflegter Eintrag aussieht, in diesem Fall $BUKRS für den Buchungskreis.
Über den Button Orgebenen… (Tastenkürzel Strg+F8) können Sie die Werte für den Buchungskreis pflegen. Die hier eingegebenen Werte werden auch bei vererbten Rollen übernommen. Nach der Pflege stehen die Werte in der Zeile des Berechtigungsobjektes.
Direkte Pflege der Werte
Wenn Sie die Pflege der Werte nicht über die Organisationsebenen vornehmen, sondern direkt in die Zeile per Doppelklick schreiben wollen, dann erscheint eine entsprechende Warnung (s. Abbildung 3). In dieser sehen Sie die zwei wichtigsten Punkte, die oft gegen eine entsprechende individuelle Pflege sprechen und auch die häufigsten Fehlerquellen bei Änderungen sind.
Zum einen, wenn Sie die Werte direkt in die Zeile schreiben, dann sind die Einträge über den Orgebenen-Dialog wirkungslos. Zum anderen werden Berechigungswerte bei abgeleiteten Rollen überschrieben.
Die Abbildung 4 zeigt, dass individuelle Änderungen am Wert (hier der Wert 3333) nicht mehr von den festgelegten SAP Organisationsebenen beeinflusst werden.
Die Werte werden in den beiden Tabellen AGR_1251 – Berechtigungsdaten zur Aktivitätsgruppe und AGR_1252 – Orgebenen zu den Berechtigungen gespeichert. Hier ist auch erkennbar, ob die Werte individuell oder über den Orgebenen-Dialog gepflegt wurden.
So ist in der Tabelle AGR_1251 z.B. zu sehen, dass als Buchungskreis die 3333 als individueller Wert gepflegt ist (s. Abbildung 5).
Dazu im Vergleich die Einträge des Orgebenen-Dialogs in der AGR_1252 (s. Abbildung 6).
Wert aus dem Orgebenen-Dialog
Damit die Werte aus dem Orgebenen-Dialog übernommen werden, muss in der Tabelle AGR_1251 die entsprechende Variable und kein fester Wert stehen. Die Relation des Feldnamen zur Variable lässt sich über die Tabelle USORG_DB – Generierte Tabelle zum View USORG_DB herausfinden. Hier sehen Sie z.B., dass zum Feld BUKRS (Buchungskreis) die Variable $BUKRS gehört (s. Abbildung 7).
Um den festen Wert zu entfernen und wieder die Variable reinzubekommen, klicken Sie auf den Papierkorb vor dem Wert. Direkt sollten wieder die Werte aus dem Orgebenen-Dialog übernommen werden. An dieser Stelle sollten Sie das Speichern (und ggfs. Generieren) des Profils nicht vergessen.
SAP Berechtigungen für Entwickler (Produktion)
Sie wollen Ihre SAP Berechtigungen für Entwickler auf der Produktion einschränken? Wir helfen Ihnen dabei mit unserem Best-Practice-Ansatz.
Bemerkung: Wenn bei Ihnen der Papierkorb nicht angezeigt wird, dann sind müssen Sie in den Expertenmodus zur Profilgenerierung wechseln.
Die Änderungen können Sie auch direkt in der Tabelle AGR_1251 nachprüfen (s. Abbildung 9).
In den seltensten Fällen sind individuelle Werte für SAP Organisationsebenen in den Berechtigungen erwünscht. Sollten auch Sie diesbezüglich Fehler in den Rollen haben, wissen Sie jetzt zumindest, wie Sie den Standardzustand wieder herstellen können.
4 Kommentare zu "Sind Ihre SAP Organisationsebenen in Rollen richtig gepflegt?"
Bitte in der Artikelüberschrift von Organisationsebenen sprechen. Eine Organisationseinheit ist ein Objekttyp im PF-Umfeld, wie sicher bekannt ist.
Hallo Herr Panzer,
vielen Dank für den Hinweis. Da haben wir wohl zu lange mit den Kollegen von Activate-HR in einem Raum gesessen :-).
Selbstverständlich haben wir den Fehler bereinigt.
Grüße,
Oliver Gehring
Hallo Herr Gehring,
das von Ihnen erläuterte Vorgehen nutze ich bei uns in der Rollenpflege sehr exzessiv, nahezu 99% aller Rollen sind von Referenzrollen abgeleitete Rollen, in denen nur die entsprechenden OrgEbenen nachgepflegt werden. Nun stehe ich vor dem Problem, daß bei einer Rolle, die an die 100 Mal abgeleitet wurde, ein spezielles Element global auf einen bestimmten Wert gesetzt werden soll. Haben Sie einen Tip, wie man das machen kann, ohne jede Rolle einzeln anzupassen? Denn wenn der Wert in der abgeleiteten Rolle erst einmal gesetzt wurde, werden beim erneuten Generieren der abgeleiteten Rollen aus der Referenzrolle heraus die Änderungen dort ja nicht wieder verteilt. Ich hoffe sehr auf eine positive Antwort, die Sie gerne auch an meine email Adresse senden können.
Mit freundlichen Grüßen,
Dirk Funke
Hallo Herr Funke,
vielen Dank für den Kommentar.
Es gibt zwei Möglichkeiten: Sie schreiben einen Report der hart die Einträge in der Tabelle agr_1251 ändert. Nicht empfohlen – funktioniert aber. Oder Sie machen in der PFCG einen Massendownload aller Rollen in eine Textdatei. Dort können Sie dann suchen und ersetzen. Aber Vorsicht: es *müssen* die Spaltenbreiten eingehalten werden. Wenn der neue Wert kürzer ist als der alte unbedingt mit Leerzeichen auffüllen. Entsprechend umgekehrt wenn der neue Wert länger ist. Danach rollen wieder hochladen. In jedem Fall hinterher noch mal die Referenz ableiten und generieren.
Beste Grüße,
Tobias Harmes