Cómo encontrar una BAdI con el depurador SAP

Buscar una BAdI con SAP Debugger es una técnica útil para identificar ampliaciones disponibles en un proceso estándar. Esta guía explica cómo localizar el punto de ejecución y distinguir entre implementaciones clásicas y nuevas.

1.      BADIs

Las BAdIs (Business Add-Ins) son una herramienta de programación ABAP orientada a objetos que se utilizan en SAP para implementar validaciones y ampliaciones en el código standard de SAP en versiones a partir de la 4.6c.

Es posible usar el depurador para encontrar BAdIs que están disponibles en un programa SAP. SAP tiene dos tipos de business Add-ins, son BAdI clásico y nuevo BAdI estas últimas han sido rediseñadas para ser una parte importante del Enhancement Framework.                                                                                              

2.      BADIs Clásicas

Los BAdI clásicos se instancian con el método estático GET_INSTANCE de la clase CL_EXITHANDLER, abrimos la clase CL_EXITHANDLER desde Eclipse ingresamos al método GET_INSTANCE.

Cómo encontrar una BAdI con el depurador SAP 1

También es posible acceder desde la transacción «SE24» a la clase CL_EXITHANDLER.

Cómo encontrar una BAdI con el depurador SAP 2

Fijamos el punto de interrupción en la llamada del método estático.

Cómo encontrar una BAdI con el depurador SAP 3

Ejecutamos cualquier transacción, en el ejemplo ejecutamos la «SE11» y realizamos la búsqueda de alguna tabla, observamos que el depurador detiene la ejecución en el punto de interrupción.

Cómo encontrar una BAdI con el depurador SAP 4

El depurador se ejecuta y en el parámetro «EXIT_NAME» del método podemos observar el nombre de los objetos de negocio que se invocan durante la ejecución.

Cómo encontrar una BAdI con el depurador SAP 5

Podemos buscar el objeto de negocio desde Eclipse.

Cómo encontrar una BAdI con el depurador SAP 6

O desde la transacción «SE18» como se muestra a continuación.

Cómo encontrar una BAdI con el depurador SAP 7
Cómo encontrar una BAdI con el depurador SAP 8

3.      Nuevas BADIs

La forma de encontrar un nuevo BAdI es diferente al método de BAdI clásico, los nuevos BAdI se instancian usando la declaración ABAP «GET BADI», esta vez necesita crear un punto de interrupción para detenerse en el comando GET BADI, realizamos la ejecución de alguna transacción (en el ejemplo la transacción «SE11») y antes de realizar alguna actividad sobre la dynpro activamos el depurador con el comando «/h» en el campo de comandos.

Cómo encontrar una BAdI con el depurador SAP 9

Creamos un punto de interrupción con un «ABAP statement» buscando la instrucción «GET BADI».

Cómo encontrar una BAdI con el depurador SAP 10
Cómo encontrar una BAdI con el depurador SAP 11

Presionamos F8 para continuar con la ejecución y el depurador se detenga en donde encuentre la instrucción «GET BADI».

Cómo encontrar una BAdI con el depurador SAP 12

Con CTRL+Clic navegamos a la referencia «lb_ae» para conocer el tipo del objeto de negocio.

Cómo encontrar una BAdI con el depurador SAP 13

Podemos tomar el objeto de negocio y buscarlo en eclipse como se realizó el caso de las BAdI clásicas.

Cómo encontrar una BAdI con el depurador SAP 14

Preguntas frecuentes

¿Qué es una BAdI en SAP?

Es un punto de ampliación que permite añadir lógica propia al estándar sin modificar directamente el código de SAP.

¿Por qué usar el depurador para buscar una BAdI?

Porque permite seguir el flujo real de ejecución y detectar las ampliaciones que se invocan en un escenario concreto.

2 comentarios de “Cómo encontrar una BAdI con el depurador SAP

  1. Borja M dice:

    Hola,

    En la parte que describes las nuevas Badis hablas del Enhancement Framework. Puedes extender que es Enhancement Framework y porque las nuevas Badis son parte importante de el.

    Muchas Gracias

    • Jesús Hernández dice:

      Hola Borja,

      El Enhancement Framework en SAP ABAP es el nuevo concepto de mejora que ayuda a los clientes y consultores a dar la opción de mejorar la base de código estándar con el código personalizado que desean agregar.

      Este Framework se compone de:

      * Mejoras implícitas.
      * Mejoras explícitas.
      * Puntos de mejora.
      * Secciones de mejora.
      * BADIs.

      Saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *