Kommt drauf an, was du genau machen willst: Darf/Darf nicht oder Darf aber nur mit bestimmten Einschränckungen?5Jacken hat geschrieben: - Wo im Programm muss er stehen, wenn die Prüfung vor dem Ausführen des Programms geschehen soll?
Kommt drauf an. Normalerweise werden Rollen angelegt. Diese umfassen alle benötigten Berechtigungsobjekte mit den erlaubten Werten. Die Rollen werden dann meist den User zugeordnet (eine Zuordnung über OrgManagment ist aber auch denkbar). Am besten hälst du Rücksprache mit dem Berechtigungsmanager, da jede Firma bei Berechtigungen etwas anders tickt.5Jacken hat geschrieben: - Wo kommt die deffinition des Rechtes (bei mir SU01) hin?
Code: Alles auswählen.
PARAMETERS carr TYPE spfli-carrid.
AT SELECTION-SCREEN.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD carr
ID 'ACTVT' FIELD '03'.
IF sy-subrc <> 0.
MESSAGE 'No authorization' TYPE 'E'.
ENDIF.
Code: Alles auswählen.
* Prüfe auf Berechtigung BENUTZERPFLEGE SU01
INITIALIZATION.
CALL FUNCTION 'AUTHORITY_CHECK_TCODE'
EXPORTING
tcode = 'SU01'
EXCEPTIONS
ok = 1
not_ok = 2
OTHERS = 3.
IF sy-subrc = 1.
* Ist erlaubt !!!
else.
* ... und tshcüss !!!
exit.
ENDIF.
Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report ZTEST_S_TCODE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ztest_s_tcode.
INITIALIZATION.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'SU01'.
IF sy-subrc NE 0.
* MESSAGE ID '00' TYPE 'S' NUMBER '172' DISPLAY LIKE 'E' WITH 'SU01'.
* oder
MESSAGE s172(00) DISPLAY LIKE 'E' WITH 'SU01'.
EXIT.
ENDIF.
break sapuser.
Antwort zu A:Ich würde mich sehr fruen, solltet ihr mir diesen Befehl ein wenig erklären können:
A: Wo im Programm muss er stehen, wenn die Prüfung vor dem Ausführen des Programms geschehen soll?
B: Was sind diese "IDs"?
C: Wo kommt die deffinition des Rechtes (bei mir SU01) hin?
Du könntest die Prüfung auch direkt in der Transaktion hinterlegen. Bei Berechtigungsobjekt S_TCODE und dann den Button Werte um dort die SU01 eingeben.5Jacken hat geschrieben:Das Programm soll über eine Transaktion gestartet werden.
Nur Benutzer mit der Berechtigung "SU01" sollen das Programm starten dürfen.