✒️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
Ampliaciones: Son diferentes herramientas que presenta SAP para realizar mejoras, modificaciones o agregados a un programa estandard del sistema.
Algunos programas estandares estan preparados como para agregarles funcionalidad nueva a la existente.
Las ampliaciones se generan y codigican en modulos aparte del codigo estandard, con lo cual no se necesita modifcarlo, manteniendo la funcionalidad original y el buen funcionamiento.
Las principales ventajas que se presentan las ampliaciones son:
- Permiten modificar ciertos programas para adaptarlos a necesidades particulares de la empresa, agregando nuevas caracteristicas a las existentes.
- Permiten realizar mejoras a un programa sin modificar el codigo original del mismo, manteniendo el buen funcionamiento y las caracteristicas que tenia.
- Los cambios toman efecto con solo transportar los nuevos objetos.
Las principales desventajas que presenta las ampliaciones son:
- No siempre se pueden hacer todas las modificaciones de manera satisfactoria, ya que la mayoria de las ampliaciones están preparadas para una determinada tarea y momento dentro de la ejecución un programa.
- No todos los programas estandares están preparados para agregar todos los tipos de ampliaciones.
En SAP existen varios tipos de ampliaciones, que son utilizados de acuerdo al tipo de mejora o requerimiento que se quiera desarrollar, cada una con sus particulares, las mas importantes son:
- User Exits
- Customer Exits o Exits de cliente
- Keyword Exits
- Field Exits o Exits de campo
- Estructuras append
- Badis
- Enhancements
- Menu Exits
User Exit: Es una subrutina definida dentro de un programa estandar ABAP que esta hueca, es decir sin código, que esta allí para que el usuario ponga su propio código fuente que le permita realizar tareas especificas que no están previstas por SAP.
El codigo ABAP que se insertará dentro del user exit puede colocarse dentro de un INCLUDE que comenzará con Z, por lo que no necesita una clave de acceso de SAP.
Customer Exit: Tambien llamado Exit de cliente es un punto dentro de un programa en donde se puede llamadar a un programa propio.
Se ejecutan desde un programa estandar haciendo una invocación a un modulo de función. Los customer exit son llamados dentro de los programas estandar a traves de un numero. En la tabla MODSAP se encuentran todos los modulos de función que se utilizan en los Exits de cliente.
Los tipos que encontraremos en ella son:
- E para Exit's de funciones
- S para imagenes
- T para tablas
- C para codigo GUI
Los modulos de función tiene una nomenclatura estandar EXIT _<Nombre del programa>_<No. de función>
La llamada a un exit de un modulo de función es implementada de la siguiente forma en un programa estandar de SAP.
CALL CUSTOMER-FUNCTION<3 digitos>
Las principales ventjaas que se presenta un customer exit son:
- El customer exit es una buena herramienta para agregar funcionalidad nueva a un programa estandar como puede ser una validación o la ejecución de rutinas de control sin modificar el codigo original.
- Para transportar y activar los customer exit es suficiente con el include nuevo unicamente, sin tocar el programa original.
Las principales desventajas que presenta un customer exit son:
- No siempre se ajusta el customer exit a las necesidades del programador ya que los objetos que importa o exporta son fijos y pueden no tener todos los objetos que se requieren.
- No existe una busqueda de customer exit por programa con una aclaración amplia de su utilización, para buscarlos hay que realizar una busqueda del string CALL CUSTOMER-FUNCTION dentro del programa de control estanadar y su funcionamiento se prueba sin saber exactamente si es correcto para lo que se quiere hacer.
Para trabajar con sutomer exit vamos a utilizar principalmente las transacciones:
- SMOD: Para administrar las ampliaciones
- CMOD: Para la gestión de proyectos de ampliaciones
Una vez terminada la codificación, la ampliación debe activarse e incluirse en un proyecto. Los proyectos son creados en la transacción CMOD. Allí se debe generar un proyecto Z e el cual se incluirán las ampliaciones que se desee. para agrupar, clasificar y controlar los customer exit crearemos un proyecto de ampliación.
Para probar los customer exit.
Para realizar la investigación, lo mas efectivo será crear un proyecto de ampliación, asignar la ampliación, activarla y luego colocar un breakpoint en el modulo 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 Marvin Raul Lopez Morales, en su ámbito de estudios para la Carrera Consultor ABAP.
Marvin Raul Lopez Morales
Profesión: Consultor Senior Sap / Abap It - Guatemala - Legajo: WP66T
✒️Autor de: 157 Publicaciones Académicas
🎓Cursando Actualmente: Consultor SAP Fiori
🎓Egresado de los módulos:
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Soy ingeniero en sistemas y cuento con mas de 20 años de experiencia en el área de informatica, tambien he participado en la implementación, migración y configuración de sap-erp para varias empresas.
Certificación Académica de Marvin Lopez