Customer Relationship Management Blogs by Members
Find insights on SAP CRM and other customer relationship management products and topics in blog posts from community members and share your own perspective.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

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.

2 Comments