✒️ABAP / Las Ampliaciones: los User Exits y los Customer Exits Por Ducelvis Arcia Cova

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

ABAP Las Ampliaciones: los User Exits y los Customer Exits

ABAP Las Ampliaciones: los User Exits y los Customer Exits

LAS AMPLIACIONES: LOS USER EXITS Y LOS CUSTOMER EXITS


AMPLIACIÓN

Son diferentes herramientas que presenta SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema.

Algunos programas estándares están preparados como para agregarles funcionalidad nueva a la existente.

En algunos casos se puede validar campos de alguna dynpro en particular, agregar campos a una pantalla con código que permita tratar esos datos nuevos; agregar una nueva opción dentro de un menú o agregar campos a tablas estándares.

Las ampliaciones se generan y codifican en módulos aparte del código estándar, con lo cual no se necesita modificarlo, manteniendo la funcionalidad original y el buen funcionamiento.

Las principales ventajas que presentan las ampliaciones son:

  • Permiten modificar ciertos programas para adaptarlos a necesidades particulares de la empresa, agregando nuevas características a las existentes.
  • Permiten realizar mejoras a un programa sin modificar el código original del mismo, manteniendo el buen funcionamiento y las características que tenía.
  • Los cambios toman efecto con sólo transportar los nuevos objetos.

Las principales desventajas que presentan las ampliaciones son:

  • No siempre se pueden hacer todas las modificaciones de manera satisfactoria, ya que la mayoría de las ampliaciones están preparadas para una determinada tarea y momento dentro de la ejecución de un programa.
  • No todos los programas estándares están preparados para agregar todos los tipos de ampliaciones.

En SAP existen varios tipos de ampliaciones, que son utilizados de acuerdo al tipo de mejora o requerimiento que se quiera desarrollar, cada una con sus particularidades que serán explicadas en detalle más adelante.


LOS USER EXITS

Es una subrutina definida dentro de un programa estándar de SAP que está hueca, es decir sin código, está allí 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 del módulo de SAP SD de ventas y distribución, no existen en otros módulos de SAP.

Están implementadas en la forma de subrutinas.

Todos los User Exit están nombrados por SAP como USEREXIT_XXXXXX.

El principal problema que presentan está en encontrar el User Exit correcto. Una vez que lo encontramos deberemos verificar que el mismo sirva para nuestro propósito.

El código ABAP que se insertará dentro del User Exit puede colocarse dentro de un INCLUDE que comenzará con Z o sino suelto.

Para ingresar código ABAP o modificar el código existente dentro de un User Exit, no se necesita una clave de acceso de SAP.

Ciertas aplicaciones del módulo SD todavía utilizan este tipo de ampliaciones pero esta práctica no se esta utilizando para nuevas extensiones al código SAP.

En su lugar se utilizan el resto de los tipos de ampliaciones disponibles, aunque vale tener en cuenta que los User Exits serán mantenidos por SAP en las nuevas versiones del sistema.

Los User Exit son huecos que genera SAP en el sistema estándar, estos huecos están ubicados en lugares determinados del sistema, es importante dejar en claro que no es posible generar nuevos huecos o User Exits sino que debemos trabajar únicamente con los ya existentes, sino encontramos el User Exit que se ajuste a nuestro requerimiento, entonces deberemos buscar otra alternativa de solución dentro de las demás soluciones de ampliaciones posible que ofrece SAP en el sistema.


LOS CUSTOMER EXITS

También llamado Exit de cliente es un punto dentro de un programa en donde se puede llamar a un programa propio.

Se ejecutan desde un programa estándar haciendo una invocación a un módulo de función.

Algunos programas estándares tienen dentro de su código, llamadas a módulos de funciones que pueden ser modificados por el programador.

Los Customer Exit son llamados dentro de los programas estándares a través de un número.

Este número es la terminación del nombre del módulo de función que está asociado al programa.

En la tabla MODSAP se encuentran todos los módulos de función que se utilizan en los Exits de cliente.

Los módulos de función tienen una nomenclatura estándar:

EXIT_nombre del programa_número de función.

Por ejemplo: EXIT_SAPMV45A_003.

La llamada a un exit de un módulo de función es implementada de la siguiente forma en un programa estándar de SAP:

