
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
4 | |
3 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 | |
1 |