✒️ABAP / Las Ampliaciones: los User Exits y los Customer Exits Por Roberto Fluder Ahumada
ABAP Las Ampliaciones: los User Exits y los Customer Exits

lección "Las Ampliaciones: los User Exits y los Customer Exits"
Introducción a las Ampliaciones
• Descripción General de las Ampliaciones: Las ampliaciones en SAP son herramientas que permiten agregar funcionalidad nueva a programas estándar sin modificar su código original, asegurando su buen funcionamiento. Esto permite insertar validaciones, nuevos campos con su lógica, opciones de menú, o campos en tablas de base de datos estándar en lugares preparados por SAP.
· â—¦ Ventajas de las Ampliaciones: Permiten adaptar programas a necesidades específicas de la empresa y realizar mejoras sin modificar el código original, con cambios que se activan al transportar nuevos objetos.
· â—¦ Desventajas de las Ampliaciones: No siempre permiten todas las modificaciones deseadas, ya que están diseñadas para tareas y momentos específicos, y no todos los programas estándar soportan todos los tipos de ampliaciones.
· â—¦ Tipos de Ampliaciones: Existen varios tipos como User Exits, Customer Exits, Keyword Exits, Field Exits, Estructuras Append, Badis, Enhancements y Menú Exits, cada uno con sus particularidades.
1 | ¿Qué es una Ampliación?
• Descripción: Las ampliaciones son herramientas de SAP que posibilitan mejoras, modificaciones o adiciones a programas estándar del sistema.
2 | Los User Exits
• Descripción: Un User Exit es una subrutina "hueca" o sin código dentro de un programa ABAP estándar, diseñada para que el usuario inserte su lógica personalizada.
â—¦ Características de los User Exits: Fueron las primeras ampliaciones de SAP, son exclusivas del módulo SD, se implementan como subrutinas y siempre siguen la nomenclatura USEREXIT_XXXXXXXX.
â—¦ Problemas de los User Exits: El desafío principal es encontrar el User Exit adecuado y verificar su utilidad para el propósito específico, insertando el código ABAP en un INCLUDE que suele comenzar con Z.
â—¦ Transacción VA02: Esta transacción estándar se usa para modificar pedidos de ventas, y aunque algunos módulos SD aún los utilizan, las nuevas extensiones de código SAP emplean otros tipos de ampliaciones.
3 | Los Customer Exits
• Descripción: Un Customer Exit (o Exit de Cliente) es un punto en un programa estándar desde el cual se puede invocar un programa propio.
o â—¦ Características de los Customer Exits: Son invocados en programas estándar a través de módulos de funciones nombrados con una terminación numérica (ej. EXIT_SAPMV45A_003) y listados en la tabla MODSAP.
o â—¦ Tabla MODSAP: Es una tabla de base de datos estándar que almacena todas las ampliaciones del sistema SAP, detallando su nombre, tipo de componente y el objeto SAP modificado.
o â—¦ Ventajas de los Customer Exits: Permiten añadir funcionalidad a programas estándar, como validaciones o rutinas de control, sin modificar el código original, y su transporte requiere solo la activación del nuevo Include.
o â—¦ Desventajas de los Customer Exits: Sus objetos de importación/exportación son fijos y pueden no cubrir todas las necesidades, y la búsqueda por programa no es intuitiva, lo que dificulta determinar el Exit correcto.
o â—¦ Transacciones SMOD y CMOD: SMOD se utiliza para la administración de las ampliaciones, mientras que CMOD se usa para la gestión de proyectos de ampliaciones.
4 | Los pasos para implementar un Customer Exit
• Primer paso (buscar nombre de ampliación): Se comienza en la transacción SMOD, pero si se desconoce el nombre de la ampliación, se puede buscar en la tabla MODSAP (transacción SE16) o directamente en el código del programa estándar buscando "CALL CUSTOMER-FUNCTION 'XXX'".
• Visualizar componentes de la ampliación: Después de obtener el nombre de la ampliación, se visualiza en SMOD y se accede a sus componentes para ver los módulos de funciones asociados.
• Crear e introducir código en el Include: Dentro del módulo de funciones, en la solapa de código fuente, se encuentra un Include (Z o ZX), que se debe crear si no existe, para insertar el código ABAP personalizado.
• Crear y activar un proyecto de ampliación: Una vez finalizada la codificación, la ampliación debe integrarse en un proyecto Z creado en la transacción CMOD, el cual agrupa y controla múltiples ampliaciones, activándose para que los cambios tengan efecto.
5 | ¿Cómo probar un Customer Exit?
• Método para probar un Customer Exit: Para entender su comportamiento y los datos disponibles, se recomienda crear un proyecto de ampliación, activarlo y establecer un Breakpoint en el módulo de funciones para depurar el proceso.
 
 
 
Sobre el autor
Publicación académica de Roberto Fluder Ahumada, en su ámbito de estudios para el Curso SAP ABAP Avanzado.
Roberto Fluder Ahumada
Profesión: Analista de Sistemas - Chile - Legajo: TD38U
✒️Autor de: 59 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Roberto Fluder






Disponibilidad Laboral: FullTime


















