✒️ABAP - Ampliaciones: User Exits y Customer Exits

ABAP Ampliaciones: User Exits y 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 Programador ABAP.

SAP Expert

Juan Ignacio De Tejada Santiago

Profesión: Informatico - España - Legajo: NW89P

✒️Autor de: 219 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Juan De

 

:: Al igual que Juan ¿Usted está dispuesto a aprender ABAP?

El lunes 17 Mayo 2021 comenzamos la 🎓Carrera Programador ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

📗 EBOOKS FREE:

Si le interesa la Tecnología SAP, pase por nuestra sección Ebooks Free y descargue uno de los 10 Ebooks libres y gratuitos que hemos desarrollado para compartir juntos.

✒️Más Publicaciones Académicas sobre Tecnología SAP:

Buscador de Publicaciones:


 

🌈Recursos Free

Los mejores recursos Libres y Gratuitos compartidos con la comunidad:

 

 

Consultas y Soporte

👋Hola! ¿Podemos ayudarle con su plan de estudios?

Estamos listos para darle el soporte que su carrera merece mediante un asesoramiento especializado.

Acceda sección contacto y seleccione canal de comunicación más cómodo para usted.

🤝Aguardamos su contacto, Éxitos!