Acorel
To Acorel.nl
Acorel background

Enhanced IC Webclient Alerts

Pieter Rijlaarsdam, 16 February 2011
In some of the previous blogs, I explained how you can implement IDI to add for instance automatic navigation, context-based alerts etcetera to the IC Webclient, to improve the effectiveness of the system for the user.
Standard SAP CRM is shipped with some fairly general alerts. For instance, you can have an alert that tells you the customer number, or you can have an alert that tells you the customer has open items.
Beside the standard alerts, in the IC Manager role, you can create new alerts. In these alerts, you can maintain your own text, and use the parameters that have been supplied by the system.
If these standard shipped parameters do not satisfy your needs, you can also add new parameters. For instance, if your users need to have an alert containing all of the customer’s telephone numbers, and not just the first one. Or if you want to notify the user there is an open serviceticket.
Adding a new parameter be done in several steps.
IMG: SAP Customizing Implementation Guide –> Customer Relationship Management –> Interaction Center WebClient –> Additional Functions –> Intent-Driven Interactions
1. Add the technical name of the new parameter ( Define Repository)
2. Add a ‘Fact Gathering’ service (Define Services)
3. Add the fact gathering service to the service manager profile (Define Service Manager Profiles)
4. Apply the service manager profile to the Intent-Driven Interaction Profile (Define Intent-Driven Interacton Profiles)
5. Add coding to the class of the fact gathering service (SE80)
In the following example, I will illustrate with the attribute ‘Number of Servicetickets’. This is comparable to the existing FICA_NO_OF_CALLS.
1. Add the technical name of the new parameter ( Define Repository)
2. Add a ‘Fact Gathering’ service (Define Services)
In the Define Services, add the service. In our case, ZFG_SVT. Choose Fact Gathering as the service type. Enter a Service Class. (i.e. ZL_CRM_FACTS_SVT).
3. Add the fact gathering service to the service manager profile (Define Service Manager Profiles)
Add the new Service to the Directly Called Services of your Service Manager Profile. If you have not yet created a Service Manager Profile, create a copy of the IDI_DEFAULT, and add your new service. Make sure all fact gathering services are before the SVC_RULE_EXEC, because you want the fact gathering to take place before rule execution.
4. Apply the service manager profile to the Intent-Driven Interaction Profile (Define Intent-Driven Interacton Profiles)
Make sure the Service Manager Profile is mapped to the Intent-Driven Interaction Profile. If you do not yet have an own Intent-Driven Interaction Profile, create one.
Also, don’t forget to apply the IDI profile in the Business Role (Function Profile ‘INTENT_DRIVEN_INTERACIONS’)
5. Add coding to the class of the fact gathering service (SE80)
In SE80, go to class/interface and create a subclass for CL_CRM_FICA_FACTS_FOR_RULES*.
Redefine the method IF_CRM_SMF_SERVICE~EXECUTE and add the following coding:

METHOD if_crm_smf_service~execute.

DATA: lv_gpart TYPE string,
         lv_cor_available TYPE string,
         lv_dun_available TYPE string,
         lv_no_of_calls TYPE string,
         lv_no_of_svt TYPE string,
         lr_query TYPE REF TO cl_crm_bol_dquery_service,
         lr_col   TYPE REF TO if_bol_bo_col.

  CALL METHOD me->get_bp_confirmed
    RECEIVING
      rv_gpart = lv_gpart.

  CHECK NOT lv_gpart IS INITIAL.

* — number of calls

  lr_query = cl_crm_bol_dquery_service=>get_instance( ‘BTQSrvReq‘ ).
  CHECK lr_query IS BOUND.

  CALL METHOD lr_query->add_selection_param
  EXPORTING
    IV_ATTR_NAME = ‘BU_PARTNER
    IV_SIGN = ‘I
    IV_OPTION = ‘EQ
    IV_LOW = lv_gpart
  .

  lr_col = lr_query->get_query_result( ).
  CHECK lr_col IS BOUND.

  rv_no_of_calls = lr_col->size( ).

  CALL METHOD me->set_fb_attr_by_id
    EXPORTING
      id    = ‘ZNO_OF_SERV
      value = lv_no_of_svt.

ENDMETHOD.

* Depending on your requirements, you might require a subclass for CL_CRM_SMF_ABSTRACT_SERVICE

Pieter Rijlaarsdam

Read all my blogs

Receive our weekly blog by email?
Subscribe here: