🚀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

AMPLIACIONES: User Exits y Customer Exits

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

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

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

- User Exits

- Customer Exits o Exits de Clientes

- KeyWord Exits

- Field Exits o Exits de campos

- Estructuras Append

- Badis

- Enhancements.

- Menù Exits

2.- User Exits: Es una subrutina definida dentro de un programa estàndar ABAP que no tiene còdigo, està 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 SAP SD de Ventas y Distribuciòn no existen en otros mòdulos de SAP.

Estàn implementadas en forma de subrutinas.

Todos los User Exit estàn nombrados por SAP como USEREXIT_XXXXXXXX

FORM USEREXIT_XXXXXXXX.

Senetencias.

ENDFORM.

El principal problema que presenta està en encontrar el User Exit correcto. Una vez que los encontramos debermos verificar que 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 signo 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, 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.

FORM USEREXIT_READ_DOCUMENT.- Puede ser usado para leer datos en tablas adicionales, cuando el programa lee un documento de ventas.

Esta forma es llamada al final de la forma BELEG_LESEN.

"La transacciòn VA02, se utiliza para modificar los pedidos de venas."

Ciertas aplicaciones del mòdulo SD todavìa utilizan este tipo de ampliaciones pero està 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 se debe tener en cuenta que los User Exits seràn mantenidos por SAP en las nuevas versiones del sistema.

No se pueden generar nuevos User Exit, solamente se pueden trabajar con los ya existentes, Si no existe algùn User Exit que se ajuste a nuestro requerimiento, deberemos buscar otra soluciòn.dentro de las demàs soluciones de ampliaciòn.

3.- Customer Exits. Es un punto dentro de un programa estàndar en donde se puede llamar a un programa propio.

Se ejecutan desde un programa estàndar haciendo invocaciòn a un mòdulo de funciòn.

Algunos programas estàndares tienen 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 estàndares a travès de un nùmero

Este nùmero es la terminaiò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 del cliente.

De cada ampliaciòn se guarda el nombre de la ampliaciòn, el tìpo de componente que puede ser "E" para funciones Exit, "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.

La nomenclatura es la siguiente:

EXIT_nombre.del.programa_nùmero.funciòn.

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.

CALL CUSTOMER-FUNCTION '3_dìgitos.'

CALL CUSTOMER-FUNCTION '100'.

EXPORTING

TABLES

CHANGING

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.

Ventajas de Customer Exit:

- 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

Desventajas de Customer Exit:

- 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 claraciò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.

Para trabajar con Customer Exit se utilizan dos transacciones: SMOD y CMOD.

SMOD.- Para administrar las ampliaciones.

CMOD.- Para gestionar proyectos de ampliaciones.

4.- Pasos para realizar un Customer Exit.

A travès de la transacciòn SMOD, se completa 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 mòdulo de funciòn a buscar (Ejemplo 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, 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 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 existen 2 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 SAPPMV45A.

Una vez que ya se sabe què mòdulo de funciòn usar, se debe hacer doble click 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 tabla que importa y que pueden modificarse, las cuales se utilizaràn en el còdigo fuente.

En la solapa "Còd.fte". Se encuentra un include Z que se utiliza para agregar el còdigo del usuario.""

"En la ùtlimas versiones de SAP el include comienza con zx y si no se utilizò anteriormente, debemos crearlo."

Si este include no existe, al hacer doble click 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 en la solapa de "Import, Modific." y "Tablas", pudiendo devolver resultados modificando los objetos que se encuentran en las solapas "Export, Modif y Tablas".

En general el còdigo que se ingresa dentro de los exits, corresponderà a validaciones de los campos de entrada, encaso de incumplirse una condiciòn determinada, se desplegarà en la pantalla un mensaje de error, 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 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 notòn "Asignaciòn ampliaciòn", para asignar las ampliaciones que vamos a incluir.

En esta pantalla, introducimos las ampliaciones y presionamos el botòn "Componentes", para visualizar 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ì 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.
Se puede anular la activaciòn del proyecto de ampliaciòn, presionando el botòn relacionado,

"Importante, si el Exit no està activo, la llamada a esta funciòn no tendrà efecto alguno".

5.- Còmo probar un Custome 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 momento.

Para realizar esta invetigaciò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 Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Miguel Angel Acosta Acosta

Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C

✒️Autor de: 238 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.

Certificación Académica de Miguel Acosta

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