Code: Alles auswählen.
IF <ls_select_tab>-kostl IS NOT INITIAL.
SELECT SINGLE kokrs FROM tka02
INTO lv_kokrs
WHERE bukrs = <ls_select_tab>-bukrs.
IF lv_kokrs IS NOT INITIAL.
CLEAR lv_objnr.
CALL FUNCTION 'OBJECT_NUMBER_READ_KS'
EXPORTING
kokrs = lv_kokrs
kostl = <ls_select_tab>-kostl
IMPORTING
objnr = lv_objnr
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
IF sy-subrc = 0.
AUTHORITY-CHECK OBJECT 'K_CCA' "Kostenstelle
ID 'RESPAREA' FIELD lv_objnr
ID 'CO_ACTION' FIELD '3028'
ID 'KSTAR' DUMMY.
IF sy-subrc <> 0.
<ls_select_tab>-xkostl = zcl_npm_constants=>true.
<ls_select_tab>-no_out = zcl_npm_constants=>true.
ELSE.
<ls_select_tab>-xkostl = zcl_npm_constants=>false.
<ls_select_tab>-no_out = zcl_npm_constants=>false.
ENDIF.mit SAP_ALL darfst du alles machen, auch andere User anlegen und natürlich auch seine Berechtigungen einschränken. Die Pflege der Berechtigungen geht über SU01, dort kannst du in den Reitern Rollen (und ggf. auch Profile) dem Benutzer Berechtigungsrollen zuweisenc oco hat geschrieben:Das kann sein, dass ich SAP ALL hab....
Kann ich einen User mit eingeschränkten Rechten auch selber anlegen?
Nö. Der AUTHORITY-CHECK geht immer auf den angemeldeten User.c oco hat geschrieben:Aber wenn ich im Debugger bin und sy-uname ändere in irgendwas, dann müsste ich doch einen sy-subrc <> 0 erzeugen oder?
Code: Alles auswählen.
AUTHORITY-CHECK ... FOR USER sy-uname.