🚀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

Lección: Ampliaciones: User Exits y Customer Exits

1) Que es una Ampliación?

Ampliaciones: 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 ampliacionse 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 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

Las más importantes son:

User Exits, customer Exits o Exits de Cliente, KeyWord Exits , Field Exits o Exits de Campo, Estructuras Append, Badis, Enhancements, Menú Exits

2) User Exits

User Exit: 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 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 implementados en la forma de subrutinas

Todos los User Exit están nombrados por SAP como USEREXIT_XXX

FORM USEREXIT_XXX

... ENDFORM

El principal problema que presentan está en encontrar el User Exit correcto. Una vez que lo encontramos deberemos verificar 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

Por ej, 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

Transacción VA02: Utilizaremos la transacción estándar VA02 para modificar los pedidos de ventas

3) Customer Exits

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 de función

algunos programas estándares tienen dentro de su código, llamadas a módlos 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

Tabla MODSAP : La tabla base de datos estándar MODSAP almancena 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

Ej: EXIT_SAPMV45A_0033

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 CA

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

Transacciones SMOD y CMOD: Utilizaremos estas dos transacciones estándar para trabajar con los exits de cliente

4) 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

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 (ej 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 que 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 ej 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 que 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 que 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 Cod.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 si no se utilizo 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 encuentrasn en las solapas Export, Moddif y Tablas

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

La pantalla de asignación de ampliaciones es la que vemos a continuación. Allí introducimos las ampliaciones y presionamos el botón Componentes para visulaizar 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 recordad que si el Exit no está activo, la llamada a esta función no tendrá efecto alguno

5) 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 momente

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


 

 

 


Sobre el autor

Publicación académica de Aida Cortina Fernandez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Aida Cortina Fernandez

Profesión: Consultor Junior - España - Legajo: MK87X

✒️Autor de: 74 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Certificación Académica de Aida Cortina

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

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

AMPLIACION Son herramientas de SAP para mejoras de un programa del sistema ventajas modificar programas para adaptarlos a necesidades particulares de la empresa realizar mejoras a un programa sin modificar el codigo original del mismo. Los cambios toman efecto con solo transportar los nuevos objetos Desventaja No siempre las modificaciones son satisfactorias, ya que la matyoria de las ampliaciones estan preparadas para una determinada tarea y momento detro de la ejecucion del programa No todos los programas estandares estan preparados para agregar todos los tipos de la ejecucion de un programa TIPOS User exits (Subrutina definida dentro de un programa estandar ABAP , sin codigo, que le permita al usuario realizar tareas especificas que no...

Acceder a esta publicación

Creado y Compartido por: Andres Felipe Escobar Lopez

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

SAP Expert


APLICACION: Diferentes herramientas de SAP para realizar mejoras, modificaciones o colocar agregados a un programa estandar. TIPOS DE APLICACIONES: User Exits: Es una subrutina que se define dentro de un programa que no tiene codigo, el usuario coloca su propio código fuente para realizar determinadas tareas que no están incluidas en SAP. Transacción VA02: Modificar los pedidos de venta Customer Exits: Es un punto dentro de un programa en donde se puede llamar a un programa propio Tabla MODSAP: Almacena todas las ampliaciones existentes en el sistema SAP. Transacciones: SMOD: para administrar las ampliaciones CMOD: Gestión de proyectos de ampliaciones, agrupa, clasifica y controla los customer.

Acceder a esta publicación

Creado y Compartido por: Ernesto Aristides Romano

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

SAP Master

AMPLIACIONES Y NOTAS SAP ¿QUE ES UNA AMPLIACIÓN? Son diferentes herramientas que presenta SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema. VENTAJAS. 1- Permiten modificar ciertos programas para adaptarlos a necesidades particulares de la empresa agregando nuevas características alas existentes. 2-Permite realizar mejoras a un programa sin modificar el código original del mismo, manteniendo el buen funcionamiento y las características que tenia. 3-Los cambios toman efecto con sólo transportar los nuevos objetos. DESVENTAJAS. 1-No siempre se puede hacer todas las modificaciones de manera satisfactoria ya que la mayoría de las ampliaciones están...

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

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

SAP SemiSenior

Ampliaciones: 1) Tx. SMOD: para administrar las ampliaciones. Tx. CMOD: para la gestion de proyectos de ampliaciones ZX: Nomenclatura reservada para los Exits. _____________________________________________________________________________________________________________ Los User Exit son huecos que Genera SAP en el Sistema para poder agregar codigo, no se pueden agregar nuevos User, de no encontrar la solucion se debera buscar por otro medio. FORM USEREXIT_XXXXXXXX. ENDFORM. __________________________________________________________________________________________________________ Customer Exit Dentro de los Includes se agrega el Codigo ABAP necesario sera destinado a la validacion de los datos de entrada, en caso de cumplirse...

Acceder a esta publicación

Creado y Compartido por: Leonel Amador Ortiz

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

SAP Master

Lección: Ampliaciones: User Exits y Customer Exits [ 1º de 9 ] Son diferentes herramientas que presenta SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema. Ventajas: Modificación para agregar nuevas características. Realizar mejoras a un programa sin modificar el código original. Los cambios toman efecto con los transportes. Desventajas No siempre se pueden hacer todas las modificaciones. No todos los programas estándares están preparados para agregar todos los tipos de ampliaciones.

Acceder a esta publicación

Creado y Compartido por: Jose Angel Valles Bustos

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

SAP Master


AMPLIACIONES Son diferentes herramientas que presenta SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema. Ventajas: Modificación para agregar nuevas características. Realizar mejoras a un programa sin modificar el código original. Los cambios toman efecto con los transportes. Desventajas No siempre se pueden hacer todas las modificaciones. No todos los programas estándares están preparados para agregar todos los tipos de ampliaciones. TIPOS DE AMPLIACIONES User exit Customer exit KeyWord exit Field exit Estructuras Append BADIs Enhancement Menu exits USER EXITS: Es una subrutina definida dentro de un...

Acceder a esta publicación

Creado y Compartido por: Ivan Dario Lemus Moya

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

SAP Expert


Que es una ampliación Son diferentes herramientas que presenta SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema Tipos de ampliaciones User Exits Es una subrutina definida dentro de un programa que esta hueca, es decir sin código, el usuario coloque su propio código fuente que le permita realizar determinadas tareas que no están en SAP. Transacción VA02: Modificar los pedidos de venta Customer Exits. También Exit del cliente, es un punto dentro de un programa en donde se puede llamar a un programa propio Tabla MODSAP: Almacena todas las ampliaciones existentes en el sistema SAP. De cada ampliación se guarda: el nombre de ampliación, el tipo...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

 


 

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