🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Las Ampliaciones: los User Exits y los Customer Exits

ABAP Las Ampliaciones: los User Exits y los Customer Exits

ABAP Las Ampliaciones: los User Exits y los Customer Exits

1.- Qué es una ampliación.

Son diferentes herramientas que presenta SAP para realizar MEJORAS, MODIFICACIONES ó AGREGADOS a un programa estándar del sistema.

Algunos programas estándares estan preparados para agregarles funcionalidad nueva a la ya existente, se pueden validar campos de alguna dynpro, agregar campos a una pantalla y adaptar código para tratar esos nuevos datos, 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.

Ventajas de las ampliaciones:

  • 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.

Desventajas de las ampliaciones:

  • No siempre se pueden hacer todas las modificaciones de manera satisfactoría, ya que la mayoria 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 quieran desarrollar:

  • User Exits.
  • Customer Exits o Exits de Cliente.
  • Keyword Exits.
  • Field Exits o Exits de Campo
  • Estructuras Append
  • Badis
  • Enhancements
  • Menú Exits

2.- USER EXIT.

  • Primeras ampliaciones que introdujo SAP.
  • Son propias del módulo de SAP SD(Sales and Distribution) de Ventas y Distribución, no existen en otros módulos de SAP
  • Es una subrutina definida dentro de un programa estándar ABAP que está hueca, es decir sin código, esta allí para que el usuario ponga su propio código fuente que le permita realizar tareas especificas que no están previstas por SAP.
  • Están implementados en la forma de subrutinas.
  • Todos los User Exit están nombrados por SAP como USEREXIT_XXXXXXXX.
  • El problema es en encontrar el User Exit correcto o que necesitamos,una vez encontrado debemos validarlo.
  • El código 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.

Por ejemplo el programa estándar MV45AFZZ contiene el User Exit (USEREXIT_READ_DOCUMENT) que es utilizado por la transacción VA02 cada vez que lee un documento.

VA02: Transacción estándar VA02 para modificar los pedidos de ventas.

Ciertas aplicaciones del módulo SD todavía utilizan este tipo de ampliaciones pero esta práctica no se utilizando para nuevas extensiones al código SAP. En su lugar se utilizan el resto de los tipos de ampliaciones disponibles, vale tener en cuenta que los User Exits serán mantenidos por SAP en las nuevas versiones del sistema.

Audio Tip: Estos huecos estan ubicados en lugares determinados del sistema. Es IMPORTANTE mencionar dejar en claro, que no es posible generar nuevos huecos o User Exit, sino que debemos de trabajar únicamente con los ya existentes, sino encontramos un user exit que se ajuste a nuestro requerimiento, entonces deberemos de buscar otra alternativa de solución, dentro de las demás soluciones de ampliaciones posibles que ofrece SAP en su sistema.

3.- CUSTOMER EXIT.

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 función(SE37 se crean funciones).
  • Algunos programas estádares tienen dentro de sus código, llamadas a módulos de funciones que pueden ser modificados por el programnador.
  • Los Customer Exit son llamados dentro 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 esta asociado al programa.
  • En la tabla MODSAP se encuentran todos los módulos de función que se utilizan en los Exits de cliente,

MODSAP: Tabla estándar del sistema que almacena todas las ampliaciones existentes en SAP, de cada ampliación se guarda:

  1. Nombre de la ampliación SAP.
  2. Tipo de Componente: Que pueden ser "E"(para Exit de Funciones) "S"(para Imágenes) "T"(para Tablas) y "C"(Código GUI)
  3. Y el nombre del Objeto SAP: "Programa, módulo de función,etc."

Los módulos de función tienen una nomenclatura estándar: EXIT_<nombre del programa>_<número de función>.

Ejemplo: EXIT_SAPMV45A_003

La llamada a un EXIT de un Módulo de función es implementada: 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 disponibles dentro de la ampliación.

Las principales ventajas que presenta un Customer Exit son:

  • El Customer Exit es una buena herramienta para agregar funcionalidad nueva a un programa estándar como puede ser un validación o la ejecución de rutinas de control sin modificar el código original.
  • Para transportar y activar los Customer Exits 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 un 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.

Utilizaremos principalmente estas 2 transacciones estándar, para trabajar con los EXITS de CLIENTE:

SMOD: para administrar las ampliaciones.

CMOD: para la gestión de proyectos de ampliaciones.

