Author: Ravi KSubmitted: 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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.