✒️ABAP / Las Badis Por Juan Romero
ABAP Las Badis

Las Badis
Conceptos básicos de las BADIs
- Las BADIs (Business Add-Ins) son extensiones al sistema SAP para implementar validaciones y ampliaciones sin modificar el código estándar.
- Permiten satisfacer requerimientos del cliente y realizar modificaciones al estándar de forma flexible.
- Se pueden definir filtros para ejecutar diferentes procesos según criterios, como el país, facilitando localizaciones del sistema.
- SAP ya incluye implementaciones de BADIs para aplicaciones de negocio específicas y distintas industrias gracias a su arquitectura multicapa.
Tipos y vistas de las BADIs
- Existen BADIs clásicas (las primeras) y BADIs nuevas (también llamadas puntos de ampliación o engagement spot), que incorporan tecnologías recientes de SAP.
- Las BADIs tienen dos vistas principales: definición e implementación.
- La definición de una BADI normalmente ya existe en el sistema estándar y rara vez es necesario crear una nueva.
Procesos de definición e implementación
- La transacción SE18 se utiliza para visualizar la definición de una BADI; aquí se pueden ver la configuración general, las implementaciones y la interfaz asociada.
- Los métodos asociados a la BADI muestran sus parámetros de entrada y salida.
- La transacción SE19 permite acceder a la implementación, revisar los métodos y decidir si usar la lógica estándar o crear una nueva.
Ejemplo práctico: Implementación de una BADI
- El ejemplo abordado implementa una BADI que muestra un mensaje al modificar la dirección de un banco usando la transacción FI02 (módulo de finanzas FIC).
- Se utiliza la BADI address check en el método ISActiveForCountry para ampliar la verificación según el país.
- El proceso incluye seleccionar la BADI en SE19, crear una implementación, definir filtros (ejecución solo para país AR), y luego introducir el código ABAP correspondiente.
- Se utiliza el módulo popup_to_inform para mostrar mensajes y la implementación se prueba modificando datos de un banco de Argentina.
Métodos para localizar BADIs y diferencias con Customer Exit
- Para encontrar una BADI, se recomienda colocar un break point en el método GetInstance de la clase CLExitHandler y ejecutar el programa deseado; el sistema mostrará los nombres de las BADIs encontradas.
- Las principales diferencias entre BADIs y Customer Exits son:
- Puede haber varias implementaciones activas de una BADI, pero solo una de un Customer Exit.
- Customer Exits usan módulos de función, mientras BADIs emplean métodos de objetos.
- BADIs tienen arquitectura multicapa; Customer Exits, solo doble capa (SAP y cliente).
Ventajas de las buddies SAP
Implementación de buddies en SAP
- Las buddies son una forma de ampliación que se implementa únicamente en el código estándar de SAP.
- El código Z, creado por los programadores y no considerado estándar, puede ser modificado libremente sin limitaciones.
Ventajas y flexibilidad de las buddies
- Permiten tener diferentes implementaciones de una misma buddy según los valores definidos en los filtros.
- Ejemplo: Para procesos contables que varían según el país en una multinacional, se puede crear una implementación distinta para cada país usando filtros por código de país.
- Es posible asignar el desarrollo a distintos programadores ABAP o equipos según el país correspondiente.
- Si dos países comparten el mismo proceso contable, se puede usar una única implementación para varios valores del filtro.
Implementación de BAdis en SAP
Concepto y utilidad de las BAdis
- Las BAdis son una de las ampliaciones disponibles para modificar el código estándar de SAP.
- Permiten insertar código Z en puntos específicos durante la ejecución de transacciones estándar.
- El procesamiento pasa por la implementación de una BAdi en la lógica del sistema donde el usuario puede intervenir.
Proceso de creación de una implementación
- Se utiliza la transacción SE19 para trabajar con las BAdis.
- Hay una definición estándar de BAdi y los usuarios pueden crear implementaciones propias (habitualmente con prefijo Z).
- Para el ejemplo, se crea una implementación Z para la BAdi asociada a la transacción FI02, la cual permite modificar datos de banco.
- Es importante elegir "BAdi clásico" al iniciar el proceso en SE19, ingresar un nombre de implementación (por ejemplo, zaddress_check) y una breve descripción.
- Se deben crear valores de filtro, en este caso, los códigos de país como AR (Argentina), BR (Brasil) y CL (Chile).
- La ejecución de la BAdi puede filtrarse por estos valores de entrada.
Inserción de lógica personalizada en la BAdi
- En la interfaz de la BAdi, se encuentran dos métodos.
- Se agrega código en el primer método, donde se declaran dos variables de texto para informar la definición e implementación de la BAdi.
- Se utiliza un pop-up para mostrar esta información al usuario cuando se ejecuta la implementación.
- Solo una implementación de una BAdi puede estar activa a la vez; debe estar activada para funcionar.
Ejecución y prueba en transacción FI02
- La transacción FI02 es utilizada para modificar datos de bancos en SAP.
- Al modificar la dirección y seleccionar un país (por ejemplo, BR para Brasil), el sistema ejecuta el pop-up de la BAdi mostrando la definición y la implementación activas.
- Esta funcionalidad permite insertar código Z específico para necesidades del cliente al modificar datos en transacciones estándar.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio Romero, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Juan Ignacio Romero
Profesión: Ing. Sistemas Computacionales - Mexico - Legajo: LJ26F
✒️Autor de: 138 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Juan Romero






Disponibilidad Laboral: FullTime


















