✒️ABAP / Las Badis Por Roberto Fluder Ahumada
ABAP Las Badis

Lección: Las Badis
1 | ¿Qué son las Badis?
• Descripción: Las Badis, cuyas siglas significan Business Add-Ins, son un nuevo tipo de extensión al sistema SAP basadas en la utilización de objetos ABAP para la implementación de validaciones y ampliaciones al código estándar de SAP, sin necesidad de modificar el código original.
â—¦ Permiten modificar el estándar para satisfacer requerimientos específicos del cliente.
â—¦ Facilitan la definición de filtros para la ejecución, permitiendo procesos diferenciados, por ejemplo, por país, lo que es clave para localizaciones del sistema.
â—¦ Son muy útiles para aplicaciones de negocios específicos (como petroleras o químicas) debido a su arquitectura multicapa, que incluye a SAP, partners, soluciones de clientes, localizaciones y soluciones específicas para industrias.
2 | Los tipos de Badis
• Descripción: Existen dos clasificaciones principales de Badis.
â—¦ Badis Clásicas: Son las versiones iniciales de este tipo de ampliaciones.
â—¦ Badis Nuevas: También conocidas como Puntos de ampliación o Enhancement Spot, incorporan las últimas tecnologías de SAP.
3 | Las vistas de una Badi
• Descripción: Las Badis se organizan en dos vistas principales: la vista de definición y la vista de implementación.
4 | La definición de una Badi
• Descripción: La vista de definición de las Badis se accede y visualiza a través de la transacción SE18, donde se configura y se detalla su estructura.
â—¦ Transacción SE18: Es la transacción estándar para visualizar la definición de una Badi.
â—¦ Configuraciones generales: Se pueden ver en la solapa "Definiciones elem.punto ampl.".
â—¦ Verificación de implementación: La solapa "Enhancem. Implementations" muestra si la Badi ya tiene una implementación.
â—¦ Interface y métodos: Al hacer doble clic en "Interface", se visualizan la interfaz asociada y los métodos definidos para la Badi.
â—¦ Parámetros de métodos: Doble clic en un método permite ver sus parámetros de entrada y salida.
â—¦ Definiciones estándar: Las definiciones de Badis son en su mayoría estándar del sistema y rara vez se crean nuevas.
5 | La implementación de una Badi
• Descripción: La implementación de las Badis, donde se introduce la lógica personalizada, se gestiona a través de la transacción SE19.
â—¦ Transacción SE19: Es la transacción estándar para acceder a las implementaciones existentes de una Badi.
â—¦ Métodos disponibles: Permite visualizar los métodos que se pueden utilizar en la implementación.
â—¦ Lógica ABAP: Al hacer doble clic en los métodos, se puede ver la lógica estándar asociada o crear una nueva.
6 | El paso a paso en la creación de una implementación
• Descripción: Este punto describe el procedimiento para crear, configurar y activar una implementación de Badi, incluyendo la asignación de filtros y la codificación de la lógica ABAP.
â—¦ Acceso en SE19: Se inicia en la transacción SE19, seleccionando "Badi clásico" y creando una nueva implementación.
â—¦ Nombre de implementación: Se asigna un nombre a la nueva implementación, como ZADDRESS_CHECK.
â—¦ Texto breve y filtros: Se introduce un texto breve y se configuran los filtros para su ejecución (ej. para el código de país AR).
â—¦ Codificación del método: Se accede a la solapa "Interface" y se inserta el código ABAP en el método deseado (ej. IS_ACTIVE_FOR_COUNTRY), utilizando funciones como POPUP_TO_INFORM para mensajes.
â—¦ Guardar y activar: Se guarda y activa la implementación de la Badi.
â—¦ Prueba de funcionamiento: Se verifica la implementación en la transacción FI02, ingresando los datos de prueba y observando el mensaje configurado.
â—¦ Transacción FI02: Se utiliza para la modificación de datos de bancos en el módulo de Finanzas FI.
â—¦ Desactivación para modificación: Para modificar una implementación de Badi activa, primero debe desactivarse.
7 | El método para encontrar una Badi
• Descripción: Se puede encontrar una Badi colocando un breakpoint de sesión en el método GET_INSTANCE de la clase CL_EXITHANDLER para identificar las Badis que el programa implementa.
â—¦ Breakpoint en CL_EXITHANDLER: Permite detener el programa cuando SAP verifica si una Badi tiene implementaciones activas.
â—¦ Variable EXIT_NAME: En el debugger, la variable EXIT_NAME mostrará el nombre de la Badi en ejecución.
â—¦ Transacción SE24: Es el Class Builder para acceder a clases.
â—¦ Garantía de detección: Este método es efectivo para asegurar la detección de Badis, aunque puede resultar engorroso por las múltiples detenciones.
8 | Las diferencias entre las Badis y los Customer Exits
• Descripción: Existen distinciones fundamentales entre Badis y Customer Exits en cuanto a su activación y arquitectura.
â—¦ Implementaciones activas: Las Badis pueden tener varias implementaciones activas simultáneamente, a diferencia de los Customer Exits que solo permiten una.
â—¦ Mecanismo de activación: Las Badis utilizan métodos de objetos que se disparan en momentos específicos de los procesos, mientras que los Customer Exits se basan en módulos de funciones.
â—¦ Arquitectura: Las Badis presentan una arquitectura multicapa (SAP, partners, soluciones de clientes, localizaciones, etc.), superando la doble capa (SAP y soluciones de cliente) de los Customer Exits.
 
 
 
Sobre el autor
Publicación académica de Roberto Fluder Ahumada, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Roberto Fluder Ahumada
Profesión: Analista de Sistemas - Chile - Legajo: TD38U
✒️Autor de: 59 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Roberto Fluder






Disponibilidad Laboral: FullTime


















