Transacciones SAP BAdi

Transacciones SAP BAdi

Complementos empresariales: buscar, mostrar e implementar BAdIs

¿Qué son los BAdIs? – BAdis ofrece a los desarrolladores de SAP la oportunidad de ampliar los programas ABAP sin modificaciones. Son parte del concepto de mejora de SAP. Es completamente independiente de si se trata de programas estándar de SAP o complementos de un socio. Los BAdis también se conocen como opciones de extensión explícitas.

En el siguiente artículo, le presentaremos brevemente cómo encontrar e implementar estas extensiones.

SAP-Badi-Enhancement-Spots

¿Qué son los BAdIs?

SAP BAdIs (Business Add-Ins) son una opción de extensión en los sistemas SAP. BAdIs proporciona una forma de extender el código estándar de los programas SAP sin cambiar el código original. Permiten a los desarrolladores implementar lógica de negocios adicional en aplicaciones SAP para realizar requisitos o personalizaciones específicos.

BAdIs son puntos en el código del programa donde se puede insertar código específico del cliente. Estos puntos se conocen como «puntos de compromiso». Cuando se alcanza un punto de montaje BAdI, el desarrollador puede escribir código adicional para ampliar o anular la funcionalidad predeterminada.

Una ventaja importante de BAdIs es que proporcionan una separación clara entre el código estándar de SAP y el código específico del cliente. Esto facilita la actualización de los sistemas SAP, ya que el código específico del cliente en el BAdIs permanece intacto y solo es necesario actualizar el código estándar.

BAdIs se puede utilizar en varias aplicaciones SAP, como en los módulos SAP ERP, SAP CRM, SAP SCM y SAP BW. Ofrecen una extensibilidad flexible para que las empresas adapten sus sistemas SAP a sus necesidades comerciales específicas. Es completamente independiente de si se trata de programas estándar de SAP o complementos de un socio. Los BAdis también se conocen como opciones de extensión explícitas. En el siguiente artículo, le presentaremos brevemente cómo encontrar e implementar estas extensiones.

Avatar

¿Tiene preguntas sobre este tema? ¡Contáctenos ahora!

¡Contáctenos ahora!

¿Cuál es la diferencia entre los BAdIs clásicos y los nuevos en SAP?

Los BAdI clásicos se introdujeron en SAP ERP con la tecnología de mejora. Se basan en el concepto clásico de extensión y utilizan transacciones como SE18 y SE19 para la definición y la implementación. Funcionan de forma similar a las salidas de usuario, pero están orientadas a objetos. Limitación: Solo puede haber una implementación activa a la vez, lo que limita la flexibilidad.

Los nuevos BAdI, también conocidos como «BAdI del marco de mejora», se introdujeron con SAP NetWeaver 7.0. Están totalmente integrados en el llamado marco de mejora. Los nuevos BAdIs ofrecen conceptos modernos y orientados a objetos, tales como:

  • Múltiples implementaciones paralelas
  • Diseño dependiente del filtro
  • Uso en objetos ABAP (p. ej., SE24, SE80)
  • Tecnología uniforme para puntos de extensión, vistas y métodos

Resultado: Los nuevos BAdI son más flexibles, más fáciles de integrar y soportan escenarios de expansión modernos en SAP ECC y S/4HANA. Si desea desarrollar extensiones que se puedan mantener a largo plazo, debe preferir nuevos BAdI.

¿Cuáles son las transacciones BAdI más importantes en SAP?

En SAP, hay una serie de transacciones que son relevantes para trabajar con complementos de negocio (BAdI). Aquí hay una descripción general de las transacciones más importantes:

Transacción Descripción
SE18 Definición de BAdIs clásicos
SE19 Implementación de BAdIs clásicos
SE20 Actualización de BAdIs en el marco de mejora
SE24 Creación y edición de clases (por ejemplo, para nuevos BAdI)
SE80 Object Navigator – Entorno de desarrollo central
SE81 Sistema de información del repositorio (transacción obsoleta – muestra ayuda estructural)
SE84 Sistema de Información del Repositorio (Actual – Búsqueda de BAdIs, Clases, etc.)
SE37 Visualización de módulos de funciones: útil para el análisis de salida
SXMB_MONI Supervisión de BAdIs en el contexto de PI/PO (opcional, dependiendo de la aplicación)

