* ab ABAP 7.50
* Koverter-Objekt erzeugen
DATA(o_auth) = cl_auth_objects_to_sql=>create_for_open_sql( ).
* Objekte für AUTHORITY-CHECK hinzufügen
o_auth->add_authorization_object( iv_authorization_object = 'S_CARRID'
it_activities = VALUE #( ( auth_field = 'ACTVT' value = '03' ) )
it_field_mapping = VALUE #( ( auth_field = 'CARRID'
view_field = VALUE #( table_ddic_name = 'SFLIGHT'
field_name = 'CARRID'
)
)
)
).
* Ist der Benutzer berechtigt?
IF abap_true = o_auth->is_authorized( ).
* WHERE-Condition erzeugen
DATA(lv_where_cond) = o_auth->get_sql_condition( ).
* Wenn leer, dann hat der Benutzer alle Berechtigungen
IF lv_where_cond IS INITIAL.
cl_demo_output=>write_data( 'Alle Berechtigungen.' ).
ELSE.
* Ansonsten eingeschränkte Berechtigungen
cl_demo_output=>write_data( |Eingeschränkte Berechtigungen: { lv_where_cond }| ).
ENDIF.
* SELECT mit WHERE-Condition durchführen
SELECT *
INTO TABLE @DATA(it_sflight)
FROM sflight
WHERE (lv_where_cond).
* Datenausgabe
cl_demo_output=>write_data( it_sflight ).
cl_demo_output=>display( ).
ENDIF.
Links