🚀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

Unidad-3-Lección-1: Ampliaciones: User Exits y Customer Exits 1) ¿Qué es una 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 nueva funcionalidad a la ya 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.

Ventajas de las ampliaciones

· Permiten modificar ciertos programas para adaptarlos a necesidades particulares de la empresa, añadiendo 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 solo transportar los nuevos objetos.

Desventajas de las ampliaciones

· 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 añadir todos los tipos de ampliaciones.

Los tipos de ampliaciones más importantes son:

· User Exit

· Customer Exit o Exit de Cliente

· KeyWord Exit

· Field Exit o Exit de campo

· Estructuras Append

· Badis

· Enhancements

· Menú Exit

2) User Exit

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

Están implementados en la forma de subrutinas. Todos los User Exit están nombrados como USEREXIT_XXXXX.

USEREXIT_XXXXX.

ENDFORM.

El principal reto con los User Exit es encontrar el correcto, y una vez que se encuentra, debemos verificar que el mismo sirva para el propósito deseado.

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

Para añadir o modificar código existente dentro de un User Exit, no es necesaria la clave de acceso de SAP. Por ejemplo, en el programa estándar MV45AFZZ se encuentra el siguiente User Exit que es utilizado por la transacción VA02 cada vez que lee un documento.

Ciertas aplicaciones del módulo SD todavía utilizan este tipo de ampliaciones, pero esta práctica no se está 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 Exit serán mantenidos por SAP en las nuevas versiones del sistema.

NOTA (Audio Tip): 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 claro que no es posible generar nuevos huecos, sino que se tiene que trabajar con los existentes. Si no se encuentra un User Exit que se ajuste a los requisitos, entonces tendremos que 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 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 tiene 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 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 Exit de cliente.

Tabla MODSAP: La tabla base de datos estándar MODSAP almacena todas las 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.


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 ABAP:

CALL CUSTOMER-FUNCTION <3 dígitos>.

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

Ventajas de los Customer Exit o Exit del cliente:

· Es una buena herramienta para añadir 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.

Desventajas de Customer Exit o Exit del cliente:

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

Transacciones para trabajar con Customer Exit o Exit del cliente:

· SMOD: Para administrar ampliaciones

· CMOD: Gestión de proyectos de ampliación.

4) Pasos para realizar un Customer Exit

Dirigirnos a la transacción SMOD y completar el nombre de la ampliación que contiene el módulo de función a utilizar por el Customer Exit.

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

Si no se conoce el módulo de función especifico, se debe buscar 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.

Una vez que se tiene el nombre de la ampliación (en este ejemplo: V45A0003) lo colocamos en el campo Ampliación, presionar en Visualizar y en la pantalla siguiente, hacer click en componentes. Aquí se pueden ver los objetos y tablas que pueden modificarse.

Cada uno de los módulos de funciones que se ven aquí, serán ejecutados en algún momento de la ejecución del programa al cual pertenecen (en este caso SAPMV45A).

Una vez que se sepa qué módulo de función se debe usar, se hace doble click sobre el mismo, y luego se mostrará una pantalla en la cual se pueden ver los objetos que importa y exporta esta función, como 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 el include Z que se utiliza para agregar el código del usuario.

Nota: en las últimas versiones empieza por ZX y si no se utilizó anteriormente, deberemos crearlo, ya que no existirá.

Si el include no existe, al hacer doble click sobre el mismo, se pedirá una orden de transporte para poder generarlo. Una vez creado se pude generar el código ABAP utilizando los objetos "Import, Modific y Tablas", y posiblemente devolviendo resultados modificando los objetos que se encuentran en las solapas Export, Modif. y Tablas.

Nota (Audio tip): 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 Exit 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. 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 cuales 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, se crea 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.

Para crear un proyecto se utiliza la transacción CMOD. Allí se le asigna el nombre del proyecto (debe empezar con Z) y hacemos click en Crear.
Luego en la pantalla que se despliega, hacemos click en Asignación ampliación luego de dar una breve descripción. En la siguiente pantalla, introducir las ampliaciones y hacer click en Componentes para visualizarlos.

En la pantalla de componentes vamos a activar la ampliación haciendo click en el botón de activación. Cada componente son los Exit de la ampliación, y es allí donde se debe incorporar el código de validación o proceso a controlar con la ampliación.
El botón de al lado se usa para “desactivar”.

Una vez activado, el proyecto de ampliación pasara a color verde

Nota: Recordar que si el Exit no está activo, la llamada a esta función no tendrá efecto alguno.

5) ¿Como probar un Customer Exit?

Uno de los retos en la utilización de Customer Exit es ubicarlos y conocer el momento del proceso en el programa en el cual ocurren los mismos, con el propósito de determinar qué datos y qué particularmente se puede hacer en ese momento.

Para ayudarnos en 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 se dispone en ese momento y el punto exacto del proceso en donde se encuentra.


 

 

 


Sobre el autor

Publicación académica de Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Oscar Perez

Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F

✒️Autor de: 105 Publicaciones Académicas

🎓Cursando Actualmente: Master en Programación ABAP Orientado a Objetos

🎓Egresado de los módulos:

Certificación Académica de Oscar Perez

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

Ampliación (exit) Hay diferentes herramientas en SAP para realizar mejoras, modificaciones o agregados a un programa estandar del sistema. Se codifican en módulos aparte Los más importantes son: User Exits Customer Exits Keyword Exits Field Exits Estructuras Append BADIS Enhancements Menu Exits User Exits Subrutina hueca definida en un programa estándar Propias de SD Customer Exits Punto dentro de un programa donde se puede llamar a uno propio. La tabla MODSAP contiene los módulos de función de los Customer Exits (TYP= 'E') CALL CUSTOMER-FUNCTION 'xxxxx' Tx SMOD: para administrar las ampliaciones Tx CMOD: para gestionar los...

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

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

SAP Senior

AMPLIACIONES.- diferentes herramientas para realizar mejoras o modificaciones a un programa estandar. entre los mas importantes user exits customer exits o exits de cliente. keyword exits. field exits o exits de campo estructuras append badis enhancesment. menu exits user exit.- propias de los modulos de sd ventas y distribución estan implementados en forma de subrutina. y se los nombra asi: USERXIT_XXXX. NO SE NECESITA LA CLAVE DE ACCESO A SAP. customer exit. ES UN PUNTO DENTRO DE UN PROGRAMA EN DONDE SE PUEDE LLAMR A UN PROGRAMA PROPIO. TX SMOD y CMOD. Transacciones estandar para trabajar con exits.

Acceder a esta publicación

Creado y Compartido por: Karyna Alexandra Suarez Flores

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

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: Herramientas de SAP para modificar un programa estándar. * User Exits: Subrutina definida dentro de un programa estándar ABAP (Sólo para SD) * Customer Exits o exits de cliente: Punto de un programa en donde se puede llamar a un programa propio (Tabla MODSAP estás todos lo módulos de función que se pueden utilizar) Tx SMOD: Administrar ampliaciones Tx CMOD: Gestión de proyectos de ampliación * KeyWord Exits * Field Exits o Exits de campo * Extructuras append * Badis * Enhascements * Menú Exits

Acceder a esta publicación

Creado y Compartido por: Helen Silva Ruiz

*** 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

 


 

👌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!