![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Las Ampliaciones: los User Exits y los Customer Exits
ABAP Las Ampliaciones: los User Exits y los Customer Exits
![ABAP Las Ampliaciones: los User Exits y los Customer Exits ABAP Las Ampliaciones: los User Exits y los Customer Exits](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/90.jpg)
1. ¿Que es una ampliacion?
Herramienta que se presenta en SAP para realizar mejoras, modificaciones o agregados aun programa estandar del sistema.
Tambien:
*Agregar funcionalidad nueva ala existente.
*Validar campos de una dynpro en paticular
*Agregar cmapos a una pantalla
*Agragar nueva opcion dentro de un menu
*Agregar campos a tablas estandares
Estas se generan y codifican en modulos aparte del codigo estandar.
Ventajas:
*Permiten modificar ciertos programas para adaptarlos alas necesiddes particulares de la empresa
*Permiten realizar mejoras a un programa sin modificar el codigo original
Los cambios toman efecto con solo transportar los nuevos objetos
Desventajas:
No siempre se puede hacer todas las modificaciones
*NO todos los programas estandar estan preparados para agregar todos los tipo de ampliaciones.
tipo de ampliaciones:
*User Exits
*Custumer Exits o Exits del cliente
*KeyWord Exits
*Field Exits o Exits de campo
*Estructuras append
*Badis
*Enhancements
*Menu Exits
2. User Exits
Subrutina definida dentro de un programa estandar ABAP queta hueca, sin codigo, esta alli para que el usaurio ponga su propio
que le permita realizar tareas especificas.
Son las primeras ampliaciones que intrudujo SAP
Estan implementdos como Subrutinas
Estan nombrados en SAP como USEREXIT_XXXXXXXX.
El problema esta en encontrar el User Exits correcto para la tarea que debemos hacer.
El codigo puede ponerce dentro de un include que su nombre empiece con Z
3. Custumer Exits o Exits del cliente
Punto dentro de un programa en donde se puede llamar a un programa propio.
Hacen invocacion a un modulo de funcion
Algunos programas estandares tienen dentro llamadas a modulos de funciones que pueden ser modificados por el programador
Son llamados a travez de un numero, este numero es la terminacion del nombre del modulo de funcion que esta asociado al programa
En la tabla MODSAP (almacena todas las ampliaciones existentes) estan todos los modulos de funcion que se utilizan en los Exits
Se llaman asi: EXIT <nombre del programa>_<numero de funcion>
Ventajas:
*Buena herramienta para agregar funcionalidad nueva a un programa estandar como validaciones o ejecucion de rutinas de control
sin modificar el control original
*Para transportar y activar es suficiente con el include nuevo unicamente sin tocar el programa original
Desventajas:
*No siempre se ajusta a las necesidades del programador ya que los objetos que importa o exporta son fijos
*No existe una busqueda por programa con la aclaracion amplia de su utilizacion, para buscarlos hay que realizar una
busqueda del string CALL COSTUMER-FUNTION dentro del programa de control estandar
Para traajar con los Costumer Exits las transaciones son:
*SMOD: para administrar las amplicaciones
*CMOD: para la gestion de proyectos de amplicaiones
4. Pasos para realizar un Custumer Exit
Transaccion SMOD, completamos el nombre de la ampliacion que contiene el modulo de funcion a utilizar por el Custumer Exit
Si aun no lo conoces vamos ala SE16N tabla MODSAP y en el campo MEMBER completamos el nombre del modulo de funcion a buscar
y el campo NAME nos dira la ampliacion que la contiene
Si tampoco de conoce el modulo de funcion debe buscarce en el codigo del programa estandar las llamadas a funciones de usuario que
indicadas por el CALL COSTUMER-FUNTION'001' donde el numero final puede ir cambiando si presenta mas de una llamada, es decir varios
Customer exit
Ya que tenemos el nombre de la ampliacion, lo colocamos en el campo ampliacion de la transaccion SMOD y precionamos visualizar
Precionamos componente y se visualizaran todos los modulos de funciones que contiene la ampliacion
una vez que ya se sabe que el modulo de funcion usar se debe hacer doble click sobre el mismo y se derivara a otra pantalla, en la cual
se puede ver que objetos importa y exporta esta funcion, como asi tambien las tablas que importa y que pueden modificarse, las cuales se
utilizaran en e codigo fuente
En la pestaña Cod.fte. se encuentra el include Z que seutiliza pra agregar el codigo del usuario.
Una vez dentro del include (creado si noexistia) es posible generar codigo ABAP utilizando todos los objetos de la pestaña de
Import, Modific y Tablas, pudiendo resolver resultados modifcando los objetos en las pestañas de Export, Modif y Tablas
Terminada la codificaciion la ampliacion debe activarse e incluirce en un proyecto (crados en la SMOD)
Un proyecto de ampliacion asocia N ampliaciones
la tranascion para acceder a los proyectos de ampliacion es la CMOD.
Ingresamos el proyecto a crear (nombre empezando por Z)
Boton de Asignar ampliacion
Precionamos componenetes
Vamos a activar la amplaicion precionando el boton de activacion, cada unos de los componentes son Exits de la ampliacion, es alli donde
se debe incorportar el codigo de validacion o proceso a controlar con la ampliacion
5. ¿Como provar un Custumer Exit?
Se puede poner un BrakePoint para ir determinando en que momento del proceso es donde se encuentra.
 
 
 
Sobre el autor
Publicación académica de Juan Antonio Alvarado Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Antonio Alvarado Rodriguez
Profesión: Ingeniero Programador Abap - Mexico - Legajo: BZ30A
✒️Autor de: 31 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime