✒️ABAP Las Badis
ABAP Las Badis
1) QUE SON LAS BADIS?
BADIS (BUSINESS ADDS-INS) son un nuevo tipo de extensión al sistema SAP, basado en la utilización de objetos Abap para la implementación de validaciones y ampliaciones al código estándar de SAP, sin tener que modificar el código estándar.
Utilizando BADIs se pueden definir filtros para la ejecución de forma tal de poder tener diferentes procesos como ejemplo países diferentes. Las BADIS son muy útiles porque poseen una arquitectura Multicapa (SAP, partners, soluciones de clientes, localizaciones, soluciones específicas para industrias, etc)
Se debe dejar claro que las BADIS se implementan en el código estándar de SAP.
2) TIPOS DE BADIs.
- Badis Clásicas. Son las primeras que existeron
- Badis Nuevas. Conocidas también como Puntos de ampliación o Enhacement Spot que incorporan las últimas tecnologías de SAP.
3) VISTAS DE UNA BADI.
Tienen 2 vistas:
- La vista de definición . Esta viene definida en el sistema estándar y muy pocas veces será necesario crear una nueva definición-
- La vista de implementación
4) DEFINICIÓN DE UNA BADI
Se accesa la definición a través de la transacción SE18, con las pestañas
- Definiciones elem punto ampl. Se ven las configuraciones generales de la BADI
- Enhancem.Implementations. Se puede ver si la Badi esta implementada
- Si se le da click a INTERFACE, se verá cual es la interface asociada a la Badi y cuales métodos están asociados a la Badi.
- Se se da click en los métodos, se verán los parámetros de entrada y salida del método.
5) IMPLEMENTACIÓN DE UNA BADI.
Se hace a través de la transacción SE19, en donde se pueden ver los métodos disponibles en la implementación. Si se hace doble click en los métodos, se podrá ver la lógica asociada a ellos por lo que se podrá decidir si se utiliza la lógica estándar o se crea una nueva.
6) PASOS PARA LA CREACIÓN DE UNA IMPLEMENTACIÓN
- Entrar a las SE19
- Marcar Badi Clásico
- Se colova el nombre de la definición ( que previamente se busco), en este ejemplo es ADDRESS_CHECK
- Presionar el botón Crear Implementación
- Se introduce el nombre de la nueva implementación : ZADDRESS_CHECK
- Se presiona en continuar
- En la siguiente pantalla se introduce el texto de la implementación.
- Se generan los filtros con los cuales se va a ejecutar la BADI.
- Se agregan los valores de los filtros.
- Se va a introducir el nombre del método que se va a programar, en este caso IS_ACTIVE_FOR_COUNTRY
- Se entra en la pestaña Intercafe y se le da doble click al método
- Para modificar la implementación de una BADI activa primero se debe descativar.
- Se introduce el código Abap en el método.
- Se graba y se activa la BADI,
7) MÉTODO PARA ENCONTRAR UNA BADI.
Para encontrar una BADI se puede usar el siguientes Método:
- Entrar en la transacción que trata las clases SE24 ( Class Builder)
- Colocar un Break-point de sesión dentro del método GET_INSTANCE de la clase CL_EXITHANDLES exactamente en la llamada al método get_class_name_by_interface
- Se ejecuta le transacción o programa que queremos verificar, y este se detendrá en el break-point
- En la variable EXIT_NAME ese almacenará losnombres de las BADIS que implementa el programa
Se está colocando un breakpoint en el momento que SAP verifica si una definición de BADI tiene alguna implementación activa, por lo tanto , si no existe ninguna implementación activa para esa BADI, el método detectará que existe una BADI en ese punto.
8) DIFERENCIAS ENTRE BADIS y CUSTOMER EXIT.
- Pueden existir varias implementaciones activas de una Badi pero solo habrá una de Customer Exit.
- Los Customer Exit utilizan Módulos de funciones y las BADIS utilizan método de objetos que se disparan en determinados momentos del proceso.
- Las BAdis con Multicapa, y los customer exits son doble capa (SAP y soluciones de cliente)
 
 
 
Sobre el autor
Publicación académica de Maria Guadalupe Gonzalez Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Maria Guadalupe Gonzalez Sanchez
Mexico - Legajo: LB83R
✒️Autor de: 147 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP BI / BW BO Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial