Skip to Content

Starting with CRM 7.0 UIU views are integrated in IC WebClient business roles by default. But there are some differences on how business transactions are included in IC Webclient compared to CRM WebUI although technically the same components are embedded.

  • A business transaction does not need to be saved before navigation. All changes during a customer interaction are held in the buffer and are saved at once pressing the END button. As a consequence no data-loss popup is necessary when navigating to another workcenter in IC WebClient.
  • The central toolbar contains an EDIT button instead of each assignment block separately in CRM WebUI. Pressing the button switches all assignment blocks to edit mode (and locks corresponding entities)
  • According to IC customizing, the confirmed account, contact person, IBase are automatically used in business transactions.
  • Activity clipboard integration: business transactions are added to activity clipboard of interaction record or to business data context.
  • When saving a business transaction, the application will stay in edit mode whereas in CRM Webclient it switches to display mode.
  • It is possible to configure any CRM Webclient overview page as a tiled layout for usage in IC.

So how does the system distinguish between CRM Webclient and IC Webclient business roles?

Each business role has assigned a role type in customizing (Define Business Role). As soon as as a user wants to display, create or modifiy CRM business transactions, the system asks for an instance of class CL_CRM_UIU_BT_CHANNEL_ASP_FAC. Depending on the business role type of the business role assigned to the current user, different access classes are returned:

Business Role Type

Access Class

B IC Webclient

cl_crm_ic_bt_channel_aspects

C CRM Webclient

cl_crm_uiu_bt_channel_aspects

Others, e.g. no Classification

cl_crm_uiu_bt_channel_aspects

Further on these classes which both implement the same interfaces are used to achieve the different system behavior depending on the business role type. For ERP business transaction, another factory class CL_CRM_UIU_ERP_CHANNEL_ASP_FAC is used which initiates role specific behavior for ERP business transaction.

Business Role Type

Access Class

B IC Webclient

cl_crm_ic_erp_channel_aspects

C CRM Webclient

cl_crm_uiu_erp_channel_aspects

Others, e.g. no Classification

cl_crm_uiu_erp_channel_aspects

Sometimes I want to analyze the difference in behavior of UIU views in IC and CRM WebUI or any feature mentioned above no matter in which business role, then I set a breakpoint in method GET_INSTANCE or the constructor of these factory classes.

Additionally you can check methods of access classes how different behavior is implemented in detail:

IF_CRM_UIU_CHANNEL_ASPECTS~AFTER_CREATE
IF_CRM_UIU_CHANNEL_ASPECTS~IS_DATA_LOSS_ENABLED
IF_CRM_UIU_CHANNEL_ASPECTS~SAVE
IF_CRM_UIU_CHANNEL_ASPECTS~KEEP_EDIT_MODE_AFTER_SAVE
IF_CRM_UIU_CHANNEL_ASPECTS~AFTER_DISPLAY
IF_CRM_UIU_CHANNEL_ASPECTS~REVERT
IF_CRM_UIU_CHANNEL_ASPECTS~IS_EDIT_ALL_BUTTON_ACTIVE
IF_CRM_UIU_CHANNEL_ASPECTS~AFTER_COMMIT
IF_CRM_UIU_BT_CHANNEL_ASPECTS~GET_PROCTYPES_FOR_CREATE
IF_CRM_UIU_BT_CHANNEL_ASPECTS~AFTER_LEAD_MERGED
IF_CRM_UIU_BT_CHANNEL_ASPECTS~SET_CURRENTBT

Another class which is of importance when working with UIU views (both ERP and CRM business transactions) in Interaction Center is CL_CRM_IC_BOL_TX_HANDLER, which is application controller of IC application component BOL_TX_HANDLER, (defined in table table CRMS_IC_APP_COMP). It is instanced during startup of Interaction Center Webclient for the agent session and is also used to integrate business transactions of UIU components in Interaction Center. It is registered for IC events END Interaction, BP Confirm, Confirm CP, Cancel Interaction. Similar to Global Custom Controller CuCoBT which is used for IC specific views, it implements interface  IF_ICCMP_CUCOBT_BOL_TRANS Transactional Context of Business Transaction with methods:

EDIT Instance Method          Execute Edit of a BT (Switch to change mode)

NEW Instance Method          Execute Create of a BT

REVERT Instance Method   Execute Revert of a BT (Discard Changes)

SAVE Instance Method        Execute Save of a BT

Good to know:
UIU integration has been introduced by note

1408382 Interaction Center Business Transactions in CRM 7.0

and is not supported in CRM 2007 and below.

Hints

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Abhishek Sinha

    Hi Sigrid,

    Your blog is really helpful. I have a requirement where i have a give a popup on click on END button. I got the popup by registering IF_CRM_IC_EVENT_LISTENER on the controller.

    I am facing issue when user has clicked on “NO” button from the popup then all changes should be reverted.

    Could you please let me know how to achieve it ?

    Thanks,
    Abhishek

    (0) 

Leave a Reply