Skip to end of metadata
Go to start of metadata

Applies to:

SAP CRM, Web IC.

Summary

                 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.

Author(s):  

   

Created on:    09/01/2010
Author(s) Bio

          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

1. Introduction

           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

Intent Driven Interaction  

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.

  • No labels