Tag Archives: Business Add-Ins

  • 0

Cómo encontrar BADIS

Category:Programación,SAP,SAP ABAP Tags : 

Introduccion

“Business Add-In” en adelante BADi, son una tecnología de extensión en el entorno SAP (Systems, Applications, and Products in Data Processing). Las BADIs son puntos de extensión predefinidos en el código fuente de las aplicaciones SAP, que permiten a los desarrolladores añadir, modificar o personalizar la funcionalidad estándar sin modificar el código fuente original. Esta flexibilidad facilita la adaptación de los sistemas SAP a las necesidades específicas de una organización sin comprometer la integridad y la actualización futura de las aplicaciones. A través de interfaces claramente definidas, los BADIs permiten la incorporación de lógica de negocio adicional y la interacción con módulos estándar, contribuyendo así a una mayor agilidad y eficiencia en la gestión de procesos empresariales.

Para encontrar y trabajar con BADIs, sigue estos pasos:

  1. Identificación de BADIs: Primero, determina qué área o proceso de SAP deseas extender o personalizar. Investiga la documentación y manuales de SAP relacionados con esa funcionalidad para identificar si existen BADIs disponibles.
  2. Transacción “SE18”: Accede a la transacción “SE18” en la pantalla de inicio de SAP. Esta transacción te permite buscar y visualizar las definiciones de BADIs.
  3. Búsqueda de BADIs: En la transacción “SE18”, ingresa el nombre de la BADI o una palabra clave relacionada con la funcionalidad que deseas extender. Esto te proporcionará una lista de BADIs relevantes.
  4. Selección de BADI: Selecciona la BADI que mejor se adapte a tus necesidades. Aquí podrás ver la descripción, el nombre de la implementación estándar y otras informaciones útiles.
  5. Implementación de la BADI: Utiliza la transacción “SE19” para crear una implementación de la BADI seleccionada. Puedes proporcionar un nombre único para la implementación y elegir si es local (sólo para tu sistema) o global (se propaga a otros sistemas).
  6. Desarrollo de la Lógica: En la implementación de la BADI, puedes agregar tu propio código para extender o modificar la funcionalidad. Esto te permite integrar lógica de negocio adicional de acuerdo a tus requerimientos.
  7. Activación de la Implementación: Una vez que hayas completado la implementación de la BADI, actívala utilizando la transacción “SE19”. Esto vinculará tu implementación con la BADI correspondiente.
  8. Prueba y Validación: Realiza pruebas exhaustivas para asegurarte de que la implementación de la BADI se comporta como se espera y no afecta negativamente a la funcionalidad estándar.

Existen varias aproximaciones para encontrar BADIS, acá encontrara cuatro métodos para hacerlo

Método 1 : Para este método, deberá considerar que el primer paso tiene en cuenta que las BADIS se encuentran registradas en las tablas SXS_INTERSXC_EXITSXC_CLASS y SXC_ATTR y que se accede a ellas mediante las vistas V_EXT_IMP y V_EXT_ACT
De esta manera cada llamada existente a una BADI, el sistema hace uso de las tablas antes mencionadas. Por lo tanto, un método para encontrar la BADI que necesitamos se basa en el uso de la transacción ST05(Performance Analysis). Se realizará el siguiente procedimiento:

1. Ingresar a la transacción ST05 y una vez en ella seleccionar el check “Table Buffer trace” y pulsar el botón “Activate Trace“.

2. A continuación abrir un nuevo modo y ejecutar en ella la transacción sobre la que se desea encontrar una BADI.
3. Una vez halla realizado la ejecución del programa, regresamos a la pantalla donde se tenia la transacción ST05 y se hace clic en el botón “Deactivate Trace” con objeto de finalizar el trace.

4.Una vez el trace ha finalizado, hacer click en el botón “Display Trace” donde se va a filtrar el Trace con los objetos: V_EXT_IMP y V_EXT_ACT (vistas).
5. Pulsar el botón “Copy (F8)” , Fill Operations: OPEN y “Enter”.


Resultado : se obtendrá un listado con todas las “interface class names” de las vistas V_EXT_IMP comenzando con IF_EX_*. Este es el prefijo estándar de SAP para las “BADI class interfaces“. El nombre de la BADI se encuentra a continuación del prefijo IF_EX_. Por ejemplo, si el nombre de la interfase es IF_EX_ADDR_LANGU_TO_VERS, la BADI se llama ADDR_LANGU_TO_VERS.


Método 2 : Desde la transacción SE80, fijar un break-point en el método “ACT_IMPS_PER_FLT_VAL” de la clase “CL_BADI_FLT_DATA_TRANS_AND_DB” justo después del “SELECT” encabezado con el comentario “read BADI attributes”.

Luego ejecutar la transacción que se desea analizar. Por cada parada en el break-point del debugger, examinar los campos “exit_name” e “internal”.

Método 3

1. Ingresar a la transacción SE24 (Class Builder) colocar un break-point en el CALL METHOD cl_exithandler=>get_class_name_by_interface que está dentro del método GET_INSTANCE de la clase CL_EXITHANDLER .

Luego, ejecutar la transacción o programa a verificar. En la variable exit_name se muestran los nombres de las BADI’s que implementa el programa.Este método puede resultar engorroso porque detiene muchas veces la ejecución, pero ésto asegura que si una BADI existe se detendrá en ese punto. Lo que se está haciendo es poner un BREAK-POINT en el momento en que SAP verifica si una definición de BADI tiene alguna implementación activa; por lo tanto, aunque no exista ninguna implementación activa para esa BADI particular, el método detectará que existe una BADI en ese punto. Para ver si esa BADI está implementada o no, ir a la Transacción SE18 con el nombre de la BADI obtenida en la variable 

exit_name e ir a la opción de menú 

Implementaciones → Resumen.

Método 4

Obtener el paquete (Clase de desarrollo) de la transacción que se desea analizar mediante la

transacción SE93. En la transacción SE18, en la búsqueda ampliada, buscar filtrando por el paquete anteriormente encontrado y el sistema devolverá todas las BADI’s relacionadas a ese paquete. Tomado de http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-implementar-badis.html