Wednesday, July 27, 2011

Influencing the Interaction Center with IC Events

In recent posts, I described how you can influence the working of the interaction center. For instance, using IDI, you can influence the screenflow and raise alerts.

IDI actually uses a function in the interaction center called IC events (Interaction Center Events).

The events are raised when certain situations occur, for instance ‘Businesspartner confirmed’ or Contact Ended’.

There are two ways you can influence the working of the IC webclient using IC Events with ABAP coding.
  • Raise an event.
  • Subscribe to an event.
Of course, it is not recommended to raise a standard SAP event in coding unless you are perfectly positive this is what you need, as you are bound to run into unwanted side effects (imagine raising the contact ended event while this is not the case).

You can of course very well combine the two. Raise a custom event which you have subscribed your custom event handler to.

If you want to determine which events are raised in which order at which time, you can put a breakpoint in CL_CRM_IC_EVENT_SRV->IF_CRM_IC_EVENT_SRV~RAISE.

This is actually a good starting point to explain how this works.

Wednesday, July 20, 2011

Call lists: Archiving calls to improve performance

If you have implemented an interface or an action that feeds calls to call lists, you will run in to the fact that call lists will keep growing, as there is no possibility to archive calls from the call list. Eventually, the size of the call list will decrease the performance of the call dispatcher, as it technically it has to evaluate all closed calls as well.

Wednesday, July 13, 2011

Call lists: Next call determination using the call dispatcher

When implementing call lists, you can decide whether users have to select the next call themselves, or if the system determines which call is to be processed next.

Especially in B2C environments (but possibly also in B2B), having the system determine the next call automatically is logical, why would you allow the agent to manually choose the next call?

Another very good reason to use the call dispatcher is if you have multiple agents working on the same list at the same time. If you would have the agents select the next call themselves, chances are pretty big, the selected call has just also been selected by another agent, and is thus already locked. Using the call dispatcher will solve this problem as well, as the system will not determine a call that has already been assigned to another agent.

Wednesday, July 6, 2011

Call lists: Creating a new call in a call list

There are several ways to add calls to a call list, for instance the following:

1. Manually in transaction CRMD_TM_CLDIST
2. Generated using transaction CRMD_CALL_LIST
3. In ABAP using classes cl_tm_clm_interaction and cl_clm_call_list.