4.- Pasos para realizar un Customer Exit.

  1. Vamos a la transacción SMOD, 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.
  2. Para saber el nombre de la ampliación utilizamos la transacción SE16, con la tabla MODSAP, en el campo MEMBER 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.
  3. Si tampoco se conoce el módulo de función especifico, debe buscar en el código del programa estándar las llamadas a funciones del usuario, que están indicadas por CALL CUSTOMER-FUNCTION '001', el número del final puede cambiar si existen más de una llamada, es decir varios customer exits o exits de cliente.
  4. Una vez que tenemos 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.
  5. Para ver los componentes de la ampliación, damos clic en componentes, parar nuestro ejemplo V45A0003, existen 2 módulos de funciones, dando doble clic sobre el que se desea utilizar podemos ver en el código los objetos que importa y exporta, las tablas que importa y que pueden modificarse, En esta misma solapa Cód.fte. se encuentra un Include Z que se utiliza para agregar el código del usuario.
  6. En general el código que escribiremos dentro de los EXITS será destinado a realizar validaciones de los campos de entrada, en caso de cumplirse una condición determinada, se emitira en pantalla un mensaje de error, que impedirá el normal funcionamiento de la transacción, caso contrario se continuará con el proceso normal

En las última versiones de SAP el include comienza con ZX y si no se utilizo anteriormente deberemos crearlo ya que no existirá.

Si el INCLUDE no existiera, al hacer doble clic sobre el mismo, se pedirá al usuario que se le asigne una orden de transporte.

  1. Una vez creado el Include se puede generar código con todos los objetos que figuren en la solapa de Import, Modific. y Tablas, pudiendo devolver resultados modificando los objetos que se encuentran en las pestañas Export, Modif y Tablas.
  2. Una vez programando el código, 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 queramos.

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

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

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

5.- ¿ Como probar un Customer Exit.?

Lo dificil de utilizar un customer Exits es ubicarlos y conocer el momento del proceso en el que ocurren los mismos. Todo esto para saber que datos y que particularmente, se puede realizar en ese momento.

Para investigar esto los más efectivo será:

  • Crear un proyecto de ampliación.
  • Asignar la ampliación.
  • Activar la ampliación.
  • Colocar un Breakpoint.

El Breakpoint se debe colocar 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.


 

 

 


Sobre el autor

Publicación académica de Gustavo Alberto Ramirez Franco, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Gustavo Alberto Ramirez Franco

Profesión: Ingeniero en Sistemas Computacionales - Mexico - Legajo: TA38Q

✒️Autor de: 38 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Gustavo Ramirez

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

Las ampliaciones son herramientas de SAP que permiten realizar mejoras, modificaciones o agregados a un programa estándar del sistema. Los tipos de ampliaciones más importantes son: user exits, customer exits, keyword exits, field exits, estructuras append, badis, enhancements, menú exits. La tabla estándar MODSAP almacena las ampliaciones existentes en SAP. La transacción SMOD se utiliza para administrar las ampliaciones y la transacción CMOD se utiliza para la gestión de proyectos de ampliaciones.

Acceder a esta publicación

Creado y Compartido por: Mónica Robles

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

SAP Master

ampliaciones son diferentes herramienta que presetna sap para realizar mejoras modificaciones o agregados a un programa estandar de sap. tipos : user exits estrcututras append badis enhancement menu exits. CUSTOMER EXIT es un punto de un programa en donde se puede llamar aun programa propio. tabla MODSAP almacena todas las ampliaciones existentes en el sistema. SMOD TX administrar las ampliaciones. cmod gestion de proyectos de ampliaicones

Acceder a esta publicación

Creado y Compartido por: Leidy Giselle Parra Mora

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

SAP Master

Las ampliaciones son herramientas de sap para realizar mejoras modificaciones o agregar un programa estandar del sistema. Ventajas . Permite modificar ciertos programas para adaptarlios a necesidades particuklares de las empresas. Permite realizar mejoras a un programa sin modificar el codigo del mismo, manteniendo un buen funcionamiento y las caracterisicas. Los cambios toman efecto con solo transportar los nuevos objetos. Desventajas. No siempre se podran hacer todas las modificaciones de manera satisfactoria, ya que la mayoria de las ampliaciones estan preparadas para una determinada tarea. No todos los programas estandar estan preparados para agregar todos los tipos de am pliaciones Tipos de ampliaciones: User Exits Customer exits KeyWord...

Acceder a esta publicación

Creado y Compartido por: Jesus Enrique Ramos Bello / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP SemiSenior

