Skip to Content
Author's profile photo Former Member

Trigger CRM Access Control Engine(ACE) for any business entity

Author: Ravi K
Submitted: 27/09/2013

Description : This code snippet can be used to trigger ACE for any business object .  As an example, we are using Business partner to trigger/update the ACE.

Super Object type for Business partner is ACCOUNTCRM.

Following code can be used to trigger/update the Access Control Engine for corresponding Business partner.

Data: lt_guid           TYPE crmt_ace_object_guid,
ls_object_guids  
TYPE crms_ace_object_guid,
lt_guid_with_otype
TYPE crmt_ace_objs_with_type,
lc_source        
TYPE crm_ace_prc_source.

.


CALL METHOD CL_CRM_ACE_OBJECT=>GET_CRM_OTYPE_OF_GUIDS
   EXPORTING
     IV_CRM_SUPER_TYPE   = ‘ACCOUNTCRM’
     IT_OBJECT_GUIDS     = lt_guid      “lt_guid contains GUID of BP for which ACE has to be triggered

   IMPORTING
     ET_GUIDS_WITH_OTYPE = lt_guid_with_otype.


CALL METHOD CL_CRM_ACE_OBJECT=>PROCESS_OBJECT_CHANGE
   EXPORTING
     IT_OBJECT_LIST = lt_guid_with_otype
     IM_PRC_SRC_ID  = lc_source.


COMMIT WORK.


The value of ACE process source ID (i.e, lc_source) can be obtained from database table CRM_ACE_PRC_SRC. In our case, it is PRC_SRC_REFRESH_TOOL.

The updated/triggered ACE object for corresponding entity can be seen in transaction code ACE_UPDATE.

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Nice blog Ravi....

      Author's profile photo Yang Yang
      Yang Yang

      Great, very useful. Thanks!