✒️ABAP Las Badis
ABAP Las Badis
1.- ¿Qué 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 ampliaiones al código estándar de SAP, sin tener que modificar el código estándar.
- Mediante las Badis podemos realizar modificaciones al estándar de modo de poder satisfacer los requerimientos del cliente.
- Utilizando Badis podremos definir filtros para la ejecución de forma tal de poder tener diferentes procesos, Existe una Badi para realizar lcalizaciones del sistema; por eso es que incluso el estándar ya incluye varias Badis implementadas.
- Mediante las Badis se pueden hacer aplicaciones para negocios especificos, petroleras, papeleras, quimicas, etc. esto hace que las Badis sean muy útiles debido a que poseen una arquitectura Multicapa(SAP, partners, soluciones de cliente, localizaciones, soluciones especificas para industrias, etc.)
AudioTip: Dado que las Badis son un tipo de ampliación de SAP únicamente se implementan en el código estándar de SAP, ya que el código Z implementado por nostros puede ser modificado por cualquier programador.
2.- Tipos de BADIS.
- Badis Clásicas: Son las primeras que existierón.
- Badis Nuevas: Conocidas como Puntos de ampliación o Enhacement Spot que incorporán las últimas tecnologías de SAP.
3.- Vistas de una BADI.
La definición de las badis viene definida en el sistema estándar y muy pocas veces será necesario crear una nueva definición.
Tienen dos vistas, la vista de definición y la vista de implementación.
4.- Definición de una BADI.
Transacción SE18: accedemos a la vista de definición de las BADIS.
- Pestaña-Definiciones ele.punto ampl.: Aquí se hacen las configuraciones generales de la BADI.
- Pestaña- Enhancement Implementations: Veremos si la Badi está implementada.
- Si hacemos doble-clic en la 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 el método, veremos los parámetros de entrada y salida del método.
5.- Implementación de una BADI.
Transacción SE19: Transacción que se utiliza para la implementación de una BADI.
6.- Paso a paso en la creación de una implementación.
Transacción FI02: Esta transacción estándar 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
Una de las ventajas de las BADIS es la posibilidad de tener diferentes implementaciones de la misma BADI en base a los valores de los filtros.
- Selecciono en el valor de los filtros a MX México: La BADI a implementar solo se ejecutará si el país es MX.
- Introducimos 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.
- NOTA: Para modificar la implementación de una badi activa primero debemos desactivarla.
REFLEXIÓN: La tabla de Valores de filtro esta habilitada debido a que en la implementación de la badi está tildada la opción dependiente filtro.
7.- Método para encontrar una BADI.
Para poder encontrar los lugares donde existe una BADI, se usa el sigueinte método:
- Transacción SE24: Accedemos al (Class Builder ó Generador de Clases), para acceder a alguna clase.
- Escribimos la clase CL_EXITHANDLER y ponemos un BREAKPOINT dentro del método GET_INSTANCE.
- 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 hacemos es poner un BREAKPOINT y en el momento en que SAP verifica si una definición de BADI tiene alguna 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.
8.- Diferencias entre las BADIS y los Customer Exits.
- Pueden existir varias implementaciones activas en el mismo sistema de una BADI, VS solo una de un Customer Exit.
- Mientras que los Customer Exits utilizan módulos de funciones VS 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, localizacionessoluciones especificas para industrias,etc) VS mientras que los Customers Exits son doble capa únicamente (SAP y soluciones de cliente).
 
 
 
Sobre el autor
Publicación académica de Gustavo Alberto Ramirez Franco, en su ámbito de estudios para la Carrera Consultor ABAP.
Gustavo Alberto Ramirez Franco
Profesión: Ingeniero en Sistemas Computacionales - Mexico - Legajo: TA38Q
✒️Autor de: 38 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Gustavo Ramirez