✒️ABAP Las Badis
ABAP Las Badis
Unidad 3: Las ampliaciones y las notas de SAP
Lección 6: Las Badis
Nuevo tipo de extensión al sist, basado en el uso de objetos ABAP para la implementación de validaciones y ampliaciones al cód. estándar, sin tener que modificar el mismo.
Por medio de Badis podemos hacer modificaciones al cód. estándar de modo de poder satisfacer los requerimientos.
Usándolas, podemos definir filtros para la ejecución, por ejemplo en distintos países; y hacer ampliaciones para negocios específicos (petroleras, papeleras, etc).
Tipos de Badis:
- Badis Clásicas: son las primeras en existir:
- Badis nuevas: conocidas como Puntos de ampliación que incorporan las últimas tecnologías SAP.
Las vistas de una Badi:
Tienen dos vistas, la vista de definición y la vista de implementación (lo veremos en detalle).
La definición de una Badi:
**Viene definida en el sist. estándar y muy pocas veces deberemos crearle una nueva definición.
- Ir a la trans SE18, por donde accedemos a la vista de definición de las Badis y creamos:
- En la solapa Definiciones elem.punto ampl. veremos las configuraciones generales de la Badi.
- En la solapa Enhancem.Implementations vemos si la Badi está implementada.
- Del lado izq. donde dice Interface, si hacemos doble clic, vemos cual es la Interface asociada a la Badi y cuales métodos están asociados a la definición de la Badi.
- Una vez dentro, si hacemos doble clic en un método veremos los param. de ent. y sal. del método:
Implementación de una Badi:
- Por la trans SE19 se accede a la implementación de las Badis:
- Podemos ver los métodos disponibles en la implementación, en la solapa "Elementos Implementación ampl.".
- Si hacemos doble clic en los métodos podemos ver la lógica asociada a ellos, por lo tanto se podrá elegir entre usar la lógica estándar o crear una.
Pasos para crear una implementación:
Con un ej implementaremos una Badi que permita mostrar un msj cuando están modificando los datos de dirección de un banco determinado mediante la trans FI02.
Trans FI02: para la modificación de los datos de los bancos existentes en el sist. esta trans. pertenece al módulo FI.
Usaremos la Badi ADDRESS_CHECK, en el método IS_ACTIVE_FOR_COUNTRY, el cual permite ampliar la verificación del país.
- Ir a la trans SE19, en Crear Implementación, tildar "Badi clásico", completar el nombre de la definición y presionar Implement.
- Luego introducir el nombre de la implementación "ZADDRESS_CHECK" y continuar.
- En la prox. pantalla introducir texto breve para la implementación. También generaremos los filtros de ejecución dentro de "Tipo".
- Una vez dentro, agregamos una nueva entrada en la sección Valores de filtro:
Generando una nueva entrada para el cód. de país AR, es decir, la Badi a implementar solo se ejecutará si el país es AR.
- Guardar los cambios.
- Ahora introduciremos el cód. en el método "IS_ACTIVE_FOR_COUNTRY". Para ello, ir a la solapa Interface y hacer doble clic en el método.
Fijarse si está activa, si lo está, hay que desactivarla si o si para poder modificar la implementación. - Dentro del método introducir el cód. Para generar el msj en pantalla usamos la función POPUP_TO_INFORM:
- Por último guardar y activar la implementación.
Probando al implementación:
- Ir a la trans. FI02, introducir el país del banco AR y la clave de este "014" y presionar enter.
- En la prox. pantalla seleccionar el botón Dirección:
- En el recuadro Dirección calle, en el campo País, seleccionar AR y presionar el botón Aceptar.
- Finalmente veremos el msj:
Método para encontrar una Badi:
Para encontrar los lugares en donde existe una Badi, se puede usar el sig. método:
Ponemos un Breakpoint de sesión dentro del método GET_INSTANCE de la clase CL_EXITHANDLER
**Para acceder a una clase usaremos el Class Builder de la trans SE24.
Luego se ejecuta la trans. o programa que queremos verificar y el programa se detendrá en el Breakpoint, en la variable EXIT_NAME se mostrarán los nombres de las Badis que implementa el programa.
Diferencias entre BADIS y los Customer Exits:
- Pueden existir varias implementaciones activas en el mismo sist. de una Badi pero solo una de un Customer Exit.
- Los Customer Exits usan MF, pero las Badis usan métodos de objetos que se disparan en ciertos momentos de los procesos.
- La Badis tienen una arquitectura multicapa (SAP, partners, soluciones de clientes, etc) mientras que los Customer Exit son doble capa (SAP y soluciones de cliente).
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada