Ansicht
Dokumentation

CL_RBAM_AUTHORIZATION_CHECK - RBAM Schnittstelle mit direkten Methodenaufrufen

CL_RBAM_AUTHORIZATION_CHECK - RBAM Schnittstelle mit direkten Methodenaufrufen

ROGBILLS - Synchronize billing plans   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse stellt öffentlich Methoden zur RBAM-Berechtigungsprüfung

zur Verfügung. Es existieren die folgenden Methoden:

  • AUTHORIZATION_CHECK_BO_NODE_ID
Die instanzspezifische Berechtigungsprüfung für Core Service und BO Typ
  • AUTHORIZATION_CHECK_BO_NODE
Die Berechtigungsprüfung für Core Service und BO Typ ohne Instanzen
  • GET_GRANTED_USERS_BO_NODE
Ermittlung aller potenziell berechtigte Benutzer für Core Service und BOTyp

AUTHORIZATION_CHECK_BO_NODE_ID

Die instanzspezifische Berechtigungsprüfung für Core Service und BO Typ. Die zu prüfenden Instanzen werden in einer Tabelle übergeben.

Parameter:

Name Typ
IF_USER RBAM_USER_LOGON_ID (optional)
IS_OPERATION RBAM_ESF_OPERATION_S
IF_BO_NAME RBAM_ESF_BO_PNAME
IF_BO_NODE_NAME RBAM_ESF_BO_NODE_PNAME
IT_BO_NODE_IDS SESF_BO_NODE_ID_TAB
RT_AUTHORIZED RBAM_BOOL_T

Typ Beschreibung
RBAM_USER_LOGON_ID Anmeldename eines Benutzers (SY-UNAME)
RBAM_ESF_OPERATION_S Operation eines ESF Geschäftsobjekt-Knotens
RBAM_ESF_BO_PNAME Proxyname eines ESF Geschäftsobjekts
RBAM_ESF_BO_NODE_PNAME Proxyname eines ESF Geschäftsobjekt-Knotens
SESF_BO_NODE_ID_TAB Tabelle von BO Node IDs
RBAM_BOOL_T Tabelle zu jeder Instanz: berechtigt (abap_bool)

AUTHORIZATION_CHECK_BO_NODE

Die Berechtigungsprüfung für Core Service und BO Typ ohne Instanzen. Damit kann z. B. geprüft werden, ob ein Benutzer die Berechtigung für die Operation "QUERY" auf dem Business Objekt "SERVICE_PRODUCT" und dem Knoten "ROOT" besitzt.

Parameter:

Name Typ
IF_USER RBAM_USER_LOGON_ID (optional)
IS_OPERATION RBAM_ESF_OPERATION_S
IF_BO_NAME RBAM_ESF_BO_PNAME
IF_BO_NODE_NAME RBAM_ESF_BO_NODE_PNAME
EF_AUTHORIZED RBAM_BOOL

Typ Beschreibung
RBAM_USER_LOGON_ID Anmeldename eines Benutzers (SY-UNAME)
RBAM_ESF_OPERATION_S Operation eines ESF Geschäftsobjekt-Knotens
RBAM_ESF_BO_PNAME Proxyname eines ESF Geschäftsobjekts
RBAM_ESF_BO_NODE_PNAME Proxyname eines ESF Geschäftsobjekt-Knotens
RBAM_BOOL Benutzer berechtigt (abap_bool)

GET_GRANTED_USERS_BO_NODE

Ermittlung aller potenziell berechtigte Benutzer für Core Service und BO Typ

Parameter:

Name Typ
IS_OPERATION RBAM_ESF_OPERATION_S
IF_BO_NAME RBAM_ESF_BO_PNAME
IF_BO_NODE_NAME RBAM_ESF_BO_NODE_PNAME
RT_GRANTED_USERS RBAM_GRANTED_USER_T

Typ Beschreibung
RBAM_ESF_OPERATION_S Operation eines ESF Geschäftsobjekt-Knotens
RBAM_ESF_BO_PNAME Proxyname eines ESF Geschäftsobjekts
RBAM_ESF_BO_NODE_PNAME Proxyname eines ESF Geschäftsobjekt-Knotens
RT_GRANTED_USERS Tabelle der Benutzer plus Flag "instanzbasiert berechtigt"
Sonderfall: falls alle Benutzers für Operation und Resource berechtigt sind, ist die Tabelle leer und es wird eine Exception vom Typ CX_RBAMRT_ALL_USERS_GRANTED erzeugt.

Beispiele

Beispiel AUTHORIZATION_CHECK_BO_NODE_ID
DATA: lt_bo_node_ids TYPE sesf_bo_node_id_tab.
DATA: lf_bo_name TYPE rbam_esf_bo_pname.
DATA: ls_operation TYPE rbam_esf_operation_s.
DATA: lt_authorized TYPE rbam_bool_t.

* ls_operation = if_rbam_esf_constants=>co_operation_pattern_retrieve.
ls_operation-type = 'InterfacePattern'.
ls_operation-pname = 'RETRIEVE'.
lf_bo_name = 'SERVICE_PRODUCT'.
lt_authorized =
cl_rbam_authorization_check=>authorization_check_bo_node_id(
is_operation = ls_operation
if_bo_name = lf_bo_name
if_bo_node_name = 'ROOT'
it_bo_node_ids = lt_bo_node_ids
).

Beispiel AUTHORIZATION_CHECK_BO_NODE
DATA: lf_bo_name TYPE rbam_esf_bo_pname.
DATA: ls_operation TYPE rbam_esf_operation_s.
DATA: lf_authorized TYPE rbam_bool.

ls_operation-type = 'InterfacePattern'.
ls_operation-pname = 'RETRIEVE'.
lf_bo_name = 'SERVICE_PRODUCT'.

lf_authorized =
cl_rbam_authorization_check=>authorization_check_bo_node(
is_operation = ls_operation
if_bo_name = lf_bo_name
if_bo_node_name = 'ROOT'
).

Beispiel GET_GRANTED_USERS_BO_NODE
DATA: ls_operation TYPE rbam_esf_operation_s,
lt_granted_users TYPE rbam_granted_user_t,
lr_cx_rbamrt TYPE REF TO cx_rbamrt,
lr_exc_all_users TYPE REF TO cx_rbamrt_all_users_granted.

* ls_operation-type = 'InterfacePattern'.
* ls_operation-pname = 'RETRIEVE'.
ls_operation = if_rbam_esf_constants=>co_operation_pattern_retrieve.

TRY.
lt_granted_users = cl_rbam_authorization_check=>get_granted_users_b
is_operation = ls_operation
if_bo_name = 'SERVICE_PRODUCT'
if_bo_node_name = 'ROOT'
).
CATCH cx_rbamrt_all_users_granted INTO lr_exc_all_users.
* Sonderfall: alle Benutzer sind berechtigt
CATCH cx_rbamrt INTO lr_cx_rbamrt.

ENDTRY.

Hinweis

Konstanten für die Angabe der Operation werden über das Interface IF_RBAM_ESF_CONSTANTS bereitgestellt.






SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7610 Date: 20240423 Time: 091929     sap01-206 ( 48 ms )