CALL CUSTOMER-FUNCTION 3 dígitos.

Cada uno de estos módulos es llamado por el proceso estándar en ciertos momentos y ellos tienen por defecto algunos parámetros que son los disponinles dentro de la ampliación.

Las principales ventajas que presenta un Customer Exit:

  • El Customer Exit es una buena herramienta para agregar funcionalidad nueva a un programa estándar como puede ser una validación o la ejecución de rutinas de control sin modificar el código original.
  • Para transportar y activar los Customer Exit es suficiente con el include nuevo únicamente, sin tocar el programa original.

Las principales desventajas que presenta un Customer Exit son:

  • No siempre se ajusta el Customer Exit a las necesidades del programador ya que los objetos que importa o exporta son fijos y pueden no tener todos los objetos que se requieren.
  • No existe una búsqueda de Customer Exit por programa con una aclaración amplia de su utilización, para buscarlos hay que realizar una búsqueda del string CALL CUSTOMER-FUNCTION dentro del programa de control estándar y su funcionamiento se prueba sin saber exactamente si es el correcto para lo que se quiere hacer.

Para trabajar con Customer Exits vamos a utilizar principalmente dos transacciones que son:

  • SMOD: Para administrar las ampliaciones.
  • CMOD: Para la gestión de proyectos de ampliaciones.

PASOS PARA REALIZAR UN CUSTOMER EXIT

Vamos a analizar los pasos necesarios para implementar un Customer Exit.

Primeramente vamos a dirigirnos a la transacción SMOD, que es la que maneja las ampliaciones en SAP. En esta transacción se debe completar el nombre de la ampliación que contiene el módulo de función a utilizar por el Customer Exit.

Sino se conoce el nombre aún, hay que ir a la transacción SE16, con la tabla MODSAP, en el campo MENBER completar con el nombre del módulo de función a buscar (ejemplo EXIT_SAPMV45A_003) y el campo NAME nos dirá la ampliación que la contiene.

Si tampoco se conoce el módulo de función específico, debe buscarse en el código del programa estándar las llamadas a funciones de usuario, que estarán indicadas por CALL CUSTOMER-FUNCTION 001, donde el número del final puede ir cambiando si presenta más de una llamada, es decir varios customer exit o exits de cliente.

Una vez que se tiene el nombre de la ampliación, en este ejemplo V45A0003, lo colocamos en el campo Ampliación de la transacción SMOD y presionamos Visualizar.

En la siguiente pantalla presionamos el botón Componentes (o habiendo seleccionado la opción componentes de la pantalla anterior) y se visualizarán todos los módulos de funciones que contiene esta ampliación.

En este caso, para la ampliación V45A0003, existen dos módulos de función. Cada uno va a ser ejecutado en algún momento determinado de la ejecución del programa al cual pertenecen, en este caso SAPMV45A.

Una vez que ya se sabe qué módulo de función usar se debe hacer doble clic sobre el mismo y se derivará a otra pantalla, en la cual se puede ver qué objetos importa y exporta esta función, como así también las tablas que importa y que pueden modificarse, las cuales se utilizarán en el código fuente.

En la solapa Cód.fte. se encuentra un Include Z que se utiliza para agregar el código del usuario.

En las últimas versiones de SAP el include comienza con ZX y sino se utilizó anteriormente deberemos crearlo ya que no existirá.

Si este include no existe, al hacer doble clic sobre el mismo, se pedirá al usuario que le asigne una orden de transporte para poder generarlo.

Una vez creado es posible generar código ABAP utilizando todos los objetos que figuren en la solapa de import, modific., y Tablas, pudiendo devolver resultados modificando los objetos que se encuentran en las solapas Export, Modif., y Tablas.

Tal como mencionamos dentro del include ZXVVAU05 vamos a escribir el código ABAP que colocaremos dentro del EXIT, en general el código que colocaremos dentro de los EXITS será destinado a realizar validaciones de los campos de entrada, en caso de cumplirse una condición determinada se emitirá en pantalla un mensaje de error que impedirá el normal funcionamiento de la transacción en caso contrario se continuará con el procesamiento normal.

Una vez terminada la codificación, la ampliación debe activarse e incluirse en un proyecto. Los proyectos son creados en la transacción CMOD. Allí se debe generar un proyecto Z en el cual se incluirán las ampliaciones que se desee.

