Anfang des InhaltsbereichsObjektdokumentation P_PERNR (HR: Stammdaten - Personalnummernprüfung) Dokument im Navigationsbaum lokalisieren

Definition

Berechtigungsobjekt, das verwendet wird, wenn für den Zugriff auf die Personalnummer eines Benutzers abweichende Berechtigungen vergeben werden sollen. Wenn diese Prüfung aktiv ist und dem Benutzer im System eine Personalnummer zugeordnet ist, kann diese Prüfung alle anderen Prüfungen, mit Ausnahme der Prüfverfahren, direkt übersteuern. Wenn dem Benutzer keine Personalnummer zugeordnet wurde oder der Benutzer auf eine andere als die eigene Personalnummer zugreift, wird diese Prüfung nicht ausgeführt.

Hinweis

Die Zuordnung zwischen dem Benutzer und der Personalnummer wird über den Infotyp 0105, Subtyp 0001 ermittelt (in früheren Releases über die View V_T513A).

Struktur

Das Berechtigungsobjekt P_PERNR enthält folgende Felder, über die eine Berechtigungsprüfung erfolgt:

Berechtigungsfeld

Langtext

AUTHC

Berechtigungslevel

PSIGN

Interpretation einer zugeordneten Berechtigung

INFTY

Infotyp

SUBTY

Subtyp

Weitere Informationen zu den Feldern

Das Feld PSIGN ( Interpretation einer zugeordneten Berechtigung) darf dabei die folgenden Werte annehmen:

I: include (für zusätzliche Berechtigungen)

E: exclude (für zu entfernende Berechtigungen)

Beispiel

Im System sind Berechtigungsprüfungen für P_ORGIN und P_PERNR aktiviert. Weiterhin sind für einige Personalnummern Benutzerzuordnungen vorhanden.

Der Benutzer in unserem Beispiel ist einer Personalnummer zugeordnet und soll ein Sachbearbeiter sein, der für den Infotyp Basisbezüge (0008) eines Personalbereichs zuständig ist (d.h. er besitzt die entsprechende P_ORGIN-Berechtigung). Außerdem soll es so sein, dass der Mitarbeiter, unabhängig davon, für welchen Personalbereich er zuständig ist, seine eigenen Daten immer anzeigen, seine Basisbezüge aber nicht ändern können soll. Die entsprechenden Berechtigungen für das Berechtigungsobjekt P_PERNR müssen dann wie folgt eingerichtet werden:

AUTHC = R, M

PSIGN = I

INFTY = *

SUBTY = *

 

AUTHC = W, S, D, E

PSIGN = E

INFTY = 0008

SUBTY = *

Die erste Berechtigung erlaubt dem Mitarbeiter lesenden Zugriff auf alle Infotypen, die an der eigenen Personalnummer abgelegt sind. Die zweite Berechtigung verhindert schreibenden Zugriff auf alle Datensätze des Infotyps Basisbezüge (0008) der eigenen Personalnummer.

Für alle anderen Personalnummern sowie für Schreibzugriffe auf alle Infotypen (außer Basisbezüge (0008)) greifen die Berechtigungsprüfungen gemäß P_ORGIN.

Achtung

Wie die folgenden Beispiele verdeutlichen, kann es leicht passieren, dass auch widersprüchliche Berechtigungen vergeben werden:

Beispiel 1:

AUTHC = *

PSIGN = I

INFTY = 0014

SUBTY = M*

 

AUTHC = W, S, D, E

PSIGN = E

INFTY = 0014

SUBTY = *

Bei einem Lesezugriff ( AUTHC = R ) auf Infotyp Wiederkehrende Be-/Abzüge (0014), Subtyp M120 darf der Mitarbeiter wegen der ersten Berechtigung grundsätzlich auf die Daten der eigenen Personalnummer zugreifen. Die zweite Berechtigung ist in diesem Fall überhaupt nicht relevant.

