Hola Ravi,
BADI
Los Business Add-Ins son una nueva técnica de mejora de SAP basada en objetos ABAP.
Los BADI permiten un paisaje de sistema multinivel (soluciones de SAP, de socios y de clientes, así como versiones por país, soluciones sectoriales, y similares). Los Business Add-Ins se pueden crear en cada nivel dentro de dicha infraestructura de sistema.
Algunos BADI pueden tener múltiples implementaciones independientes, lo cual es mucho mejor para la implementación de software, ya que varios desarrolladores pueden implementar el mismo BADI de forma independiente.
Customer-exit
Las SALIDAS DE CLIENTE (mejoras) son FUNCIONES, por lo que se llaman utilizando CALL FUNCTION (o más exactamente CALL CUSTOMER FUNCTION).
Las salidas de cliente asumen una infraestructura de dos niveles (SAP y soluciones de cliente).
Una salida de cliente implementada en un proyecto no se puede implementar en otro.
User-exits (modificaciones)
Las SALIDAS DE USUARIO son FORMULARIOS y se llaman desde programas estándar de SAP utilizando PERFORM.
Dentro del formulario (salida de usuario) puedes leer y cambiar casi cualquier dato global del programa principal.
Las salidas de usuario son más flexibles porque tienes más información para usar en tu código, pero por otro lado, es muy fácil manipular erróneamente los datos globales y llevar al programa estándar a un error o incluso hacer que la base de datos sea inconsistente.
Las salidas de usuario no tienen ninguna clasificación.
Básicamente diseñado para el módulo SD.
Las salidas de usuario solo se pueden escribir usando una clave de acceso.
Con las salidas de usuario, el código que el desarrollador ha escrito no estará presente en la próxima versión a menos que se utilice una herramienta de asistencia para modificaciones.
Recompensa puntos si lo encuentras útil:)
Saludos
Sathish