Para agrupar, clasificar y controlar los Customer Exit crearemos un proyecto de ampliación.

Un proyecto de ampliación asocia n ampliaciones. Su activación o desactivación afecta a todas las ampliaciones asociadas.

La transacción para acceder a los proyectos de ampliación es la CMOD. Allí ingresamos el nombre del proyecto y presionamos crear.

El nombre de los proyectos de ampliación debe estar dentro del rango permitido para los clientes, es decir debe comenzar con Z.

Ahora presionamos el botón Asignación ampliación para asignar las ampliaciones que vamos a incluir en el proyecto.

En la ventana de asignación de ampliaciones introducimos las ampliaciones y presionamos el botón componentes para visualizar los componentes de cada ampliación.

En la pantalla de componentes vamos a activar la ampliación presionando el botón de activación.

Cada uno de esos componentes son los Exit de la ampliación, es allí en 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á al color verde.

Podemos anular la activación del proyecto de ampliación presionando el botón para desactivar.

Es importante recordar que si el EXIT no está activo, la llamada a esta función no tendrá efecto alguno.


¿Cómo probar un Customer Exit?

Un punto complicado en la utilización de Customer Exits es ubicarlos y conocer el momento del proceso en el que ocurren los mismos. Todo esto para determinar que datos y que particularmente, se puede realizar en ese momento.

Para realizar esta investigación, lo más efectivo será crear un proyecto de ampliación, asignar la ampliación, activarla y luego colocar un BREAKPOINT en el módulo de funciones, para determinar los datos con los que disponemos en ese momento y el punto exacto del proceso en donde se encuentra.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Ducelvis Lolimar Arcia Cova, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Expert


Ducelvis Lolimar Arcia Cova

Profesión: Tsu Relaciones Industriales (rrii) - Argentina - Legajo: WX74T

✒️Autor de: 125 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Mi principal objetivo al comenzar esta gran experiencia educativa en programación abap es adquirir los conocimientos y competencias necesarias para incorporarme en el ámbito laboral en esta área.

Certificación Académica de Ducelvis Arcia

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las Ampliaciones: los User Exits y los Customer Exits" de la mano de nuestros alumnos.

SAP Expert


1. Concepto General de Ampliaciones Las ampliaciones son herramientas que ofrece SAP para realizar mejoras, modificaciones o agregados a programas estándar sin alterar el código fuente original. • Funcionamiento: Se codifican en módulos aparte, permitiendo que la funcionalidad original permanezca intacta y facilitando las actualizaciones del sistema. • Ventajas: Permiten adaptar el sistema a necesidades específicas de la empresa y sus cambios toman efecto simplemente transportando los nuevos objetos. • Desventajas: Están limitadas a momentos y tareas específicas de la ejecución del programa predefinidas por SAP. 2. User Exits Fueron las primeras herramientas de ampliación...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Las Ampliaciones los User Exits y los Customer Exits. Definición y propósito de las ampliaciones Las ampliaciones permiten realizar mejoras en aplicaciones relacionadas con programas estándar de sistemas, agregando funcionalidades sin modificar el código original. Ejemplos de mejoras: agregar campos a módulos y plantillas, nuevas opciones en menús, o modificar tablas de bases de datos. Se desarrollan aparte del código estándar para mantener la funcionalidad y el rendimiento original. Ventajas: adaptación a necesidades de la empresa y facilidad para transportar los nuevos objetos. Desventajas: limitación...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Las ampliaciones son herramientas clave en SAP que permiten adaptar y mejorar los programas estándar sin modificar su código original, garantizando su estabilidad y funcionamiento. Teoría Esencial: ¿Qué son las Ampliaciones? Definición: Son herramientas que permiten realizar mejoras, modificaciones o agregados a un programa estándar de SAP. Objetivo Principal: Adaptar el sistema a las necesidades específicas de una empresa sin alterar el código base de SAP. Principio Fundamental: El código personalizado se escribe en módulos separados, por lo que la funcionalidad original permanece intacta. Ventajas Clave:...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



