✒️ABAP Las Ampliaciones: los User Exits y los Customer Exits
ABAP Las Ampliaciones: los User Exits y los Customer Exits
Ampliaciones. User Exits y Customer Exits
¿Qué es una Ampliación?
Son diferentes herramientas que tiene SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema.
Ventajas:
Permiten modificar ciertos programas para adaptarlos a necesidades particulares de la empresa, agregando nuevas características a las existentes, sin tener que modificar el código original manteniendo el buen funcionamiento y las características que tenía.
Los cambios toman efecto con solo transportar los nuevos objetos.
Desventajas:
No siempre se pueden hacer todas las modificaciones de manera satisfactoria, ya que la mayoría de las ampliaciones están preparadas para una determinada tarea y momento dentro de la ejecución del programa.
No todos los programas estándares están preparados para agregar todos los tipos de ampliaciones
Los tipos mas importantes de ampliaciones son:
- User Exits
- Customer exits o Exits de Cliente
- Keyword Exits
- Field Exits o Exits de Campo
- Estructuras Append
- Badis
- Enhacements
- Menú Exits.
User Exits
Es una subrutina definida dentro de un programa estándar ABAP que está hueca, es decir sin código, está allí para que el usuario ponga su propio código fuente que le permita realizar tareas específicas que no están previstas por SAP.
Fueron las primeras ampliaciones que introdujo SAP.
Son propias del módulo SD. No existen en otros módulos de SAP.
Están implementadas en forma de subrutinas.
Todos los User Exits están nombrados por SAP como USEREXIT_XXXXXXXX
Customer Exits
También llamado Exit de cliente y es un punto dentro de un programa en donde se puede llamar a un programa. propio.
Los Customer Exit son llamados dentro de los programas estándares a través de un número.
Este número es la terminación del nombre del módulo de función que esta asociado al programa.
OJO: En la tabla MODSAP se encuentran todos los módulos de función que se utilizan en los exits de cliente.
Los módulos de función tienen una nomenclatura estándar:
EXIT _<nombre programa>_<Número de función
Ejemplo: EXIT_SAPMV45A_003.
La llamada a un exit de un módulo de función es implementada de la ssiguiente forma en un programa estándar de SAP:
CALL CUSTOMER-FUNCTION <3 digitos>
Ventajas de un Customer Exit:
El customer exit es una buena herramienta para agregar funcionalidad nueva a un programa estándar sin necesidad de modificar el código original.
Para transportar y activar los Customer Exit es suficiente con el include nuevo únicamente, sin tocar el programa original.
Desventajas de un Customer Exit:
No siempre se ajusta el Customer Exit a las necesidades del programador, ya que los objetos que importa y exporta son fijos y pueden no tener todos los objetos que se requieren.
No existe una búsqueda de Customer exit por programa con una aclaración amplia de uso, para buscarlos hay que realizar una búsqueda del string CALL CUSTOMER-FUNCTION dentro del programa de control estándar.
Para trabajar con Customers Exits vamos a utilizar principalmente dos transacciones que son:
SMOD - Para administrar las ampliaciones.
CMOD - Para la gestión de proyecto de ampliaciones.
OJO: Utilizaremos estas dos transacciones estándar (SMOD y CMOD) para trabajar con los exits de cliente.
Pasos para realizar un Customer Exit
- Vamos a la tx SMOD para elegir que módulo de función que usaremos.
- Ingresamos a la tx CMOD para crear un proyecto y así poder agrupar. clasificar y controlar los Customer Exit.
Cómo probar un Customer Exit?
Creamos un proyecto de ampliación, asignamos la ampliación, la activamos y luego colocamos un BreakPoint en el módulo de funciones para determinar los datos con los que disponemos en ese momento y el punto exacto del proceso en donde se encuentra.
 
 
 
Sobre el autor
Publicación académica de José Luis Zevallos Mamani, en su ámbito de estudios para la Carrera Consultor ABAP.
José Luis Zevallos Mamani
Profesión: Ingeniero de Sistemas - Peru - Legajo: MZ47M
✒️Autor de: 164 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster Funcional ABAP
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial