Saltar al contenido

que es bapi y que es badi

Un Usuario hizo la siguiente pregunta

Hola gurús

cuál es la diferencia entre bapi y badi. ¿Dónde usamos estos dos conceptos?

Gracias por adelantado

5 respuestas

  • Ex miembro

    Hola,

    BAPI: estos son programas publicados que se utilizan para cargar datos en un sistema SAP.

    BAPI es una interfaz de registro de aplicaciones comerciales y desempeña el papel de plataforma de comunicación para el desarrollo de aplicaciones, p. Ej. para reservar documentos de contenido de archivos planos, vea más en trx BAPI.

    BAPI (Business Application) es típicamente un módulo funcional que normalmente también está habilitado con RFC y actúa como un modo de objeto comercial. Por ejemplo, una orden de venta como objeto comercial con un método probado: la BAPI es BAPI_SALESORDER_CREATEFROMDAT2.

    BAdI es un complemento comercial y debería alejar el lugar de las salidas de los usuarios (trx: SE18, SE19)

    BADI: esta es una técnica de mejora de programas. SAP proporciona vacantes BADI en los programas estándar. Debe buscar el BADI apropiado como requisito previo y luego realizar la codificación y el complemento en el programa.

    BADI es un complemento empresarial, uno de los métodos de SAP para implementar salidas de usuarios o cambiar al código estándar de SAP. Los BADI son cambios basados ​​en objetos ABAP en lugar de las subrutinas / módulos funcionales más comunes.

    Para implementar BADI,

    Siga los pasos a continuación para averiguar cómo se llama cada BADI cuando presiona cualquier botón en cualquier transacción.

    1) Ir a se24 (clase de demostración Cl_exithandler)

    2) Haga doble clic en el modo GET_INSTANCE.

    3) Coloque un punto de descanso en la línea 25 (CASE sy-subrc).

    Ahora

    4) Ejecutar la transacción estándar de SAP

    5) Presione el botón requerido en el que debe escribir la lógica de salida, la ejecución se detendrá en el punto de pausa.

    6) Verifique los valores de la variable ‘exit_name’, le dará el nombre BADI que le dieron en ese momento.

    7) De esta manera, obtiene todos los llamados BADI con solo hacer clic en un botón en cualquier transacción.

    Recompense si es útil.

    Sobre,

    Ramya

  • Ex miembro

    Hola,

    badi: Los complementos comerciales son mejoras a la versión estándar del sistema. Pueden integrarse en el sistema SAP para satisfacer las necesidades de los usuarios que son demasiado específicas para incluirse en la entrega estándar. Debido a que las industrias específicas a menudo requieren funciones especiales, SAP le permite predefinir estos puntos en su software.

    Puede distinguir entre complementos empresariales de un solo uso y de usos múltiples. La distinción se basa en el procedimiento o el carácter de un procedimiento de mejora. En el primer caso, el programa espera a que la mejora mejore algo, generalmente un código de retorno. Un ejemplo típico es el cálculo de beneficios en RRHH. Dependiendo de la implementación, se pueden realizar cálculos alternativos. Los complementos multipropósito procesan un evento que puede ser de interés para otros componentes del flujo del programa. ¿Cualquier número de componentes podría utilizar este evento como un gancho? colgar sus propias acciones adicionales.

    Además de importar parámetros, puede utilizar parámetros variables para complementos empresariales multipropósito. No hay control de secuencia sobre la implementación de BadIs multipropósito. Por tanto, el uso de parámetros variables puede generar problemas. No hay garantía de que la implementación no anule los resultados de la implementación anterior. El control de secuencia es técnicamente imposible, porque en el momento de la definición la interfaz no sabe cuál será la implementación y qué parámetros cambiarán la implementación. No es posible decidir qué implementación debe completarse antes de la implementación (en el futuro).

    Ejemplo:

    En una aplicación en particular, desea poder continuar procesando índices después de que se haya guardado el otro componente de datos (es decir, el sistema debería permitirle usar un complemento después de guardar). Dado que este punto de tiempo puede ser útil para múltiples propósitos, puede crear una mejora aquí que pueda ser utilizada por múltiples suscriptores.

    Para crear un complemento empresarial versátil, proceda de la siguiente manera:

    1. Defina un complemento y seleccione la casilla de verificación Multipropósito en la pestaña Administrador.

    2. Defina una interfaz con el modo OBJECT_SAVED’and y el parámetro de importación OBJECTNAME.

    Pidiendo su mejora en el programa de aplicación:

    evento del programa.

    ??

    salga de la etiqueta de tipo data_obj a if_ex_event.

    ??

    modo de llamada cl_exithandler => get_instance

    cambiando por ejemplo = salir.

    formulario save_object usando obj_name tipo c.

    ??

    actualizar ??

    modo de llamada exit_obj-> object_saved

    exportando nombre de objeto = obj_name.

    endform.

    Para la persona que llama, no importa si (y cuántos) suscriptores usan el evento como punto de partida para acciones futuras. Las aplicaciones activas se denominan método adaptador.

    BAPI:

    Interfaz BAPI / RFC

    Una llamada de módulo de función es una llamada de función remota que se ejecuta en un sistema que es diferente del sistema de la persona que llama.

    La función remota se puede llamar desde el mismo sistema (como una llamada remota), pero normalmente la persona que llama y la persona que llama estarán en sistemas diferentes.

    En el sistema SAP, el sistema proporciona la interfaz de llamadas de función remota (RFC) la capacidad de llamar a funciones remotas. RFC permite llamadas remotas entre dos sistemas SAP (R / 3 o R / 2), o entre un sistema SAP y un sistema que no es SAP.

    RFC tiene las siguientes interfaces: –

    Interfaz de llamada para programas ABAP

    Cualquier programa ABAP puede llamar a una función remota usando la instrucción CALL FUNCTION … DESTINATION. El parámetro DESTINATION le dice al sistema SAP que la llamada función se ejecuta en un sistema que no es el sistema de llamada.

    La comunicación RFC con el sistema remoto se produce como parte de la instrucción CALL FUNCTION.

    Las funciones RFC que se ejecutan en un sistema SAP deben ser módulos de funciones reales y deben estar registradas en el sistema SAP como «remotas».

    Cuando la persona que llama y el programa se denominan programas ABAP, la interfaz RFC proporciona a ambos socios para la comunicación. La persona que llama puede ser cualquier programa ABAP, y el llamado programa debe ser un módulo de función registrado como remoto.

    Interfaces de llamada a programas que no son de SAP

    Cuando la persona que llama o el socio es un programa que no pertenece a ABAP, debe estar registrado para reproducir al otro socio en la comunicación RFC.

    Para ayudar en la implementación de programas de asociación RFC en sistemas que no son de SAP, SAP-

    Interfaces externas

    Los programas externos pueden usar interfaces basadas en RFC y GUI para llamar módulos funcionales en sistemas SAP R / 2 o R / 3 y ejecutarlos en estos sistemas.

    Viceversa, los programas ABAP en R / 2 o R / 3 pueden utilizar las funciones proporcionadas por programas externos a través de estas interfaces.

    METRO

    Gracias

    Jagadeesh

    Editado por: Jagadeshwar Gollapelly el 20 de marzo de 2008 5:34 a. M.

  • Ex miembro

    Hola,

    BADI’s

    -> badi es un término que se refiere a complementos comerciales.

    -> badi significa bussinesaddings y mejora en el área de aplicación. Se puede volver a utilizar.

    -> Cuando el cliente necesita más funcionalidad que el SAP

    Programa estándar (funcionalidad), entonces podemos agregar más

    funcionalidad para la funcionalidad estándar de SAP a través de Badi.

    Badi no puede eliminar el código original (estándar).

    No hay nada que agregue funcionalidad adicional al estándar

    pero Plugin.

    Badi no se crea en el programa en sí.

    Se crean y mantienen por separado y se dan cuando

    tenemos el Badi.

    BAPI

    BAPI

    Una de las grandes ventajas de las BAPI es que no se espera que cambien la interfaz y la función. Esta es otra gran cosa cuando actualiza o paquetes calientes, ya que la transacción puede cambiar (formato, entradas requeridas, etc.), lo que significa que debe actualizar la transacción de llamada en ese momento.

    Algunas BAPI están mejor documentadas y son más fáciles de usar que otras.

    Por lo general, tiene que hacer el BAPI que el COIS realmente hace después de llamar a su BAPI.

    La codificación del programa para llamar a BAPI suele ser más limpia que configurar el flujo de pantalla, etc. para la transacción de llamada.

    No tiene que preocuparse por circunstancias especiales de datos que interfieran con el flujo normal de datos de la pantalla y generen errores como resultado.

    Las BAPI probablemente tengan un mejor rendimiento ya que no procesan el flujo de pantalla.

    Generalmente, si el BAPI está ahí para la transacción que desea realizar y puede averiguar cómo usarlo, el BAPI es probablemente la mejor manera de hacerlo.

    Esto es directamente de mi experiencia trabajando con BAPI y Call Transaction. Me fue muy bien con las BAPI, pero de vez en cuando descubrí que no podía conseguir que la BAPI hiciera la actualización que quería.

    El concepto de interfaz del R / 3 clásico se basa en dos estrategias diferentes: llamadas de función remota (RFC) e intercambio de datos a través de documentos de mensajes IDOC. RFC realiza llamadas directas y sincrónicas a un programa en el sistema remoto. Si la persona que llama es un programa externo, llamará a una función habilitada para RFC en R / 3 y si el programa de llamada es el sistema R / 3, dará una función RFC en otro sistema R / 3 o dará una no – R / 3 a través de un proxy de puerta de enlace (generalmente rfcexec.exe).

    Las BAPI son un subconjunto de los módulos funcionales habilitados para RFC, diseñados específicamente como una interfaz de programación de aplicaciones (API) para el objeto comercial de SAP, o en otras palabras: son módulos funcionales lanzados oficialmente por SAP con una llamada de programas externos.

    Sobre,

    vino.

  • Ex miembro

    ALTA

    Bapi es un módulo funcional que normalmente también se habilita con RFC y actúa como un modo de objeto comercial. Usted crea objetos comerciales y luego los registra en su BOR (Repositorio de objetos comerciales) al que se puede acceder fuera del sistema SAP utilizando varios otros. Aplicaciones (no SAP) como VB o JAVA. en este caso u especifica solo el objeto de negocio y su método desde el sistema externo en BAPI no hay llamada directa al sistema.

    BADI es un complemento empresarial, uno de los métodos de SAP para implementar salidas de usuarios o cambiar al código estándar de SAP.

  • Ex miembro

    Ramya y chara,

    Soy un nuevo aprendiz ABAP el concepto básico que ha dado sobre BAPI y BADI muy útil.

    Sobre,

    Manjunath