Estas transacciones forman la columna vertebral técnica para el desarrollo y la implementación de extensiones a través de BAdIs, tanto en el marco clásico como en el nuevo marco de mejora.

¿Cómo se buscan los BAdis clásicos?

SE84, SE81 o relacionados con el programa

Tienes varias opciones para buscar BAdis clásicos:

  • Búsqueda gratuita a través de la transacción SE84 – Lista de BAdis seleccionados libremente
  • Búsqueda relacionada con la aplicación a través de la transacción SE81 – Listado de badis relacionados con la aplicación
  • Búsqueda relacionada con el programa: Busque «GET_INSTANCE» en el programa, el módulo de funciones o en el método. Haga doble clic en la variable de referencia para desplazarse a la definición de variable. También puede establecer un punto de interrupción en el método GET_INSTANCE y llamar al programa. Luego haga doble clic en la interfaz BAdI para navegar a la interfaz. Comience a CL_EX_ la lista de dónde se usa en las clases. La transacción SE18 generalmente proporciona documentación para el BAdi respectivo, que debe leer antes de comenzar la implementación.

¿Cómo se implementan las salidas clásicas del programa BAdl?

Pasos para crear una implementación de BAdl (uso de BAdl)

Para utilizar el BAdi respectivo para su aplicación, proceda de la siguiente manera. Primero, use la transacción SE18 para mostrar la definición del BAdi. Utilice la transacción SE18 o la transacción SE19 para elegir Crear implementación.

Especifique un nombre para la implementación de BAdi. Para nombrar, recomendamos simplemente poner una Z delante del nombre Badi para la implementación de Badi.

Para la clase de implementación, utilice los nombres ZCL+Badi. Al hacer doble clic en los métodos, ahora puede implementar los métodos deseados.

A continuación, active tanto los métodos de la clase de implementación como la implementación de BAdi. ¡Terminado!

MailCenter

El software para procesos empresariales SAP por correo electrónico

Solicitar una demostración en vivo
MailCenter

¿Cómo estás buscando nuevos BAdis?

Básicamente, la nueva técnica BAdi funciona de manera muy similar a la técnica clásica BAdi. Sin embargo, esta tecnología es mucho más performante, ya que no se crean más clases de adaptador aquí.

La búsqueda de un BAdi (Enhancement Spot) adecuado es análoga a la búsqueda de BAdis clásicos. Sin embargo, en la búsqueda relacionada con el programa, no estamos buscando GET_INSTANCE sino GET_BADI.

¿Cómo se implementa el nuevo BAdl Program Exits – Enhancement Spot?

También hay varias maneras de hacer esto. Muestre el punto de mejora deseado a través de la transacción SE18.

Utilice el menú Implementar extensión (F6) para crear la implementación. Asigne un nombre para la implementación de la extensión y la implementación de BAdi. Mantener los atributos para la implementación de BAdi. En el panel de navegación, haga clic en Implementación de clase.

Haga doble clic para implementar los métodos deseados. A continuación, habilite los métodos y la implementación de la extensión. Listo.

Posibilidad a través de la clase CL_EXITHANDLER

Cuando se llama a Badis, la clase es CL_EXITHANDLER. Esta clase contiene de nuevo el método GET_INSTANCE (véase más arriba). Con un punto de interrupción dentro del método, puede examinar estos BAdi con más detalle. Para ello, utilice la transacción SE80 o la transacción SE24. La variable EXIT_NAME contiene el nombre de los BAdIs actuales.

¿Le quedan preguntas sobre SAP BAdis?
Estaremos encantados de asesorarle en una reunión personal.

Thilo Kiefer

Thilo Kiefer

CEO und Produktmanager SAP Add-Ons

Echte Innovation entsteht für mich dort, wo Technik den Menschen dient und nicht umgekehrt.