User-exits, ampliaciones, badis,…: como localizarlas (II).


En una entrada anterior de Blog dejabamos el ejemplo de una utilidad que nos permitía localizar las user-exit de una transacción (aquellas definidas por Sap mediante la transacción SMOD y que luego nosotros activamos en un proyecto de ampliación con la transacción CMOD).

Utilidad para buscar User-exits (CMOD/SMOD)

Posteriormente, en varias entradas del Blog vimos las diferentes técnicas que Sap pone a nuestra disposición para personalizar nuestro sistema en aquellos aspectos que la parametrización no cubre. Hicimos un resumen de las diferentes técnicas con ejemplos prácticos de todas ellas (field exits, variantes de transacción, ayudas de búsqueda y las más relacionadas con la programación: User Exit, Customer Function, Badis, BTE y Enhancemets).

NOTA: además de en esta página, en varios Blogs amigos han aparecido entradas similares donde se explican muy bien las diferentes opciones de personalización de nuestro Sap. Os recomiendo su lectura: TEKNODATIPS y CONSULTORIA SAP, cada uno con su enfoque particular.

Como ya comente, muchas veces lo realmente difícil es encontrar en el punto que nos interesa (transacción, report), los componentes de este tipo que Sap nos deja disponibles, para poder analizarlos para ver si cubren nuestro requerimientos e intentar personalizar en el sistema con el aspecto necesario solicitado por nuestros clientes o usuarios internos.

Para facilitar esta tarea, os dejo una utilidad desarrollada por Luciano Rebuffi  (podéis descargaros el código fuente en este link), muchas gracias por su aportación.

En la utilidad hemos de indicar un nombre un nombre de transacción o un programa, y los elementos a analizar, pudiendo seleccionar User-exits, Badis, BTE, Ampliaciones o Sustituciones (de ellas hablaremos más adelante en nuestro blog) o Field-exits.

La herramienta realiza un completo barrido en el código fuente de la transacción indicada y nos devuelve una lista de resultado completa donde empezar a analizar si tenemos alguna opción disponible para cubrir nuestra necesidad.

En mi ejemplo, he ejecutado la utilidad con la transacción VA01 (creación de pedidos de venta) y me ha salido una lista de resultados completa (y amplia) donde puedo ver la cantidad de puntas que Sap deja disponibles para personalizar los procesos de venta.

  • User-exits: aquellas rutinas con el nombre USEREXIT_XXXX_XXXX que Sap deja vacias dentros de unos include estandar que nunca serán tocados en las actualizaciones (mencionamos que en el módulo de ventas se utilizaban muchisimo). En la búsqueda me han salido 242 ampliaciones de este tipo.

  • Customer Function: corresponden a las llamadas a los módulos de función EXIT_SAPXXXX_XXX, donde Sap define un include Z donde podremos incluir nuestro código (son las relacionadas con las transacciones SMOD/CMOD como ya vimos).

  • Badis: las ampliaciones de última generación, relacionadas con la programación orientada a objetos y que podemos gestionar desde la transacciones SE18/SE19.

  • BTE: aquellas ampliaciones que gestionamos desde la transacción FIBF, casí siempre más relacionadas con transacciones financieras (son igualmente una llamada a un módulo de función que nosotros podremos personalizar).

Como podéis ver, una utilidad totalmente recomendable y que a mi me ha solucionado muchos problemas en unas cuantas ocasiones.

Esta entrada fue publicada en Abap, Sap Basis. Guarda el enlace permanente.

13 respuestas a User-exits, ampliaciones, badis,…: como localizarlas (II).

  1. SidV dijo:

    Excelente aporte Roberto…
    Agregaré este impactante artículo que has escrito sobre las ampliaciones a nuestro pequeño artículo 😉

    Un fuerte abrazo, y muchas gracias por mencionarnos!
    Saludos!

  2. Adriana Velezl dijo:

    Muchas gracias por este articulo, de gran utilidad en esta dispendiosa labor de hacer mejoras.!

  3. juantulian dijo:

    Hola. Muy buen aporte, no funciona en SAP R/3 4.6

  4. Alejandra dijo:

    Hola , muchas gracias por el aporte , te comento que a mi me aparece error en la llamada a MU_INCLUDE_GET en version 6.

  5. Henry Daniel dijo:

    Excelente Roberto me pondre a realizar la prueba
    Un saludo

    Henry Daniel

  6. Victor Pomajuica dijo:

    Hola, si tambien probé, pero al hacer una consulta con la FB60, salió un dump en la función MU_INCLUDE_GET

  7. porHablar dijo:

    No funciona con la Tx iq09 =/

  8. Eri dijo:

    Hola, una pregunta el programa tiene derechos de autor o se puede usar sin ningun problema?
    Saludos =)

  9. Torrescano dijo:

    Hola Roberto, muchas gracias por el aporte en la version ECC 5.0 no funciona no exite la tabla enhobj 😦

    saludos.

  10. Jose dijo:

    Hola Roberto muchas gracias por el articulo. no funciona en la versión 6.06 no encuentra el modulo MU_INCLUDE_GET

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s