cancel
Showing results for 
Search instead for 
Did you mean: 

ACE: Update of access control list if new ONEORDER is created/changed

Former Member
0 Kudos

Hello,

I have read the SDN blog about ACE and the method cl_crm_ace=>process_object_change. I have used the BAdI ORDER_SAVE and implemented the interface CHECK_BEFORE_SAVE.

If I create a new lead for instance, the BadI will be called and the coding, especially the method call cl_crm_ace=>process_object_change is executed. But no update of the access control list is done (checked by transaction ACE_RUNTIME).

I also tried some events around leads (transaction CRM_EVENT), maintained view CRM_CUST_EVENT accordingly. The event will be fired and the method will be called. Here again, no update.

I assume that the method cl_crm_ace=>process_object_change expects already stored information of the new created lead in table CRMC_ORDERADM_H before recalucating the ACE list.

Does anyone know which coding / BAdI / event I should use to get the ACE updated if a new oneorder object (lead, opportunity etc.) will be created?

Yours

Stephan

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello Frank,

ups, this was my fault. Correct, I have to set the correct client number as parameter value.

Now, it is running well. Many thanks for your suggestion,

Yours

Stepan

Former Member
0 Kudos

Hi Stephen,

I think your assumption is correct. The order is not yet into the database while in CHECK_BEFORE_SAVE. You can try an action for updating ACE so that it triggers after the saving of Order.

Thanks,

Ravi

Former Member
0 Kudos

Hello Ravi,

do you think of BSP changes or is there another more general place in the coding, e.g. centralized called function module which will be called each time after ORDER_SAVE? I have to apply a solution using WebUI and transaction CRMD_ORDER.

Yours

Stephan

Former Member
0 Kudos

HI Stephen,

You can yuse an automated action as it will get triggered with both Web UI as well as CRMD_ORDER.

Thanks.

Former Member
0 Kudos

Hello Ravi,

thanks for your reply.

Maybe you can give me a short note how SAP is working  without any extra coding concerning ACE.

I'm using NW 7.3 with CRM 7.02 EHP2 and I have scheduled the event triggered job ACE_DISPATCHER using event SAP_CRM_ACE_DISPATCHER_REQUEST with parameter value 200 on the productive client and correct target system.

In the customizing, I'm using the following parameters:

ACE_IS_INACTIVE   -- empty

ACE_NOC_EXPIRATION_SECONDS -- 0

ACE_UCT_EXPIRATION_SECONRDS -- 30

ACTIVATION_PACKG_SIZE -- 100

DISP_SHUTDOWN_DELAY_TIME -- 10

MAXIMUM_RUNNING_JOBS -- 10

NO_AUTO_USERCONTEXT_REFRESH -- empty

NO_CHECK_IF_TCODE_SET -- empty

NUM_OF_VISIBLE_NODE_ITEMS -- empty

RESTRICTIVE_MODE -- empty

TREE_DISPLAY_MODE -- empty

USE_UOC_UP_TO_X_OBJETS -- 0

Is there anything wrong which prevents from automated ACE update? Currently, if I create a new one order, no ACE_DISPATCHER job will be started (that means I don't see that the event triggered job is running).

Is it really required to program the release of the ACE_DISPATCHER_EVENT manually? I thought this is part of SAP standard functionality. Isn't it? Do you have any idea what could be checked?

I'm now in a bigger problem due to coming closer to go live date.

Yours

Stephan

frankoverip
Explorer
0 Kudos

Hi Stephan,

Are you working in client 200? This is what you define by the event's parameter. If it's the wrong client, the job won't start.

Best regards,

Frank