✒️ABAP Las Badis
ABAP Las Badis
BADIS (BUSINESS ADD-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.
Uitlizando Badis podremos definir filtros para la ejecución de forma tal de poder tener diferentes procesos. Esto le permite a SAP poder utilizar las badis para realizar localizaciones del sistema, por eso el programa estándar ya incluye varias implementaciones de badis.
Mediante las implementaciones de las badis se pueden hacer aplicaciones para negocios específicos como poe ejemplo petroleras, quimicas, papelerias etc. Esto hace que las badys sean muy útiles debido a que poseen una arquitectura multicapa (SAP, partner, soluciones de clientes, localizaciones, soluciones específicas para industrias, etc.).
TIPOS DE BADIS:
-> BADIS CLASICAS:
Son las primeras que existieron.
->BADIS NUEVAS:
También conocidas como Puntos de Ampliación o Enhancement Sport que incorporan las últimas tecnologías de SAP
VISTAS DE UNA BADI
->Vista de definición
Mediante la transacción SE18 accederemos 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 Enhancem.Implementaions veremos si la badi está implementada.
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.
En la solapa método veremos los parámetros de entrada y salida del método.
Nota: La definición de las badis viene definida en el sistema estándar y muy pocas veces será necesario crear una nueva definición.
->Vista de implementación
Mediante la transacción SE19 accederemos a la vista de implementación de las badis.
para crear una implementación
-> Acceder a la transacción SE19 completamos el nombre de la definición y presionamos crear implementación.
-> luego intruducir el nombre de la implementación Zname y presionar continuar.
-> El siguiente paso introducir un texto breve para la implementación y generar los filtros con los cuales se va implementar la badi.
-> introducir el código en el método para ello se accederemos a la solapa interface y dar doble click en el método.
-> para generar el mensaje en pantalla se utilizara la función POPUP_TO_INFORM.
-> por último, se guarda y se activa la implementación de la badi.
MÉTODO PARA ENCONTRAR UNA BADI
Para encontrar los lugares en donde existe una badi, se puede usar el siguiente método:
poner un break point de seción dentro del método GET_INSTANCE de la clase CL_EXITHANDLER.
Para acceder a una clase utilizaremos el class Builder que es la transacción SE24
Luego se ejecuta la transacción o programa que queremos verificar y le programa se detendrá en el Berak point, en la variable Exit_name se mostrarán los nombre de las badis que implementa el programa.
Este método puede resultar un poco engorroso ya que se detiene muchas veces la ejecución, pero nos aseguramos que si una badi existe se detendrá en ese punto.
Lo que se está haciendo es poner un break point en le moneto en el que SAP verifica si una definición de una badi tiene una implementación activa; por lo tanto, aunque no exista ninguna implementación activa para esa badi particular el método detectará que existe una Badi en ese punto.
DIFERENCIAS ENTRE LAS BADIS Y LOS USER EXIT.
-> Pueden existir varias implementaciones activas en el mismo sistema de una badi pero solo una de un USER EXIT.
-> Mientras los User EXIT usan módulos de funciones , las badis utilizan métodos de objetos que se disparan en determinados momentos de los procesos.
-> Las badis utilizan una arquitectura Multicapa, mientras los User Exit son doble capa únicamente.
 
 
 
Sobre el autor
Publicación académica de Diego Armando De Santiago Castanon, en su ámbito de estudios para la Carrera Consultor ABAP.
Diego Armando De Santiago Castanon
Profesión: Ingenieria en Sistemas Computaciona - Mexico - Legajo: CQ90U
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Diego De