Las Ampliaciones en SAP: User Exits y Customer Exits En SAP, las ampliaciones (Enhancements) permiten adaptar el sistema estándar a necesidades específicas del cliente sin modificar el código original. Su objetivo principal es añadir o modificar funcionalidades preservando la integridad del sistema, evitando conflictos durante actualizaciones o upgrades. Entre los tipos de ampliaciones más conocidos se encuentran los User Exits y los Customer Exits. Concepto de User Exits Los User Exits son puntos predefinidos en los programas estándar de SAP donde los desarrolladores pueden insertar código adicional. Se implementan en forma de subrutinas o módulos de función que SAP deja vacíos...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

lección "Las Ampliaciones: los User Exits y los Customer Exits" Introducción a las Ampliaciones • Descripción General de las Ampliaciones: Las ampliaciones en SAP son herramientas que permiten agregar funcionalidad nueva a programas estándar sin modificar su código original, asegurando su buen funcionamiento. Esto permite insertar validaciones, nuevos campos con su lógica, opciones de menú, o campos en tablas de base de datos estándar en lugares preparados por SAP. · â—¦ Ventajas de las Ampliaciones: Permiten adaptar programas a necesidades específicas de la empresa y realizar mejoras sin modificar el código original, con cambios que se...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Los User Exits son huecos que genera SAP en el sistema estandar, estos huecos estan en lugares determinados del sistemas, es importante dejar en claro que no es posible generar nuevos huecos user exits sino que debemos trabajar unicamente con los ya existentes sino encontramos un user exits que se ajuste a nuestro requerimiento entonces deberemos buscar otra alternativa de solucion dentro de las demas soluciones de ampliaciones posibles que ofrece SAP en su sistema. Tal como mencionamos dentro del include ZXVVAU05 vamos a escribir el codigo ABAP que colocaremos dentro del exits en general el codigo que colocaremos dentro de los exits sera destinado a realizar validaciones de los campos de entrada en caso de cumplirse una condicion determinada...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Aplicaciones: son diferentes herramientas que presenta SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema. Las Aplicaciones se generan y codifican en módulos aparte del código estándar, con lo cual no se necesita modificar el estándar, manteniendo la funcionalidad original y el buen funcionamiento. Las principales Ventajas que presentan las Aplicaciones son: Permiten modificar ciertos programas para adaptarlos a necesidades particulares de la empresa, agregando nuevas características a las existentes. Permite realizar mejoras a un programa si modificar el código original del mismo, manteniendo el buen funcionamiento y las características...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

QUE ES UNA AMPLIACIÓN? Son diferentes herramientas que se presenta en SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema. Algunos programas estándares están preparados para agregarles funcionalidad nueva a la existente. Las ampliaciones se generan y codifican en módulos aparte del código estándar, con lo cual no se necesita modificar el estándar manteniendo la funcionalidad original y el buen funcionamiento. Las principales ventajas que presentan las ampliaciones son: Permiten modificar ciertos programas para adaptarlos a necesidades particulares de la empresa, agregando nuevas características a las existentes. Permiten realizar mejoras a un...

Acceder a esta publicación

Creado y Compartido por: Luis Enrique Romero Pinto

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


What is an Enhancement? Enhancements: These are various tools provided by SAP to make improvements, modifications, or additions to a standard system program. Some standard programs are designed to add new functionality to existing ones. In some cases, you can validate fields on a particular dynpro, add fields to a screen with code to handle that new data, add a new option within a menu, or add fields to standard tables. Enhancements are generated and coded in separate modules from the standard code, so there's no need to modify it, thus maintaining the original functionality and proper operation. The main advantages of enhancements are: They allow modifying certain programs to adapt them to the specific needs of the company, adding new...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Las Ampliaciones: los User Exits y los Customer Exits 1 - Ampliaciones Herramientas para realizar mejoras, modificaciones, agregados a un programa estandar, se generan y codifican aparte del modulo estandar. Ventajas: - permiten modificar los programas a las necesidades de la empresa. - permite modificar sin tocar el programa estandar. - los cambios toman efectos al transportar los objetos. Desventajas: - no todos los programas estandares estan preparados para agregar una ampliacion. - no siempre se pueden hacer las modificaciones de manera satisfactoria, ya que, las ampliaciones estan preparadas para determinada tarea y momento dentro de la ejecucion del programa. Tipos de ampliaciones: - user exits. - customer...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!