SAP CRM 7.0 – Deshabilitar ampliaciones y ejecutar código estándar

¡Atención que va un truco! Si tenemos problemas en el comportamiento de nuestro sistema en alguno de sus procesos y no tenemos claro si el error está en el código estándar o en nuestras ampliaciones de componentes tenemos varias posibilidades para deshabilitar las ampliaciones y realizar pruebas:

Parámetro de usuario WCF_IGNORE_ENHANCEMT

Como podemos ver en la nota 1311966 – Switching off customer enhancements for symptom analysis introduciendo este parámetro en nuestro usuario en la SU3 como valor ‘A’ deshabilitamos todas las ampliaciones al respecto de:

  • Enhancement Sets
  • UI Configurations
  • UI Personalizations
  • Field labels in text repository
  • Changes in Design Layer (design objects and assignments)
  • Table Enhancements (7.0 EhP 1)
  • Embedded Rapid Applications (7.0 EhP 1)
  • Mash-ups (7.0 EhP 1)
WCF_IGNORE_ENHANCEMT
WCF_IGNORE_ENHANCEMT

Desactivación por debugging en la BADI «COMPONENT_LOADING»

Como podemos ver en la nota 1718834 – How to switch off customer enhancements without disabling customer UI configurations and personalizations poniendo un breakpoint en la implementación «DEFAULT» de esta badi podremos quitar el set de ampliación del parámetro de salida RV_RETURN dejándolo vacío.

BADI DEFAULT
BADI DEFAULT

Quitando el Enhancement Set de BSPWDVC_CMP_EXT

Si vemos la nota 1669186 – How to check if an issue is caused by the enhancement of a specified component/view vemos que propone también que entremos en la tabla BSPWDVC_CMP_EXT con la SM34. Con esto no se ejecutará el código del enhancement set y podremos probar el estandar.

Quitando el Enhancement Set de BSPWDV_EHSET_ASG

En la tabla BSPWDV_EHSET_ASG asignamos un enhancement set a un mandante, quitando el enhancement set de esta tabla con la SM30 será suficiente para que no se ejecute.

Quitando las ampliaciones sobre componentes por debugging

Como podemos ver en How to check and identify whether an issue on CRM WebUI is caused by enhancement of some component or view tambien podemos poner un breakpoint en  CL_BSP_WD_COMPONENT_DESCRIPTOR->CONSTRUCTOR y ejecutar nuestro componente a probar, una vez parado lo que hace este método es buscar en la tabla BSPWD_CMP_C_REPL donde están todas las vistas ampliadas para ver si hay alguna vista de reemplazo. Lo que tendremos que hacer es quitar este reemplado por debugging de la tabla de LT_REPLACEMENTS.

Desactivar las BAdIs que afecten

Como última mención sería recomendable desactivar las BAdIs que hallamos implantado que afecten al proceso que estamos probando. Para ello directamente en la SE19 y una por una las desactivaremos.