RESUMEN Unidad 3 - Lección 1 (Ampliaciones: User Exits y Customer Exits) USER EXIT >> Son de SD >> No se necesita clave de acceso de SAP. >> En forma de subrutinas Ejercicio: SE80> PAQUETES > VMOD >Se despliegan los USER_EXITS de SD. CUSTOMER EXIT >> Invocación a un módulo de función. >> Tabla: MODSAP: todos los modulos de función que se utilizan en los Exists de cliente.>> Tipo de componente: E(Exit de funciones), S(Imagenes), T(Tablas), C(Código GUI)>> Nomenclatura: EXIT_PROGRAMA_3(NUMEROFUNCION) Llamada: CALL CUSTOMER-FUNCTION <3digitos> tx: SMOD >> Para adminitrar las ampliaciones tx: CMOD >> Para la gestión de proyectos...

Acceder a esta publicación

Creado y Compartido por: Ana Patricia Sánchez Paredes

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

SAP Master

AMPLIACIONES Son herramientas que permiten agregar funcionalidad a un programa estandar y modificar la ya existente. Las ampliaciones se realizan en modulos separados del prog estandar por lo que se mantiene la funcionalidad original. Es importante aclarar que no todos los prog estandar estan preparados para utilizar todas las ampliaciones. Las ampliaciones mas importantes son: User Exits Customer Exits Keyword Exits Field Exits Estructuras append Badis Enhancements Menu Exits USER EXITS Es una subrutina definida dentro de un prog estandar solo perteneciente al modulo SD, cuyo nombre sera USEREXIT_xxx. Dentro de esta subrutina podemos colocar un include Z o directamente la nueva funcionalidad. Es importante...

Acceder a esta publicación

Creado y Compartido por: Jonatan Richioni

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

SAP Master

Ampliaciones: Son herramientas que proporciona SAP para realizar mejoras, modificaciones o funcionalidades extras a un programa estandar de SAP. Por ejemplo, agregar validaciones a los campos de una dynpro, agregar campos en pantalla, nueva opcion en el menu o agregar campos a tablas estandares. Ventajas: 1. Se modifican los programas y adaptarlos a las necesidades del cliente. 2. Se permite realizar mejoras al programa sin afectar el funcionamiento y caracteristicas que el programa proporciona. 3. Se pueden transportar los cambios de estas modificaciones. Desventajas: 1. No siempre se pueden hacer las modificaciones de manera satisfactoria. 2. No todos los programas estandares tienen la posibilidad de agregar los tipos de ampliaciones. Entre...

Acceder a esta publicación

Creado y Compartido por: Erick Omar Mármol Ascencio / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Unidad 3: Ampliaciones y Notas en SAP. Lección 1: Ampliaciones: User Exits y Customer Exits. Audio tip 1: Los User Exits son huecos que genera SAP en el sistema estándar. Estos huecos están ubicados en lugares determinados el 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. Si no encontramos un user exit que se ajuste a nuestro requerimiento entonces deberemos de buscar otra alternativa de solución dentro de las demás soluciones de ampliaciones posibles que ofrece SAP en su sistema. Audio tip 2: Tal como mencionamos dentro del include ZXVVAU05 vamos a escribir el código ABAP que colocaremos dentro...

Acceder a esta publicación

Creado y Compartido por: Brenda Castillo Domínguez / Disponibilidad Laboral: FullTime

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

SAP Master

USER EXITS Y LOS CUSTOMER EXITS Ampliaciones: son herramientas que presenta sap para realizar mejoras modificaciones o agregados a un programa estandar. RELEVANTE: LAs ampliaciones se generan y codifican en modulos aparte del codigo estandar, con lo cual no se necesita modifficarlo manteniendo la funcionalidad original y el buen funcionamiento. - LOS USER EXITS Es una estructura definida dentro de un programa estandar ABAP que esta hueca es decir sin codigo, esta alli para que el usuario ponga su propio codigo fuente que le permita realizar tareas especificas que no estan previstas por SAP. Son propias del modula de SAP SD NO EXISTE EN OTRO MODULO. Todos los USER EXIT ESTAN NOMBRADOS POR SAP COMO USEREXIT_XXXXXX NOTA: Para ingresar codigo abap...

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

Ampliaciones: User Exits y Customer Exits 1. Que es una Ampliacion? Son diferentes herramientas que presenta SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema. 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...

Acceder a esta publicación

Creado y Compartido por: Edward Henry Rosario Piezal / Disponibilidad Laboral: FullTime

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

SAP Senior

AMPLIACIONES: USER EXISTS Y CUSTOMER EXITS. ampliaciones Son herramientas que presenta SAp para realizar mejoras. modificaciones o agregados a un programa estandard del sistema. 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 estandares. Las modificaciones se realizan en módulos apartes del código estandars, manteniendo la funcionalidad original y el buen funcionamiento. Sus ventajas son: Permite modificar programas para adaptarlos a necesidades particulares de la empresa, agregando nuevas características a las existentes....

Acceder a esta publicación

Creado y Compartido por: Morela Silva

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!