Bei einem Schreibzugriff ( AUTHC = W ) auf Infotyp Wiederkehrende Be-/Abzüge (0014), Subtyp B030 darf der Mitarbeiter wegen der zweiten Berechtigung grundsätzlich nicht auf die Daten der eigenen Personalnummer zugreifen. In diesem Fall ist die erste Berechtigung überhaupt nicht relevant.

Bei einem Schreibzugriff auf Infotyp Wiederkehrende Be-/Abzüge (0014), Subtyp M120 darf der Mitarbeiter wegen der ersten Berechtigung zugreifen, wegen der zweiten Berechtigung aber nicht. Das gewünschte Systemverhalten ist hieraus unklar. Gemäß der Dokumentation ist das Systemverhalten in solchen Situationen undefiniert. Tatsächlich ist es so, dass die Berechtigungsprüfung in "unklaren Situationen" die Berechtigung immer verweigert, d.h. E ist stärker als I , die Berechtigung wird also abgelehnt.

Beispiel 2:

AUTHC = *

PSIGN = *

INFTY = *

SUBTY = *

Eine derartige Berechtigung kommt z.B. bei Superusern mit allumfassenden Berechtigungen vor. Wird jetzt auf einen beliebigen Infotypen zugegriffen, so passt die obige Berechtigung offensichtlich. Da aber PSIGN = * und * für jeden beliebigen Wert substituiert werden kann, kann PSIGN sowohl als E als auch als I interpretiert werden. Damit liegt wieder ein undefinierter Zustand vor. In früheren Releases wurde die Berechtigung gemäß der Regel E stärker als I abgelehnt. Dies hatte zur Folge, dass Superuser mit zugeordneter Personalnummer nicht auf die eigene Personalnummer zugreifen konnten. Aus diesem Grund wurden die Programme so geändert, dass * wie I interpretiert wird und stärker als E bindet, d.h. es gilt * ist stärker als E und E ist stärker als I , wobei * wie I interpretiert wird.

Hinweis

Wie in Beispiel 1 bereits angedeutet, kann durch die Kombination von verschiedenen Berechtigungen das Ergebnis beliebig kompliziert werden. Aus diesem Grund empfehlen wir, Kombinationen zu vermeiden, bei denen P_PERNR-Berechtigungen mit verschiedenen Interpretationen für die gleiche Kombination von AUTHC (Berechtigungslevel), INFTY (Infotyp) und SUBTY ( Subtyp) vorkommen.

Häufigste Ursache von Kundenanfragen zu diesem Berechtigungsobjekt sind trotzdem nicht Missverständnisse, die sich aus derart komplexen Situationen ergeben. Die häufigste Ursache ist die inkorrekte Annahme, dass personalnummernbezogene Berechtigungen Auswirkungen auf die Berechtigungen von nicht zugeordneten Personalnummern hätten. Dies ist aber ausdrücklich nicht der Fall.

Wenn Sie personalnummernbezogene Berechtigungen verwenden, sollten Sie grundsätzlich immer zunächst alle nicht personalnummernbezogenen Berechtigungen einrichten. Sobald dies erfolgt ist, sollten Sie abweichende Zugriffsberechtigungen für die Benutzern zugeordneten Personalnummern durch geeignete P_PERNR-Berechtigungen realisieren. Da die P_PERNR-Berechtigungen alle anderen Berechtigungen (außer Prüfverfahren) direkt übersteuern, ist dies immer möglich.

Die P_PERNR-Prüfungen sind nicht in der Lage, Prüfverfahren direkt zu umgehen. Beispielsweise wird ein Prüfverfahren auf den Infotyp Wiederkehrende Be-/Abzüge (0014) auch dann ausgeführt, wenn für den diesen Infotyp eine entsprechende P_PERNR-Berechtigung (mit PSIGN = I ) vorhanden ist. Wenn allerdings eine geeignete Berechtigung für den entsprechenden Subtyp des Infotyps 0130 vorhanden ist, kann damit das Prüfverfahren effektiv umgangen werden.

Ende des Inhaltsbereichs