Hi P.M. Rijlaarsdam,
I found out the way to do it adding some ABAP code in Interaction Center phone events:
Component: CRMCMP_IC_FRAME
View: HiddenView
Method (Event): EH_ONFORWARDCALL
I redefined the method and at the end added a logic based on the current Event. To catch the event
******************************************************************
DATA: lv_event TYPE string.
CHECK ref_event IS NOT INITIAL. "This is a variable already filled in the standard code of the method.
lv_event = ref_event->get_name( ).
CASE lv_event.
******************************************************************
The based on the event (answer, end call, make call, connected, etc.) you can code whatever you want in the Current Interaction Record.
Examples:
*****************************************
WHEN 'McmContactIADUpdated'. " Contact accepted when outbound call.
WHEN 'McmContactWrapUpStarted'. "Wrap Up after a successful call
WHEN 'ContactEnded'. "At the end of a call
*****************************************
To get easily the current Interaction Record you can use the standard Global Data Context variable with something like this:
***********************************************
DATA: lr_gdc TYPE REF TO if_crm_ui_data_context,
lr_int_rec TYPE REF TO if_bol_bo_property_access.
lr_gdc = cl_crm_ui_data_context_srv=>get_instance( me ). "Get current context
CHECK lr_gdc IS BOUND.
"Get Interaction Record
lr_int_rec ?= lr_gdc->get_entity( name = 'CURRENTIREC' ).
CHECK lr_int_rec IS BOUND.
***********************************************
Here you can do whatever you want with the Current Interaction Record, Current Document, Current Partner or whatever you want and you can find in GDC.
Best regards,
Emilio