![](/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/170.jpg)
UNIDAD 3 Lección 1: Ampliaciones - User exists y Customer exists Qué son las Ampliación: - Son diferentes herramientas en SAP para realizar mejoras, modificaciones o agregados a un programa standard del sistema. - Se pueden validar campos de alguna dynpro, agregar campos a una pantalla o tabla, agregar una nueva opción en un menú, etc. - Las ampliaciones se generan y codifican en módulos aparte del código standard, manteniendo la funcionalidad original y el buen funcionamiento. Ventajas: - Permiten modificar ciertos programas, agregando nuevas características a las existentes, sin modificar el código original del mismo. - Los cambios toman efecto con sólo transportar los nuevos objetos. Desventajas: - No siempre es posible realizar las modificaciones requeridas, pues la mayoría de 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. Tipos de Ampliaciones: - User exits, Customer exits, KeyWord exits, Field exits, Estructuras Append, Badis, Enhancements, Menú exits. User exits: - Subrutina dentro de un programa standard ABAP que está hueca (sin código), disponibles para que el usuario ponga su propio código fuente que le permita realizar tareas específicas que no están previstas por SAP. - Son las primeras ampliaciones que introdujo SAP. - Son propias y exclusivas del módulo SD (Ventas y Distribución), pero ya no se usa para nuevas extensiones SAP. - Nomenclatura: form USEREXIT_XXXXXXXX. (…) endform. - El principal problema está en encontrar el User exit correcto, verificando que sirva para nuestro propósito. - El código ABAP que se inserte puede estar en un INCLUDE “Z” o sino suelto. - Para registrar los User exits no se requiere clave de accesos SAP. - NO es posible generar nuevos User exits. Customer exits: - Punto dentro de un programa standard en donde se puede llamar a un programa propio. - Desde programa standard invocan a módulo de función. - Los Customer exits son llamados dentro de los programas estándares a través de un número, que está asociado al módulo de función asociado al programa. - Tabla MODSAP: almacena todos los módulos de función que se usan en los Customer exits. - Nomenclatura: EXIT_<programa>_<#función-3dig>., luego CALL CUSTOMER-FUNCTION '###'. - Ventajas: * Permite agregar funcionalidad (validaciones, ejecución rutinas de control, etc.). * Para transportar y activar los Customer exit es suficiente con el INCLUDE nuevo únicamente, sin tocar programa original. - Desventajas: * Objetos que IMPORTA y EXPORTA el Customer exit son fijos, y no se pueden añadir otros objetos. * Los Customer Exits se debe buscar buscando la cadena CALL CUSTOMER-FUNCTION dentro del programa standard, y se debe verificar si se ajusta a requerimiento del programador. - Los Customer exits se trabajan con las Trx SMOD y CMOD. * Trx SMOD: Administrar ampliaciones * Trx CMOD: Gestión de proyectos de ampliaciones - Pasos para realizar un Customer exit: Obtener nombre de ampliación: En Trx SE16 y con tabla MODSAP, buscar campo MEMBER con nombre módulo función a buscar (:EXIT_SAPMV45A_003) y el campo NAME nos dirá la ampliación que la contiene. Buscar en código de programa standard la cadena CALL CUSTOMER-FUNCTION. En Trx SMOD ingresar ampliación (:V45A0003) y luego botón Visualizar. Luego botón Componentes. Verificar y seleccionar el módulo de función a usar, y darle doble click para ver objetos que se importan/exportan así como tablas que se pueden usar y modificar en Código fuente del usuario, en solapa Cód.Fte., en INCLUDE Z (o ZX). En Trx CMOD se crea proyecto Z, y se le asocian ampliaciones con el botón Asignación ampliación.
- Para probar un Customer exit se coloca breakpoint en módulo de funciones y se validan los datos disponibles.
Luego click en botón Componentes para visualizar componentes de c/ampliación.
En pantalla Componentes activamos ampliación presionando botón de activación.
Cada uno de esos componentes son los Exit de la ampliación, es allí donde se debe incorporar el código de validación o proceso a controlar con la ampliación.
Una vez activado el proyecto de ampliación pasará de color rojo a verde.
Podemos anular la activación del proyecto con el botón desactivar.
IMPORTANTE:
- Un Proyecto asocia N ampliaciones, y su activación o desactivación afecta a todas las ampliaciones asociadas.
- Si un Exit no está activo, la llamada a esta función no tendrá efecto alguno.
 
 
 
Sobre el autor
Publicación académica de Victor Wong, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Wong
Profesión: Técnico en Computación E Informática - Peru - Legajo: JK17P
✒️Autor de: 85 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor ABAP Nivel Inicial