![](/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/136.jpg)
AMPLIACIONES
En SAP, son para extender la funcionalidad dentro de los programas estándar de SAP.
Tomar en cuenta que no todos los programas están adecuado para soportar todos los tipos de Ampliación.
Las más importantes son:
User Exits
Customer Exits o Exists del cliente
Keyword Exits
Field Exits o Exits de Campo
Estructuras Append
Badis
Enhancements
Menú Exits
Estas ampliaciones se realizan en módulos aparte y no afectan a la funcionalidad estándar ni las características existentes.
USER EXITS
Subrutina definida dentro de un Prog. abap que está vacía sin codigo(huecos que deja SAP), y se utiliza para agregar otra funcionalidad que se necesite no prevista por sap.
Primer tipo de amplición que introdujo SAP, solo existen en el módulo SD (ventas y distribución). nombre
FORM USEREXIT_XXXXXXXX.
..
ENDFORM.
Encontrar el User Exit correcto, que sirva para nuestro propósito, el código se puede insertar en un Include Z o no.
CUSTOMER EXITS
Tambien llamado Exits del Cliente. Es un punto dentro de un Prog. en donde se puede llamar a un Prog. propio.
Se ejecutan desde un Prog. estándar haciendo una invocación a un módulo de función, que pueden ser modificables por el desarrollador. los customer exit se llaman a través de un número que es la terminación del nombre del módulo de funcion que está asociado al prog.
En la tabla MODSAP se encuentran todos los módulos que se utilizan en los Customer Exits. almacena todas las ampliaciones existentes en SAP.
De cada ampliación se guarda NOMBRE de la ampliación, TIPO de componente y NOMBRE DE OBJETO que se modifica.
TIPOS: "E" para Exits de funciones,
"S" para imágenes
"T" para Tablas
"C" para código GUI
--> Nomenclatura - EXIT_<nom prog>_<num func>
Ejem. EXIT_SAPMV45A_003
--> Llamada de Exit = CALL CUSTOMER-FUNCTION <3 dígitos>
CALL CUSTOMER-FUNCTION '100'
EXPORTING
TABLES
changing
*Ventajas:
Customer Exit. buena herramienta para agregar funcionalidad nueva a un prog. estándar, como validaciones o ejec de rutinas de control sin modif el código estándar.
Para transportar y activar los customer exit es suficiente con el Include nuevo.
*Desventajas:
No siempre se ajusta a las necesidades, ya que los objs que importa/exporta son fijos y puede no tener todos los objs que se requieren.
No existe una búsqueda de Customer Exit por prog. con una aclaración amplia de su utilización.para buscarlos solo por búsqueda del string "CALL CUSTOMER-FUNCTION" Y su funcionamiento se prueba sin saber si es correcto para lo que se quiere.
Se utilizan 2 transacciones:
SMOD, para administrar las ampliaciones.
CMOD: para la gestión de proyectos de ampliaciones.
***Pasos para el Customer Exit:
1 Transac. SMOD, llenar nombre de ampliación que contiene el módulo de función a utilizar por el customer Exit.
2. sino se conoce el nombre, ir a SE16 con la tabla MODSAP, en el campo MEMBER completar el nom del módulo de func a buscar y el campo NAME, dirá la ampliación que la contiene.
3. Si tampoco se conoce el módulo de función específico, debe buscarse en el código del prog estándar las llamadas a funciones de usuario, que estarán indicadas por CALL CUSTUMER-FUNCTION '001'. este último número puede cambiar si hay más de 1 llamada, cuando hay más de un customer exit.
--> Ya con el nombre de la ampliación se busca en la SMOD y visualizar sus componentes y se visualizarán todos los módulos de funciones que contienen esta ampliación.
4. Abrir el módulo de funcion y ahi viene indicado include donde se pone el código ABAP, sino está creado al dar doble click sobre el, pedirá crearlo y asignarle una orden de transporte, generar la codificacion en el include, activar la ampliación en un proyecto; los proyectos son creados con CMOD; generar un proy. Z en el cual se incluyen las ampliaciones que se deseen.
Por lo tanto la activación o desactivación de un proyecto afecta a todas las ampliaciones que este incluye.El nombre debe empezar con Z...
Cada componente es el Exit, donde se pone la validación o proceso a controlar con la ampliación.Una vez listo se debe activar el proyecto, si se desea anular la activación del proyecto con el icono al lado del de activar.
Lo complicado es probar un Customer Exit, lo mejor es una vez que se tiene el proyecto de ampliación, asignarla, activarla y colocar un BreakPoint en el modulo de funciones.
FIELD EXITS O EXITS DE CAMPO.
Estructuras Appends
Badis
Enhancements
Menú Exits
 
 
 
Sobre el autor
Publicación académica de Elda Martinez Soto, en su ámbito de estudios para la Carrera Consultor ABAP.
Elda Martinez Soto
Profesión: Ing. en Sistemas Computacionales - Mexico - Legajo: WW94O
✒️Autor de: 30 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Elda Martinez