🚀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. AMPLIACIÓN

Son diferentes herramientas que proporciona SAP para realizar mejoras, modificaciones o agregados de un programa estándar del sistema

Algunos programas están preparados para agregarles funcionalidad nueva. En algunos casos se puede validar campos de alguna dynpro o agregar campos a una pantalla o agregar una nueva opción dentro de un menú o agregar campos a tablas estándares

Las ampliaciones se generan en módulos aparte del código estándar. Así no necesitamos modificar el código estándar y mantenemos la funcionalidad original

Ventajas:

  1. Permiten adaptar ciertos programas a las necesidades particulares de la empresa
  2. Permiten realizar mejoras en 1 programa sin modificar el código original, manteniendo el buen funcionamiento y sus características
  3. Los cambios tienen efecto al transportar los nuevos objetos

Desventajas:

  1. No siempre se pueden hacer todas las modificaciones de manera satisfactoria, por cómo están preparadas la ampliaciones
  2. No todos los programas estándares están preparados para agregar todos los tipos de ampliaciones.

Tipos de ampliaciones: User exits, Customer exits, Keyword exits, Field exits, estructuras Append, Badis, Enhancements y Menú exits.

2. USER EXITS

Es una subrutina definida dentro de un programa estándar que está hueca (sin código). Está allí preparada para que el usuario ponga su propio código fuente para realizar tareas específicas no previstas por SAP. Son las primeras ampliaciones que introdujo SAP.

Son propias del módulo SD (Ventas y Distribución). No existen en otros módulos de SAP.

Se implementan en forma de subrutinas. Se nombran como FORM USEREXIT_xxxxxxxx.

El principal problema: encontrar el User exit correcto.

El código ABAP insertado en el User Exit puede ir suelto o dentro de un Include Z.

Ejemplo: tr. VA02 (modificar pedidos de venta), programa estándar MV45AFZZ, User Exit: Form USEREXIT_READ_DOCUMENT

Aunque todavía se usan User Exits en el módulo SD, SAP no los usa para nuevas extensiones al código SAP aunque serán mantenidos en nuevas versiones.

3. CUSTOMER EXITS

Es un punto dentro de un programa donde se puede llamar a un programa propio; se invoca a un módulo de función que puede ser modificado por el programador. Son llamados dentro de los programas estándar a través de un número (terminación del nombre del módulo).

En la tabla MODSAP están todos los módulos de función que se usan en los Customer Exits. La tabla MODSAP guarda todas las ampliaciones existentes en el Sistema SAP, guardando:

  1. Nombre de la ampliación
  2. Tipo: E (Exit de funciones), S (imágenes), T (Tablas) y C (Código GUI)
  3. Nombre del objeto SAP: Programa, módulo de función,.. que se modifica

Nomenclatura estándar de los módulos de función: EXIT_<nombrePrograma>_<númDeFunción> (P.ej: EXIT_SAPMV45A_003)

La llamada a un exit de un módulo de función se implenta así: CALL CUSTOMER-FUNCION <3 dígitos> (P.ej. CALL CUSTOMER-FUNCTION '100')

Ventajas de un Customer Exit:

  1. Es una buena herramienta para agregar funcionalidad nueva (validación, ejecución de rutinas de control) sin modificar el código original
  2. Para transportar y activar los Customer Exit es suficiente con el Include nuevo , sin tocar el programa original.

Desventajas de un Customer Exit:

  1. No siempre se ajusta a las necesidades del programador: los objetos que importa o exporta son fijos y pueden no ser todos los requeridos
  2. No existe una búsqueda de Customer Exit por programa. Para buscarlos hay que realizar una búsqueda del string 'CALL CUSTOMER-FUNCTION' dentro del programa de control estándar

Para trabajar con Customer Exits usaremos 2 transacciones:

  1. SMOD: Administrar las ampliaciones
  2. CMOD: Gestionar los Proyectos de Ampliaciones

4. PASOS PARA REALIZAR UN CUSTOMER EXIT

Pasos para implementar un Customer Exit:

  1. Desde la tr. SMOD, completamos el nombre de la ampliación que contiene el módulo de función a usar por el Customer Exit. Si no se conoce el nombre, el campo NAME de la tabla MODSAP nos lo dirá, poniendo el módulo de función (p.ej. EXIT_SAPMV45A_003) en el campo MEMBER. Si no conocemos el módulo de función, hay que buscar las llamadas a funciones de usuario (CALL CUSTUMER-FUNCTION '001' -ejemplo-) en el código del programa estándar
  2. Tras conseguir el nombre de la ampliación (en el ejemplo, V45A0003), lo ingresamos en la tr SMOD y pulsamos Visualizar. A continuación pulsamos el botón Componentes y veremos todos los módulos de funciones que contiene esta ampliación
  3. Una vez sabemos el módulo de función a usar, hacemos doble click sobre él y podremos ver qué objetos importa y exporta, qué tablas importa y pueden modificarse.
  4. En la solapa Código Fuente, se halla un Include Z que se usa para agregar código de usuario. En las últimas versiones el include comienza por ZX.
  5. Si el include no existe, al hacer doble click, se pedirá al usuario que le asigne una orden de transporte
  6. Una vez creado el include, ya se puede generar código ABAP usando los objetos de las solapas Import, Modific y Tablas; y devolviendo resultados modificando los objetos de las solapas Export, Modific. y Tablas
  7. Una vez terminada la codificación, debemos activar la ampliación e incluirla en un Proyecto. Los proyectos se crean desde la tr. CMOD. Allí generaremos un proyecto Z que incluya las ampliaciones

La activación o desactivación de un Proyecto de Ampliación afecta a todas las ampliaciones asociadas. Tras crear el Proyecto, presionamos el botón Asignación ampliación para asignarla/s al proyecto actual. Si pulsamos el botón Componentes (Exits de ampliación) veremos los componentes de cada ampliación. Desde esta pantalla, activaremos la ampliación

5. ¿CÓMO PROBAR UN CUSTOMER EXIT?

Resulta complicado ubicar los Customer Exits y saber el momento del proceso en el que ocurren. Para saber qué datos y qué se puede hacer en ese momento.

Para saberlo, lo más efectivo es crear un Proyecto de Ampliación; asignar la ampliación, activarla y luego colocar un BreakPoint en el módulo de funciones para saber los datos de que disponemos y el punto exacto del proceso


 

 

 


Sobre el autor

Publicación académica de David Campillo Martinez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

David Campillo Martinez

Profesión: Administrador de Sistemas - España - Legajo: PC32Z

✒️Autor de: 56 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de David Campillo

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