![](/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/10.jpg)
Badis: son un nuevo tipo de extensión al sistema SAP. Se encuentran basadas en la utilización de objetos de ABAP para la implementación de validaciones y ampliaciones al código estándar de SAP, sin tener que modificar código estándar.
Mediante las implementaciones de las Badis se pueden hacer aplicaciones para negocios especificos como petroleras, papeleras, químicas, etc. Esto hace que las Badis sean muy útiles debido a que poseen una arquitectura Multicapa (SAP, partners, soluciones de clientes, localizaciones, soluciones especificas para industrias, etc).
Existen dos tipos de Badis, ellas son:
- Badis Clásicas: son las primeras existieron.
- Badis Nuevas: también conocidas como Punto de aplicación o Enhancement Spot que incorporan las últimas tecnologías de SAP.
Las Badis tienen dos vistas: la vista de definición y la vista de implementación.
Mediante la transacción SE18 accedemos a la vista de definición de las Badis. Veremos la configuración correspondiente a un punto de ampliación o Enhancement Spot. En la solapa Definiciones elem.punto ampl. veremos las configuraciones generales de la Badi. En la solapa Enhancem. Implementations veremos si la Badi está 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 definición de la Badi. Si hacemos doble clic en un método veremos los parámetros de entrada y salida del método.
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, podemos ver la lógica asociada a ellos, por lo tanto se podrá elegir entre utilizar dicha estándar o crear una nueva.
Paso a paso en creación de una implementación:
Transacción F102: es utilizada para la modificación de los datos de los bancos existentes en el sistema SAP. ( esta transacción pertenece al módulo de finanzas FI).
Vamos a implementar una Badi que permite mostrar un mensaje cuando se están modificando los datos de dirección de un banco determinado mediante la transacción F102. Para ello, implementamos la Badi ADDRESS_CHECK, en el método IS_ACTIVE_FOR_COUNTRY, el cual permite ampliar la verificación del país.
Los primero que hacemos es acceder a la transacción SE19, tildamos "Badi clásico", completamente el nombre de la definición y hacemos clic en el botón Crear implementación, luego introducimos el nombre de la implementación que será ZADDRESS_CHECK y hacemos clic en continuar. En la siguiente pantalla introducimos un texto breve para la implementación. También vamos a generar 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 de país AR. Es decir, la Badi a implementar solo se ejecutará si el país 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, dentro del método introducimos el código ABAP. Para generar el mensaje en pantalla utilizamos el módulo de funciones POPUP_TO_INFORM. Por ultimo guardamos y activamos la implementación de la Badi.
El método para encontrar una Badi
Ponemos un BREAKPOINT de sesión dentro del método GET_INTANCE de la clase CL_EXITHANDLER. ( PARA ACCEDER A UNA CLASE UTILIZAMOS EL CLASS BUILDER CORRESPONDIENTE A 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 implementan el programa.
 
 
 
Sobre el autor
Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Javier Miguel Angel Barcelo
Profesión: Militar - Argentina - Legajo: DQ34X
✒️Autor de: 105 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
Certificación Académica de Javier Angel