✒️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 EXISTS: Diferentes herramientas de SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema. Se puede agregar una funcionalidad nueva, campos a una dynpro, opciones a un menú, campos a tablas estándar... Las ampliaciones se generan y codifican en módulos aparte, lo que mantiene la funcionalidad original y buen funcionamiento.
VENTAJAS:
- Permiten modificar ciertos programas para adaptarlos a necesidades particulares, agregando características a las existentes.
- Permiten realizar mejoras a un programa sin modificar el código original del mismo.
- Los cambios requieren únicamente el transporte de los nuevos objetos.
DESVENTAJAS:
- No siempre es posible realizar las m odificaciones satisfactoriamente, puesto que las ampliaciones están preparadas para una determinada tarea y momento en la ejecución de un programa.
- No todos los programas estándares están preparados para agregar todos los tipos de ampliaciones.
AMPLIACIONES MAS IMPORTANTES:
- USER EXITS
- CUSTOMER EXITS (exits de cliente)
- KEYWORD EXITS
- FIELD EXITS (exits de campo)
- ESTRUCTURAS APPEND
- BADIS
- ENHACEMENTS
- MENU EXITS
USER EXITS: (USEREXIT_XXXXXXX). Subrutina definida dentro de un programa estándar ABAP que está hueca (sin código) para que el usuario ponga su propio código fuente que le permita realizar tareas especificas que no están previstas en SAP. Son propias del modulo SD (ventas y distribución) y no existen en otros modulos de SAP. Tiene implementación en forma de subrutinas.
FORM USEREXIT_XXXXXXXX ........ ....... ENDFORM.
Se ha de encontrar el User Exit correcto y comprobar que sirve para nuestro propósito. El código ABAP a insertar denro del User Exit puede hacerse dentro de un INCLUDE que comenzara con Z o suelto. (no se necesita una clave de acceso de ABAP). No se pueden generar nuevos huecos de user exit.
CUSTOMER EXITS: Exit de Cliente, son un punto dentro de un programa en donde se puede llamar a un programa propio.
Se ejecutan haciendo una invocacion a un módulo de función. Son llamadosdentro de los pgm estándar a través de un número (terminación del nombre del módulo de función asociado al programa. En la tabla MODSAP se encuentran todos lo módulos de función de los Exits de cliente.
Tabla MODSAP:
La tabla base de datos estándar MODSAP almacena todas la ampliaciones existentes en el sistema SAP. De cada ampliación se guarda: el nombre de la ampliación, el tipo de componente que puede ser "E" para Exit de funciones, "S" para Imágenes, "T" para Tablas y "C" para Código GUI y finalmente el nombre del objeto SAP (Programa, módulo de función, etc) que se modifica.
La nomenclatura para los módulos de función es: EXIT_nombre-pgm_numero-funcion.
VENTAJAS:
- El Customer Exit es una buena herramienta para agrear nueva funcionalidad a programas estándar (validaciones, ejecución de rutinas de control sin modificación del código original).
- Para el transporte y activación es suficiente con el INCLUDE nuevo, sin tocar el programa original.
DESVENTAJAS:
- No siempre se ajusta a las necesidades del programados, puesto que pueden no tener todos los objetos requeridos.
- No existe una búsqueda de Customer Exit por programa con aclaración de su utilización. Es necesario realizar una búsqueda del string CALL CUSTOMER-FUNCTION en el programa de control estándar y se prueba su funcionamiento sin saber si es el correcto para lo deseado.
Se utilizan las transacciones SMOD (administración) y CMOD (gestion de proyectos).
PASOS PARA REALIZAR UN CUSTOMER EXIT:
SMOD: Nombre de Ampliación que contiene el módulo de función a utilizar por el Customer Exit. Si no se conoce hay que ir a SE16, con MODSAP en Member, nombre modulo de función a buscar y en NAME dira la ampliación que la contiene.Si no se conoce el modulo de función, se debe buscar en el código del programa estándar las llamadas a funciones de usuario indicadas por CALL CUSTOMER_FUNTION '001' (el nuimero del final puede ir cambiando si existe mas de una llamada, varios customer exits).
Una vez encontrada la ampliación, se pone en Ampliación de la transacción SMOD y visualizamos. Y después seleccionamos Componentes. Seleccionamos que modulo usar y hacemos doble click para ver los objetos importados y exportados, tablas... que serán utilizadas en el código fuente. En la sol,apa Cód.fte include Z para agregar el código del usuario. (en las ultimas versiones ZX).
Si no existe el include se solicita la orden de transporte para generarlo. Generar código utilizando los objetos de las solapas Import, Modif y Tablas y devolver resultados modificando loos objetos de Export, Modif y Tablas. Se debe activar o inclkuir en un proyecto.
La agrupación, clasificación y control de Customer Exits se realiza creando un proyecto de ampliación. Se crean desde la transacción CMOD, Realizamos la creación > Asignación ampliación > Componentes y Activamos.Sepueden anular pulsando el botón desactivar.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio De Tejada Santiago, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Ignacio De Tejada Santiago
Profesión: Informatico - España - Legajo: NW89P
✒️Autor de: 219 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Juan De