Avalados por :
Hola a todos,
Amablemente, ¿alguien puede darme tutoriales/artículos o cualquier publicación que explique qué sucede a nivel de kernel o en el servidor de aplicaciones cuando usamos BADI e implementamos para una transacción dada?
Las respuestas útiles serán premiadas con puntos.
Gracias,
Chinmay.
Hola,
Para mejorar un programa, primero debes definir un Business Add-In. El desarrollador de la aplicación crea una interfaz para el add-in. A partir de esto, el equipo de gestión de mejoras crea una clase adaptadora que implementa la interfaz y proporciona así la interfaz para la implementación por parte del cliente, socio, etc. Luego, el desarrollador crea una instancia de la clase adaptadora en el programa de aplicación y llama al método correspondiente en el momento adecuado.
Para cada Business Add-In tienes una interfaz y una clase adaptadora que la implementa. La interfaz es implementada por el usuario.
La clase generada (adaptador de Add-In) tiene las siguientes tareas:
· Control
La clase adaptadora llama a las implementaciones activas.
· Filtrado
Si un Business Add-In debe ejecutarse solo bajo ciertas condiciones, la clase adaptadora se asegura de que solo se ejecuten ciertas implementaciones.
Este concepto garantiza el uso múltiple. Cualquier Business Add-In que se haya implementado una vez ya puede ser implementado nuevamente por los grupos enumerados a la derecha de la cadena de software mostrada en la gráfica anterior.
Los clientes pueden encontrar las mejoras en su sistema en la Guía de Implementación (IMG) y en la jerarquía de componentes. Si un cliente desea utilizar un Business Add-In, primero crea una implementación. El cliente debe implementar los métodos y las mejoras, y luego activar la implementación de la mejora. Los componentes activos de la mejora se llaman en tiempo de ejecución.
Normalmente, un Business Add-In contiene una interfaz y otros componentes adicionales como códigos de función para mejoras de menú. En algunos casos, los Business Add-Ins también incluyen mejoras para pantallas. La mejora, la interfaz y las clases generadas se encuentran en el espacio de nombres de desarrollo de la aplicación correspondiente. Las implementaciones de Business Add-In se crean en el espacio de nombres de implementación respectivo.
Para más detalles, consulta este enlace
http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7ce8940e11d295df0000e82de14a/frameset.htm
Saludos,
Pankaj Singh
Espero que esto pueda responder tus dudas
Hola,
BADI utiliza el concepto de INTERFACE. SAP decide que si un programa puede ser mejorado por el cliente, entonces crea una interfaz e inserta código para llamar a los métodos de esa interfaz. Los clientes que desean agregar su propia funcionalidad proporcionarán una implementación a esa interfaz y a los métodos de la interfaz. Por lo tanto, cuando el BADI está activo, su código se ejecuta por el programa estándar de SAP con usted modificando el programa estándar de SAP. Con esto, diferentes clientes pueden tener funcionalidades diferentes además de la funcionalidad entregada por SAP.
Echa un vistazo a los siguientes enlaces.
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
Los Business Add-Ins son mejoras a la versión estándar del sistema.
Business Add-In es una nueva técnica de mejora de SAP basada en objetos ABAP.
Se pueden insertar en el sistema SAP según los requisitos específicos del usuario.
Cada Business Add-In tiene:
• al menos una definición de Business Add-In
• una interfaz de Business Add-In
• una clase de Business Add-In que implementa la interfaz
Para mejorar un programa, primero se debe definir un Business Add-In.
Posteriormente se generan automáticamente dos clases:
• Una interfaz con 'IF_EX_' insertado entre el primer y el segundo carácter del nombre de BADI.
• Una clase de adaptador con 'CL_EX_' insertado entre el primer y el segundo carácter del nombre de BADI.
El desarrollador de aplicaciones crea una interfaz para este Add-In.
Hay múltiples formas de buscar BADI.
• Encontrar BADI utilizando CL_EXITHANDLER=>GET_INSTANCE
• Encontrar BADI utilizando SQL Trace (TCODE-ST05).
• Encontrar BADI utilizando el Sistema de Información del Repositorio (TCODE- SE84).
1. Ir a la transacción, para la cual queremos encontrar el BADI, tomando el ejemplo de la transacción VD02. Haga clic en Sistema->Estado. Haga doble clic en el nombre del programa. Una vez dentro del programa, busque 'CL_EXITHANDLER=>GET_INSTANCE'.
Asegúrese de que el botón de radio "En el programa principal" esté marcado. Se listarán todos los programas con llamadas a los BADI.
El parámetro de exportación 'EXIT_NAME' para el método GET_INSTANCE de la clase CL_EXITHANDLER tendrá la salida de usuario asignada. El parámetro cambiante 'INSTANCE' tendrá la interfaz asignada. Haga doble clic en el método para ingresar al código fuente. La definición de la instancia le dará el nombre de la interfaz.
2. Inicie la transacción ST05 (Análisis de rendimiento).
Establezca la marca de campo "Rastreo de búfer"
Nota: También necesitamos rastrear las llamadas al búfer, ya que las tablas de base de datos BADI están en búfer. (Especialmente vista V_EXT_IMP y V_EXT_ACT)
Presione el botón "Activar rastreo". Inicie la transacción VA02 en una nueva sesión de GUI. Vuelva a la sesión de rastreo de rendimiento.
Presione el botón "Desactivar rastreo".
Presione el botón "Mostrar rastreo".
Aparece la pantalla emergente "Establecer restricciones para mostrar el rastreo".
Ahora, filtre el rastreo en Objetos:
• V_EXT_IMP
• V_EXT_ACT
Presione el botón "Selecciones múltiples" detrás del campo Objetos
Llene: V_EXT_IMP y V_EXT_ACT
Todos los nombres de clase de interfaz de vista V_EXT_IMP comienzan con IF_EX_. Este es el prefijo estándar de SAP para las interfaces de clase BADI. El nombre de BADI está después del IF_EX_.
Entonces, el nombre de BADI de IF_EX_CUSTOMER_ADD_DATA es CUSTOMER_ADD_DATA
3. Ir a "Mantener transacción" (TCODE- SE93).
Ingrese la transacción VD02 para la cual desea encontrar el BADI.
Haga clic en los botones de visualización.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute