Una user exit y un BAdI (Business Add-In) son puntos de ampliación que SAP deja preparados en sus programas para que cada empresa añada lógica propia sin modificar el código estándar. Así se adapta el sistema al negocio y se conservan las actualizaciones futuras.
Cómo se diferencian
- User exits y customer exits: técnica clásica. Los customer exits se activan con proyectos en CMOD a partir de ampliaciones de SMOD; otras user exits son módulos de función o includes preparados para el código del cliente.
- BAdI: técnica orientada a objetos. SAP define el BAdI con una interfaz (SE18) y la empresa crea su implementación (SE19). Admite varias implementaciones y filtros, y es la opción preferente hoy.
Cómo localizar el punto adecuado
Se busca primero en la documentación y en las notas SAP; después se rastrea con el debugger, por ejemplo con un punto de interrupción en el método GET_INSTANCE de la clase CL_EXITHANDLER para los BAdIs clásicos. Cada implementación es un objeto de desarrollo y viaja en una orden de transporte.
Más en TodoSAP: