✒️ABAP / Las Ampliaciones: los User Exits y los Customer Exits Por David Campillo Martinez

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

1. AMPLIACIÓN

Son diferentes herramientas que proporciona SAP para realizar mejoras, modificaciones o agregados de un programa estándar del sistema

Algunos programas están preparados para agregarles funcionalidad nueva. En algunos casos se puede validar campos de alguna dynpro o agregar campos a una pantalla o agregar una nueva opción dentro de un menú o agregar campos a tablas estándares

Las ampliaciones se generan en módulos aparte del código estándar. Así no necesitamos modificar el código estándar y mantenemos la funcionalidad original

Ventajas:

  1. Permiten adaptar ciertos programas a las necesidades particulares de la empresa
  2. Permiten realizar mejoras en 1 programa sin modificar el código original, manteniendo el buen funcionamiento y sus características
  3. Los cambios tienen efecto al transportar los nuevos objetos

Desventajas:

  1. No siempre se pueden hacer todas las modificaciones de manera satisfactoria, por cómo están preparadas la ampliaciones
  2. 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 y Menú exits.

2. USER EXITS

Es una subrutina definida dentro de un programa estándar que está hueca (sin código). Está allí preparada para que el usuario ponga su propio código fuente para realizar tareas específicas no previstas por SAP. Son las primeras ampliaciones que introdujo SAP.

Son propias del módulo SD (Ventas y Distribución). No existen en otros módulos de SAP.

Se implementan en forma de subrutinas. Se nombran como FORM USEREXIT_xxxxxxxx.

El principal problema: encontrar el User exit correcto.

El código ABAP insertado en el User Exit puede ir suelto o dentro de un Include Z.

Ejemplo: tr. VA02 (modificar pedidos de venta), programa estándar MV45AFZZ, User Exit: Form USEREXIT_READ_DOCUMENT

Aunque todavía se usan User Exits en el módulo SD, SAP no los usa para nuevas extensiones al código SAP aunque serán mantenidos en nuevas versiones.

3. CUSTOMER EXITS

Es un punto dentro de un programa donde se puede llamar a un programa propio; se invoca a un módulo de función que puede ser modificado por el programador. Son llamados dentro de los programas estándar a través de un número (terminación del nombre del módulo).

En la tabla MODSAP están todos los módulos de función que se usan en los Customer Exits. La tabla MODSAP guarda todas las ampliaciones existentes en el Sistema SAP, guardando:

  1. Nombre de la ampliación
  2. Tipo: E (Exit de funciones), S (imágenes), T (Tablas) y C (Código GUI)
  3. Nombre del objeto SAP: Programa, módulo de función,.. que se modifica

Nomenclatura estándar de los módulos de función: EXIT_<nombrePrograma>_<númDeFunción> (P.ej: EXIT_SAPMV45A_003)

La llamada a un exit de un módulo de función se implenta así: CALL CUSTOMER-FUNCION <3 dígitos> (P.ej. CALL CUSTOMER-FUNCTION '100')

Ventajas de un Customer Exit:

  1. Es una buena herramienta para agregar funcionalidad nueva (validación, ejecución de rutinas de control) sin modificar el código original
  2. Para transportar y activar los Customer Exit es suficiente con el Include nuevo , sin tocar el programa original.

Desventajas de un Customer Exit:

  1. No siempre se ajusta a las necesidades del programador: los objetos que importa o exporta son fijos y pueden no ser todos los requeridos
  2. No existe una búsqueda de Customer Exit por programa. Para buscarlos hay que realizar una búsqueda del string 'CALL CUSTOMER-FUNCTION' dentro del programa de control estándar

Para trabajar con Customer Exits usaremos 2 transacciones:

  1. SMOD: Administrar las ampliaciones
  2. CMOD: Gestionar los Proyectos de Ampliaciones

4. PASOS PARA REALIZAR UN CUSTOMER EXIT

Pasos para implementar un Customer Exit:

  1. Desde la tr. SMOD, completamos el nombre de la ampliación que contiene el módulo de función a usar por el Customer Exit. Si no se conoce el nombre, el campo NAME de la tabla MODSAP nos lo dirá, poniendo el módulo de función (p.ej. EXIT_SAPMV45A_003) en el campo MEMBER. Si no conocemos el módulo de función, hay que buscar las llamadas a funciones de usuario (CALL CUSTUMER-FUNCTION '001' -ejemplo-) en el código del programa estándar
  2. Tras conseguir el nombre de la ampliación (en el ejemplo, V45A0003), lo ingresamos en la tr SMOD y pulsamos Visualizar. A continuación pulsamos el botón Componentes y veremos todos los módulos de funciones que contiene esta ampliación
  3. Una vez sabemos el módulo de función a usar, hacemos doble click sobre él y podremos ver qué objetos importa y exporta, qué tablas importa y pueden modificarse.
  4. En la solapa Código Fuente, se halla un Include Z que se usa para agregar código de usuario. En las últimas versiones el include comienza por ZX.
  5. Si el include no existe, al hacer doble click, se pedirá al usuario que le asigne una orden de transporte
  6. Una vez creado el include, ya se puede generar código ABAP usando los objetos de las solapas Import, Modific y Tablas; y devolviendo resultados modificando los objetos de las solapas Export, Modific. y Tablas
  7. Una vez terminada la codificación, debemos activar la ampliación e incluirla en un Proyecto. Los proyectos se crean desde la tr. CMOD. Allí generaremos un proyecto Z que incluya las ampliaciones

La activación o desactivación de un Proyecto de Ampliación afecta a todas las ampliaciones asociadas. Tras crear el Proyecto, presionamos el botón Asignación ampliación para asignarla/s al proyecto actual. Si pulsamos el botón Componentes (Exits de ampliación) veremos los componentes de cada ampliación. Desde esta pantalla, activaremos la ampliación

5. ¿CÓMO PROBAR UN CUSTOMER EXIT?

Resulta complicado ubicar los Customer Exits y saber el momento del proceso en el que ocurren. Para saber qué datos y qué se puede hacer en ese momento.

Para saberlo, lo más efectivo es crear un Proyecto de Ampliación; asignar la ampliación, activarla y luego colocar un BreakPoint en el módulo de funciones para saber los datos de que disponemos y el punto exacto del proceso


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de David Campillo Martinez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Senior

David Campillo Martinez

Profesión: Administrador de Sistemas - España - Legajo: PC32Z

✒️Autor de: 56 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de David Campillo

✒️+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!