✒️ABAP Las Badis
ABAP Las Badis
BADIS (Business adds-Ins)
Tipos de Badis. Existen dos tipos:
· Badis Clasicas. Son las primeras que existieron.
· Badis Nuevas: conocidas como punto de ampliación o enhancement spot que incorporan las últimas tecnologías de sap.
Vistas de una Badi. Tienen dos vistas:
· Vista de Definición.
· Vista de Implementación
La definición de las badis viene definida en el sistema estándar y muy pocas veces será necesario crear una nueva definición.
Definición de una Badi. Mediante la transacción SE18 accedemos a la vista de definición de las badis.
En la solapa definiciones elem. Punto ampl. Veremos las configuraciones generales de la badi.
En la solapa enhacem.implementations veremos si la badi esta implementada.
Si hacemos doble clic en interface veremos cual es la interface asociada a la badi y cuales métodos están asociados a la definicion de la badi.
Si hacemos doble clic en un método veremos los parámetros de entrada y salida del método.
Implementación de una Badi. A través de la transacción SE19 se accede a la implementación de las badis.
Podemos ver los métodos disponibles en la implementación.
Si hacemos doble clic en los métodos, podremos ver la logica asociada a ellos, por lo tanto se podrá elegir entre utilizar dicha logica estándar o crear una nueva.
Paso a Paso en la creación de una implementación. En el siguente ejemplo vamos a implementar 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.
Para ello, implementaremos la bapi ADDRESS_CHECK, en el método IS_ACTIVE_FOR_COUNTRY, el cual permite ampliar la verificación del país.
Vamos a ala transacción SE19, marcamos la badi clásico, damos un nombre y presionamos el botón crear implementación.
Introducimos el nombre de la implementación que será ZADDRESS_CHECK y presionamos continuar.
Introducimos un texto breve para la implementación. Generamos los filtros con los cuales se va a ejecutar la badi.
Para ello, agregamos una nueva entrada en la sección valores de filtro.
Generando una nueva entrada para el código del país AR. Es decir, la badi a implementar solo se ejecutara si el país es AR. Finalmente guardamos los cambios.
Ahora vamos a introducir el código en el método IS_ACTIVE_FOR_COUNTRY. Para ello, accedemos a la solapa Interface y hacemos doble clic en el método.
Para modificar la implementación de una badi activa primero debeos desactivarla
Dentro del método introducimos el código abap, para generar el mensaje en pantalla utilizamos la función POPUP_TO_INFORM.
Por último, guardamos y activamos la implementación de la badi.
Para probar cómo funciona la implementación accedemos a la transacción FI02, introducimos el país del banco AR, la clave de banco 014 y presionamos enter.
En la siguente pantalla seleccionamos el botón dirección o address.
En el campo país elegimos AR y presionamos aceptar.
Finalmente vemos elmensaje
Metodo para encontrar una Badi. Para encontrar los lugares en donde existe una badi, se pueden usar los siguientes métodos:
· Ponemos un BREAKPOINT de sesión dentro del método GET_INSTANCE de la clase CL_EXITHANDLER. Para acceder a una clase utilizaremos la clase builder que es la transacción SE24.
Luego se ejecuta la transacción o programa que queremos verificar y el programa se detendrá en el BREAKPOINT, en la variable EXIT_NAME se mostrara los nombres de las badis que implementa el programa.
Diferencias entre Badis y los Customer Exits.
 
 
 
Sobre el autor
Publicación académica de Alexander Cardenas, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexander Cardenas
Profesión: Ingeniero de Sistemas - Colombia - Legajo: UN96T
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP MM Nivel Avanzado
- Carrera Consultor en SAP MM Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial