Berechtigung P_ORGIN und IT0008

Berechtigung P_ORGIN und IT0008

Postby Linnea2424 » Mon Apr 14, 2014 7:18 am

Hallo,

ich habe aktuell in unserem HR System folgendes Problem: Ein MA soll keine Berechtigung zur Anzeige des IT0008 über die PA20/30 haben, muss aber gleichzeitig innerhalb eines Reports lesend auf diese Daten zugreifen. Die passiert über den Baustein HR_READ_INFOTYPE. Innerhalb des Bausteins wird HR_CHECK_AUTHORITY_INFTY gerufen

Dort gibt es folgende Code Stelle
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   if hrac_badi is initial.
  2.     exit.
  3.   endif.  " HRAC_BADI IS INITIAL.
GeSHi ©


Jetzt ist es so, dass der gewünschte Benutzer die Daten nicht angezeigt bekommt und HRAC_BADI nicht initial ist, d.h. die folgenden Prüfungen werden alle durchlaufen und enden letztlich mit einem negativen AUTH-Check.

Ein stärker berechtigter User liefert zwar die Daten, HRAC_BADI ist aber initial und somit wird die Routine gleich verlassen.

Wie muss der schwächere Benutzer berechtigungsseitig denn ausgestattet, damit das funktioniert?

Gruß und Danke
Linnea2424
..
..
 
Posts: 94
Joined: Thu Sep 21, 2006 3:10 pm

Re: Berechtigung P_ORGIN und IT0008

Postby Bilal3242 » Mon Apr 14, 2014 12:41 pm

Hallo,

also ich kenne keine Möglichkeit das zu trennen. Wer keine Berechtigung für IT0008 hat, darf diesen eben nicht sehen, egal auf welche Weise. Hatte schonmal ein ähnliches Problem als es darum ging in einem Report anzuzeigen ob jemand in der Gruppenprämie ist oder nicht. Diejenigen die keine Berechtigung für IT0008 hatten, konnten den Report dann hinterher gar nicht starten, da der IT0008 über PROVIDE abgerufen wurde.

Möglichkeiten das zu umgehen gibt es natürlich, z.B. über einen SELECT auf die PA0008 zu gehen statt über den Funktionsbaustein. Aber dann müsste man sicherstellen das ansonsten niemand anderes an die Daten kommt.

Aber falls jemand bessere Lösung kennt, würde mich die auf jeden Fall auch interessieren.

Gruß
Michael
Bilal3242
...
...
 
Posts: 400
Joined: Wed Apr 15, 2009 12:46 pm

Re: Berechtigung P_ORGIN und IT0008

Postby Gabriel2015 » Mon Apr 14, 2014 9:47 pm

Hallo allerseits,

so etwas läßt sich über das Berechtigungsobjekt P_ABAP lösen. Hier http://help.sap.com/saphelp_erp60_sp/helpdata/de/16/b8b83b5b831f3be10000000a114084/content.htm wird auch direkt ein Beispiel für die IT0008-Thematik angegeben. Das Beispiel ist etwas komplizierter, möglicherweise reicht es ja wenn der User den Report ungeprüft ausführen kann. Viel Erfolg.

Viele Grüße

Armin
Gabriel2015
.
.
 
Posts: 5
Joined: Tue Aug 27, 2013 9:45 am

Re: Berechtigung P_ORGIN und IT0008

Postby Lasse815 » Tue Apr 15, 2014 9:39 am

Hallo zusammen,

ja, soetwas geht mit P_ABAP. Aber Vorsicht, das Objekt ist sehr mächtig und falsch angewendet kann es das ganze HR-Berechtigungskonzept über den Haufen werfen. Daher bitte unbedingt sehr ausführlich testen insbesondere mit diversen Negativtests mit Benutzer, die auch diesen Report nicht ausführen sollen. Am besten jemanden hinzuziehen, der dieses Berechtigungsobjekt gut kennt ;-)

Bzw. wenn die fachlichen HR-Berechtigungen komplett umgangen werden, dann sollte zumindest eine rudimentäre Berechtigungsprüfung gegen eine Z-Transaktion direkt im Programm durchgeführt werden, damit den Report nachher nicht jeder Benutzer mit der Berechtigung für die SA38 ausführen kann und dann die kompletten Gehaltsdaten aufgelistet bekommt.

Viele Grüße
Christian Becker
Lasse815
....
....
 
Posts: 683
Joined: Wed Nov 23, 2005 12:36 pm

Re: Berechtigung P_ORGIN und IT0008

Postby Bilal3242 » Wed Apr 16, 2014 10:31 am

ChrisB hat geschrieben:Bzw. wenn die fachlichen HR-Berechtigungen komplett umgangen werden, dann sollte zumindest eine rudimentäre Berechtigungsprüfung gegen eine Z-Transaktion direkt im Programm durchgeführt werden, damit den Report nachher nicht jeder Benutzer mit der Berechtigung für die SA38 ausführen kann und dann die kompletten Gehaltsdaten aufgelistet bekommt.


Bei HR-Reporten geht man ja in der Regel über die PNP und ruft dann mit "GET PERNR" der Reihe nach die zu bearbeitenden Personalnummern auf. Selbst wenn man da nachher mit einem SELECT an die PA0008 geht, sollte das keine Probleme geben, da alle Nicht-HR-User schon vorher rausfliegen sollten, da sie keine Berechtigung für den Mitarbeiterkreis, den Buchungskreis oder was auch immer haben.

Wenn das nur eine einmalige Sache ist, würde ich da einfach ein "IF SY-UNAME = 'USERXY' und anschließenden Select auf die PA0008 machen um an die Daten zu kommen. Ist zwar nicht schön, aber geht am schnellsten und macht keine Probleme. Außer der Mitarbeiter verlässt das Unternehmen, dann muss der Report natürlich für seinen Nachfolger verändert werden.
Bilal3242
...
...
 
Posts: 400
Joined: Wed Apr 15, 2009 12:46 pm

Re: Berechtigung P_ORGIN und IT0008

Postby Lasse815 » Thu Apr 17, 2014 1:25 pm

Hallo Michael,

naja, mein Einwand bezog sich ja darauf, dass mit dem Objekt P_ABAP eben genau diese Standardprüfung deaktiviert wird! Auf der anderen Seite ist ein direkter SELECT auf die PA0008 auch nicht so ganz die feine englische Art... und ich kenne durchaus Firmen, bei denen dürfen sehr viele HR Benutzer auf alle Personen im IT 1 zugreifen - aber nur auf einen kleinen Personenkreis auch den IT 8 sehen.

Was ich mit meinem Hinweis primär bezwecken wollte, ist darauf hinzuweisen, dass das Thema HR-Berechtigungen durchaus komplex werden kann - die genaue Ausprägung hängt aber sehr stark von der jeweiligen Firma ab. Und daher sollte jeder auch wissen was er bei der eigenen Firma zu berücksichtigen hat und da wir im konkreten Fall sehr wenige Infos zum kompletten HR Hintergrund haben und kagel offenbar auch nicht nur im HR tätig ist, bin ich eben lieber etwas vorsichtig...

Viele Grüße
Chris
Lasse815
....
....
 
Posts: 683
Joined: Wed Nov 23, 2005 12:36 pm


Return to Human Resources

Who is online

Users browsing this forum: No registered users and 8 guests