Hat man die ACE im Einsatz, dann stehen in allen (zumindest in den meisten) Transaktionen einem User nur jene Business Partner zur Verfügung, für die er laut ACE berechtigt ist.
Liest man nun innerhalb eines Programmes die Business Partner direkt von der Datenbank, dann muss man sich als Entwickler um die ACE Prüfung selbst kümmern. Diesen Check kann man recht einfach mit Hilfe der WebUI GenIL Klasse CL_CRM_BUIL_SERVICES durchführen.
Dieses kleine Beispiel soll, zeigen wie man den ACE Check durchführen kann. Die Tabelle LT_PARNERS entspricht der Datenbank Tabelle BUT000.
LOOP AT lt_partners ASSIGNING <wa_partners>. * Check partner authorization against ACE cl_crm_buil_services=>authority_check( EXPORTING iv_activity = '02' iv_partner_guid = <wa_partners>-partner_guid iv_add_message_to_log = abap_false IMPORTING ev_no_authority = lv_check_auth ). ENDLOOP.
Hat die Variable lv_check_auth nach dem Methodenaufruf den Wert ABAP_TRUE, dann besitzt der User keine Berechtigung für den Business Partner.
Für iv_activity sind folgende Parameter möglich:
01 Create
02 Change
03 Display
04 Modify
06 Delete
Comments are closed.