✒️ABAP / Las Ampliaciones: los User Exits y los Customer Exits Por Francisco Compte Sanchez

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

Unidad 3: Ampliaciones y Notas en SAP.

Lección 1: Ampliaciones User Exits y Customer Exits.

1.- ¿Que es una Ampliación?

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

Hay programas estándar que ya están preparados para permitir funcionalidad adicional. Las ampliaciones siempre se codifican y generan en módulos a parte del código estándar. Con ello se evita interferir en el normal funcionamiento de las funcionalidades originales.

Las ampliaciones principalmente presentan estas ventajas:

  • Permite la modificación y adaptación de los programas a necesidades particulares de la empresa, añadiendo funcionalidad.
  • Las mejoras en los programas no implican modificar código original por lo que se mantiene el correcto funcionamiento de lo ya existente.
  • Los cambios se tendrán en cuenta una vez transportados los nuevos objetos.

También como todo tienen algunas desventajas.

  • No siempre las modificaciones se realizan adecuadamente. En la mayoría de ampliaciones, hay limitaciones respecto a lo que puede hacerse y el momento en que se hace.
  • No todos los tipos de ampliaciones son de aplicación en todos los programas estándar.

SAP presenta los siguientes tipos de ampliaciones principales:

  • User Exits.
  • Customer Exits,
  • Keyword Exits
  • Field Exits.
  • Estructuras Append.
  • Badis.
  • Enhancenents.
  • Menu Exits,

2.- User Exits.

Es una subrutina dentro de un programa estándar ABAP. Inicialmente están vacías, ya que la idea es que se informe en ellas el código que se requiera para la realización de una funcionalidad no prevista en el estándar SAP.

Son el tipo de ampliaciones mas antiguas de SAP y están restringidas al modulo de SD. Se identifican como USEREXIT _ <nombre del user exit>. Adoptando la forma de un FORM: FORM USEREXIT_ <nombre user exit> ... ENDFORM.

La dificultad está en encontrar que user exit es el correcto por su posición en el código y que además sea útil a nuestro propósito. No es necesario tener clave de desarrollador para poder poner código en un user exit. El código puede escribirse directamente en la user exit o en un include Z incorporado al mismo.

Aunque SAP aún les da soporte porque ciertas aplicaciones de SD las utilizan no es ya una técnica en uso en nuevas ampliaciones.

No es posible la creación de user exits adicionales a las existentes en el sistema.

3.- Customer Exits.

Es un punto dentro del programa en donde se puede llamar a un programa propio. Dentro de los programas estándar se accede a ellos mediante un módulo de función. Adicionalmente hay programas estándar que presentan módulos de función modificables por usuario. Este tipo de ampliaciones se identifican por un número que es la terminación del nombre del módulo de función que esta asociado al programa.

La tabla estándar MODSAP almacena todos los módulos de función que se utilizan en los COSTUMER EXIT. De hecho en dicha tabla se almacenan todas las ampliaciones que tenemos en el sistema.

Según su tipo podemos distinguir:

  • E. Exit de funciones.
  • S. Exit para imágenes.
  • T. Exit de Tablas.
  • C. Exit para código GUI.

La clave de dicha tabla es nombre de ampliación, tipo y nombre del objeto SAP al que modifica. El modulo de función de una Customer Exit tiene la siguiente nomenclatura: EXIT_<nombre del programa>_<nº función>. Su llamada CALL CUSTOMER-FUNCTION <Nº customer function>

Los módulos siempre son llamados por el proceso estándar en unos momentos prefijados y con unos parámetros determinados que son los que ofrece la aplicación.

Entre las ventajas principales:

  • Herramienta útil para agregar nueva funcionalidad a un estándar sin que ello implique la modificación del código original.
  • Es suficiente el include correspondiente para transportar y activar un Customer Exit.

Las desventajas son:

  • Las Customer Exit no siempre se ajustan a las necesidades del programador ya que los parámetros son fijos.
  • No son de fácil identificación porque no existe una búsqueda por programa. Hay que buscar dentro del programa de control estándar el string CALL CUSTOMER-FUNCTION. No siendo posible conocer su funcionamiento de antemano.

El manejo de las Customer Exits se realiza mediante dos transacciones:

  • SMOD. Administración ampliaciones.
  • CMOD. Gestión proyectos ampliaciones.

4.- Realización de un Customer Exit.

  • Vamos a SMOD allí debemos informar el nombre de la ampliación que contiene el módulo de función que utilizará el Customer Exit.. Podemos buscar el nombre de dos maneras:

1. Buscar en la tabla MODSAP, si conocemos el nombre del módulo, este en el campo MEMBER de la tabla. La ampliación que corresponde esta en el campo NAME.

2. Si tampoco conocemos el módulo de función buscaremos en el programa estándar todas las llamadas CALL CUSTOMER-FUNCTION. Así podremos ver todas las customer exit llamadas por una transacción.

3. Teniendo el nombre informado en SMOD pulsamos visualizar. Desde aquí se pueden visualizar atributos, componentes y documentación de la ampliación. En la siguiente pantalla presionamos el botón componentes o ya de entrada marcamos esa opción, entonces se mostrara todos los módulos de función que tiene la ampliación en una nueva pantalla.

4. Entramos en el módulo que nos interesa mediante doble click con el ratón. En una nueva pantalla se nos mostraran los parámetros de entrada y salida así como las tablas. En la pestaña Cód. fte. habrá una include Z aunque en las últimas versiones de SAP será ZX o no existirá si es la primera vez. Si queremos crearlo haremos doble click sobre la include y la asignaremos a una orden de transporte. Ahora ya podemos escribir el código de la ampliación necesario en la include utilizando los objetos que constan en los parámetros de importación y en las tablas.

En general el código de los exits suele destinarse a validaciones de campos de entrada. Si la validación no se supera se informara en pantalla el correspondiente mensaje en caso contrario la transacción continuara con el procesamiento normal.

5. Para agrupar, clasificar y controlar los Customer Exits crearemos un proyecto de ampliación con la transacción CMOD. En el proyecto incorporaremos las ampliaciones que consideremos necesarias. Al igual que las ampliaciones el proyecto debe activarse. Si desactivamos un proyecto activo quedan inactivas todas las ampliaciones que contiene, por tanto estas no se aplicarían. Desde la pantalla de componentes podemos activar y desactivar exits individuales.

El nombre del proyecto de ampliación empezará por Z.

Para asignar ampliaciones o bien marcamos la opción de Asignación ampliaciones cliente o bien en la siguiente pantalla pulsamos el botón Asignación ampliación.

Desde pantalla de ampliaciones que forman parte del proyecto, podemos acceder a los componentes de cada una de ellas mediante el botón componentes.

Si un Exit no está activo entonces la llamada correspondiente no tendrá efecto alguno.

5.- Test de Customer Exits.

La mayor dificultad para utilizar Customer Exits es saber donde se ubican dentro del programa y el momento en que entran en juego, Lo mas efectivo para desentrañar todo esto es crear un proyecto de ampliación, insertar la ampliación en el mismo, activarla y luego colocar un break point en el módulo de funciones correspondiente.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Francisco Compte Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Master

Francisco Compte Sanchez

Profesión: Sap Business&integration Architect - España - Legajo: QQ38S

✒️Autor de: 105 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Consultor sap mm y sd con algún conocimiento abap a nivel de debug. quiero consolidar conocimientos técnicos para reforzar mi perfil profesional.

Certificación Académica de Francisco Compte

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