SAP CRM, Web IC.
When we click the End Call in Web IC, Interaction center is designed in such a way that all unsaved data from current interaction gets Saved. At the same time End call message published to CTI. All the application errors are ignored, Data gets saved with out any checks. This wiki describes a possible solution to resolve this data integrity issue.
Created on: 09/01/2010
Ranga Kurupati is currently working as a CRM Consultant focusing in Win IC, Web IC , Sales, Service and Marketing areas. As a consultant, He also worked on other SRM,cProjects, Travel and Expense management and Workflow related projects.
Table of Contents
The End button in CRM WebIC saves data with out performing any data validations. This is a data Integrity issue. This issue can be resolved by implementing a data loss pop up on End call. The data loss pop solves data integrity issue but this pop up does not stop End call message going out to CTI. So we need to stop End message to CTI to avoid receiving new call when user is still working on current call.
2. Data Loss Pop-up on End Call
Implement an enhancement point on the top of the method CL_CRMCMP_I_HIDDENVIEW_IMPL->EH_ONFORWARDCALL.Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
LR_BOL_CORE = CL_CRM_BOL_CORE=>GET_INSTANCE( ). *** GET GLOBAL TRANSACTION LR_TRANSACTION = LR_BOL_CORE->GET_TRANSACTION( ). *** CHECK FOR UNSAVED DATA LV_SAVE_NEEDED = LR_TRANSACTION->CHECK_SAVE_NEEDED( ) *** SHOW POPUP IF LR_CONFIRM_POPUP IS NOT BOUND. CALL METHOD COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP_2_CONFIRM EXPORTING IV_TITLE = 'Save or Cancel the unsaved data' IV_TEXT = 'Click Save or Cancel first.' IV_BTNCOMBINATION = IF_BSP_WD_WINDOW_MANAGER=>CO_BTNCOMB_OK RECEIVING RV_RESULT = LR_CONFIRM_POPUP. LR_CONFIRM_POPUP->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ). LR_CONFIRM_POPUP->SET_ON_CLOSE_EVENT( IV_EVENT_NAME = 'GOING_NOWHERE' IV_VIEW = ME ). ENDIF. LR_CONFIRM_POPUP->OPEN( ).
3. Stop End Call Message to CTI
If you are not implementing CTI you can skip this step. If you have CTI integrated with CRM Web IC you have a problem with above code.In a normal scenario, when the user clicks End call, Web IC navigates to Account Identification view and the End message gets delivered to CTI. With the above custom code the control stops in the transaction where user is actively working, but End message still gets delivered to CTI which is not correct. Both tasks should happen simultaneously. You need to implement the code as described below.
Implement another enhancement point on top of the method CL_CRM_MCM_CONTACT->WRAP_UP_ENDED
Just RETURN from this method with out executing any code when Data Loss pop up was called as explained in previous step.
4. Related Content
Web IC- End call
End call saves the data automatically with out doing any data validations or mandatory field checks.This wiki describes a solution to avoid auto save on End call.