Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

En este documento se detalla el procedimiento a seguir para implementar una BAdI de producto.

Se realizará un ejemplo concreto de implementacion Z.

Introducción

Esto es una guía para facilitar al cliente la implementación de BAdIs de b+. En este documento se realizará una demostración de cómo realizar este procedimiento.

Caso de uso

En este caso se va a implementar una BAdI para cambiar el funcionamiento estándar de uno de sus métodos. Se va a modificar el valor del campo opcional “SystemInfo” que actualmente no aparece en el XML de una factura del monitor eInvoice Polonia.

Lo que se va a hacer mediante la implementación de la BAdI es cambiar el valor del campo cupón mediante una lógica de cliente, a continuación se detalla el procedimiento a seguir.

Image Removedimage-20240312-105239.png

Se añadirá un valor del campo “SystemInfo” a través de una lógica de cliente mediante la implementación de la BAdI. A continuación se detalla el procedimiento a seguir.

Localización de la BAdI a implementar

Para encontrar la BAdI debemos buscar en la documentación del producto la sección Ampliaciones de cliente (PL) .

En nuestro ejemplo necesitamos la BAdI /EINVO/PL_IF_BADI_ISSUED_MAP que se encuentra en el punto de ampliación: /EINVO/PL_ENH_SPOT_ISSUED (punto de ampliación para mapeo de datos en fichero XML)

Una vez la tenemos identificada pasamos a la implementación de la BAdI con el código que queremos que se ejecute en lugar del estándar.

Implementación de la BAdI

En este apartado se va a desarrollar los pasos a seguir para la implementación de una BAdI . Como hemos visto el primer paso es identificar qué BAdI se va a modificar. Una vez identificada podemos seguir los siguientes pasos.

Pasos implementación BAdI:

Para la implementación de la nueva BAdI acceder a la transacción se19 y en la sección “Crear implementación”, rellenar el campo Punto de ampliación con el nombre  del “Punto de ampliación” que contiene la BAdI que queremos modificar. En este caso:  /EINVO/PL_ENH_SPOT_ISSUED.

A continuación añadimos un nombre y una descripción a la implementación. Seleccionamos crear.

Nos pedirá crear una entrada en el catalogo de objetos, guardamos como objeto local.

En la siguiente pantalla nos pedirán el nombre de la implementación de la BAdI, el nombre de la clase implementación y  la definición de la BAdI. pulsamos cancelar y crearemos la implantación mas adelante

En la siguiente pantalla de Implementación de mejoras de la BAdI pulsamos en crear e introducimos la definición BAdI y la implementación BAdI.

Vamos a la transacción SE24 y creamos la clase de implementación, en este caso se llamará ZCL_PL_PRUEBA_MAP.

Desde la pestaña Propiedades, seleccionar Superclase y en el campo “Hereda de”, introducir la clase de la que heredan los métodos estándar. Guardar y activar.

De esta forma la BAdI va a ejecutar primero todo el estándar del programa a excepción de lo que se cambia en la BAdI z que estamos creando.

Volvemos a la ventana de Implementación de mejoras de la BAdI. Desplegar el el nombre de la implementación,  acceder a clase que implementación y en el nombre de la clase que implementa introducimos la clase creada anteriormente. Guardamos.

Realizamos doble clic sobre la clase. Pulsamos sobre el método que queramos implementar, GET_NAGLOWEK, y redefinimos.

Copiar y pegar el código estándar de GET_NAGLOWEK y modificamos lo que queramos. En este caso se añade el campo “SystemInfo”.