![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Las Badis
ABAP Las Badis
![ABAP Las Badis ABAP Las Badis](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/236.jpg)
1- Que son las Badis?
Business Adds-Ins es un tipo de extension al sistema SAP basados en objetos ABAP para la implementación y validación y ampliaciones al código estándar de SAP, sin tener que modificar.
Con las Badis podremos realizar modificaciones al estándar, podremos definir filtros para la ejecución de tal forma tener varios procesos EJ: para diferentes países. Esto permite utilizar los blandos para realizar la localizaciones del sistema el sistema estándar ya incluye varias implementación de Badis. Mediante los BADIS se pueden hacer aplicaciones para negocios específicos como petroleras, papeleras, químicas, etc. Hace que sean muy útiles debido a que poseen una arquitectura Multicapa (SAP, partners, soluciones de clientes, localizaciones y soluciones especificas para la industrias).
Las BADIS se implementas únicamente en el código estándar de SAP, ya que el código Z puede ser cambiado por el programador no es estándar.
2- Tipos de Badis
Dos tipos
- Badis Clásicas: son las primeras que existieron
- Badis Nuevas: conocidas como Puntos de ampliación o Enhancement Spot que incorporan las ultimas tecnologías de SAP.
3-Vistas de una Badi
Las badis tienen dos vistas: la vista de definición (vienen en el sistema estándar y muy pocas veces será necesario crear una nueva definición) y la vista de implementación
4-Definición de una Badi
Usamos SE18 accedemos a vista de definición de las Badis.
Entramos a la configuración Punto de ampliación o Enhancement Spot. En la solapa Definiciones elem.punto ampl. vemos la configuraciones generales de la Badi.
En la solapa Enhancem.Implementations vemos si la Badi está implementada.
En Interface vemos cual es la Interface asociada a la Badi y cuales métodos están asociados a la definición de la Badi.
Hacemos doble clic en un método vemos los parámetros de entrada y salida del método.
5- Implementación de una Badi
Usamos SE19 para ingresa a la implementación de las Badis. Podemos ver los métodos disponibles en la implementación.
Hacemos doble clic en los métodos, y vemos la lógica asociada a ellos, por lo tanto se podrá elegir entre utilizar dicha lógica estándar o crear una nueva.
6-Paso a paso en la creación de una implementación
Implementamos una badi que permita mostrar un mensaje cuando se están modificando los datos de dirección de un banco determinado mediante la transacción FI02. (utilizada para la modificación de los datos de los bancos existentes en el sistema SAP. Pertenece al módulo de Finanzas FI.
Implementamos la badi ADDRESS_CHECK, en el método IS_ACTIVE_FOR_COUNTRY, el cual permite ampliar la verificación del país.
Accedemos a SE19, tildamos "Badi clásico", completamos el nombre de la definición y luego Crear Implementación.
Ponemos el nombre de la implementación ZADDRESS_CHECK y continuamos.
En la pantalla introducimos un texto breve para la implementación y vamos a generar los filtros con los cuales se va a ejecutar la badi.
Por ejemplo: Supongamos que deseamos implementar una BAdi que tiene relación con un proceso contable particular de una empresa multinacional el cual es diferente según el país en donde nos encontremos. Dada esta situación podemos desarrollar una implementación diferente para cada país creando un filtro por código de país en la BAdi y asignar el desarrollo de cada implementación a un programa ABAP diferente o al equipo de programación ABAP de cada país. En caso que dos países realicen el proceso contable de igual forma podremos asignar la misma implementación a diferentes valores de los filtros.
Generamos una nueva entrada para el código de país AR. solo se ejecutará si el país es AR. Después guardamos.
La tabla de Valores de filtro está habilitada debido a que en la implementación de la badi está tildada la opción dependiente filtro.
Introducimos el código en el método IS_ACTIVE_FOR_COUNTRY. Vamos a la solapa Interface y hacemos doble clic en el método.
Para modificar la implementación de una badi activa primero debemos desactivarla.
En el método introducimos el código para generar el mensaje en pantalla utilizamos la función POPUP_TO_INFORM.
Guardamos y activamos.
Para probar la implementación vamos a la transacción FI02, ponemos el país del banco AR(Argentina), la clave de banco 014 y presionamos enter. Seleccionamos el botón Dirección o Address, después en el campo País elegimos AR y aceptamos. Luego veremos el mensaje en pantalla.
7-Implemetacion para encontrar una Badi
Este método es poco ágil se detiene muchas veces la ejecución, pero nos aseguramos que si una Badi existe se detendrá en ese punto.
Lo que hacemos es poner un BREAKPOINT en el momento en que SAP verifica si una definición de Badi tiene alguna implementación activa, aunque no exista ninguna implementación activa para esa Badi particular el método detectará que existe una Badi en ese punto.
8- Diferencias entr las Badis y los Customer Exits
Pueden existir varias implementaciones activas en el mismo sistema de una Badi pero solo una de un Customer Exit.
Los Customer Exits utilizan módulos de funciones, las Badis utilizan métodos de objetos que se disparan en determinados momentos de los procesos.
Las Badis poseen una arquitectura Multicapa (SAP, partners, soluciones de clientes, localizaciones, soluciones específicas para industrias, etc) mientras que los Customer Exits son doble capa únicamente (SAP y soluciones de cliente).
 
 
 
Sobre el autor
Publicación académica de Juan Carlos Pavicich, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Carlos Pavicich
Profesión: Técnico Informático - Argentina - Legajo: VR91L
✒️Autor de: 116 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Tengo el agrado de dirigirme a ud/s con el objeto de mencionar mi experiencia y conocimientos técnicos necesarios para desarrollar actividades en el rubro de su empresa.
Certificación Académica de Juan Pavicich