SAP bringt für fast jeden Bedarf passende Berechtigungsobjekte mit. Doch manchmal reicht der Standard nicht aus. In diesem Fall können Sie eigene Berechtigungsobjekte anlegen und anschließend in Ihre Rollen einbauen. Wie das geht, zeigen wir Ihnen jetzt.
Wir arbeiten heute mit einem Beispiel aus dem HR-Bereich innerhalb der kontextsensitiven Berechtigungen: Wir wollen, dass die Berechtigungen je nach Transaktion eingeschränkt werden können. Das heißt also zum Beispiel, dass Sachbearbeiter bei Verwendung von PA30 (Personalstammdaten pflegen) nur für einen bestimmten Infotyp berechtigt sein sollen. In der PA20 (Personalstammdaten anzeigen) aber dürfen sie alle Infotypen sehen.
Nun kann das Berechtigungsobjekt P_ORGINCON das aber nicht abbilden. Statt auf Transaktionen lässt es sich nämlich nur auf Felder wie Personalbereich, Mitarbeiterkreis oder -gruppe und so weiter einschränken. Wir brauchen also ein weiteres Berechtigungsobjekt.
SU21: Berechtigungsobjektklassen anlegen
Starten Sie dafür die Transaktion SU21. Sie sehen eine Übersicht aller verfügbaren Berechtigungsklassen. Jedes Berechtigungsobjekt ist einer Berechtigungsklasse zugeordnet. Für unser neues Objekt könnten wir also die Klasse für die HR-Objekte auswählen.
Alternativ können Sie eine eigene Berechtigungsklasse anlegen. Gehen Sie dafür in der Symbolleiste auf das weiße Blatt und klicken dort auf das kleine Dreieck, dass das Untermenü öffnet. Wählen Sie nun „Berechtigungsobjektklasse anlegen“. Im nächsten Fenster müssen Sie einen Namen und einen Kurztext vergeben und das Ganze speichern.
SU21: Berechtigungsobjekt anlegen
Wenn Sie nun in der Liste scrollen, finden Sie Ihre neu angelegte Berechtigungsobjektklasse. Mit einem Rechtsklick können Sie den Befehl „Berechtigungsobjekt anlegen“ auswählen. Im nächsten Fenster geben Sie Name und Kurztext ein.
Wenn Sie Ihre Angaben mit Enter bestätigen, öffnen sich freie Felder. Hier tragen Sie die Berechtigungsfelder ein, die Ihr Objekt enthalten soll.
In unserem Beispiel übernehmen wir die Felder des Standard-Objekts P_ORGINCON:
- AUTHC (Berechtigungslevel)
- PERSA (Personalbereich)
- PERSK (Mitarbeiterkreis)
- PERSG (Mitarbeitergruppe)
- VDSK1 (Organisationsschlüssel)
- INFTY (Infotyp)
- SUBTY (Subtyp)
- PROFL (Profil)
Außerdem ergänzen wir das Feld TCD (Transaktionscode), mit dem später die Einschränkung der Berechtigung je nach Transaktion ausgeprägt werden kann.
Speichern Sie Ihre Angaben und füllen Sie Objektkatalogangaben aus. Wenn Sie hier kein Paket angeben, wird das Objekt als lokales Objekt gespeichert, was aber für einen produktiven Einsatz keinen Sinn macht, da das Berechtigungsobjekt später auch ins QAS- und PRD-System transportiert werden muss.
Nach dem Speichern erscheint im Fenster mit den Objektdetails der Button, mit dem Sie die Objektdokumentation öffnen und ausfüllen können.
Haben Sie das erledigt, springen Sie zurück zum vorherigen Fenster und bestätigen Ihre Auswahl mit dem grünen Haken. Ihr Objekt ist jetzt in Ihrer eigenen Berechtigungsobjektklasse angelegt. Sie finden es in der Liste, wenn Sie die Baumstruktur der Klasse öffnen.
PFCG: Berechtigungsobjekte in Rollen einbauen
Um Ihr Objekt zu verwenden, öffnen Sie in der PFCG eine passende Rolle. Im Reiter Berechtigungen wählen Sie in der Menüleiste den Button „manuell“ und geben im neuen Fenster den Namen Ihres Objekts ein – in unserem Fall also „Z_ORGINCON“.
Das Objekt wird hinzugefügt und Sie können es ausprägen. Mit dieser Beispielausprägung hat der User volle Berechtigung.
Wollen wir das nun einschränken, können wir die die Berechtigung kopieren und zum Beispiel eine Ausprägung für die Transaktion PA20 und eine weitere für die Transaktion PA30 vornehmen. Hier lässt sich dann festlegen, dass der User in der PA30 nur bestimmte Infotypen sehen und bearbeiten darf. Das lässt sich beliebig fortführen.
Achtung: Objekte, die Sie selbst angelegt haben, können Sie nur wieder löschen, wenn Sie in keiner Rolle verwendet werden. Wollen wir unser Beispiel-Objekt also löschen, müssen wir es vorher in der oben genannten Rolle deaktivieren. Dann können wir über die SU21 mit dem Rechtsklick auf das Objekt „löschen“ auswählen. Auch eine Änderung der Felder von Berechtigungsobjekten ist nur möglich, wenn es nicht verwendet wird.