Compartir vía


Operaciones en BAPIs en SAP

Una interfaz de programación de aplicaciones empresariales (BAPI) es un método de un objeto empresarial de SAP al que puede llamar un proceso externo. Las BAPIs son transaccionales en el sistema SAP.

El adaptador de Microsoft BizTalk para mySAP Business Suite admite llamadas BAPI en la dirección de salida. Expone BAPIs de dos maneras:

  • Como RFC. Puede invocar un BAPI directamente invocando el RFC adecuado.

  • Como métodos de objetos de negocio. El adaptador muestra BAPIs como métodos de objetos empresariales como una comodidad para ayudarle a recuperar metadatos cuando se usa el complemento de proyecto de BizTalk Del servicio de adaptador de consumo o el complemento Agregar referencia del servicio adaptador de Visual Studio.

Importante

Puede invocar un BAPI en el adaptador como RFC o como método de un objeto de negocio; pero independientemente de cómo invoque el BAPI en el adaptador, siempre invoca bapi en SAP a través de la interfaz RFC.

El adaptador admite transacciones BAPI. El modelo de transacción BAPI en SAP permite a los usuarios combinar varias BAPIs en una unidad lógica de trabajo (LUW). Una LUW de SAP consta de todos los pasos implicados en una transacción, incluida la actualización de la base de datos.

En los temas de esta sección se explica cómo se muestran los BAPIs como objetos empresariales y cómo admiten el adaptador las transacciones BAPI (LUW).

Operaciones BAPI (como métodos de objeto de negocio)

El adaptador muestra BAPIs como métodos de objetos de negocio como una comodidad para ayudarle a recuperar metadatos al usar el complemento de proyecto de BizTalk Servicio de adaptador de consumo o el complemento Agregar referencia del servicio adaptador de Visual Studio. El adaptador siempre invoca BAPIs en el sistema SAP mediante la interfaz RFC.

El adaptador muestra BAPIs por nombre como operaciones en el objeto de negocio adecuado para las operaciones salientes. El adaptador recopila objetos empresariales por grupo funcional en el nodo de categoría BAPI. (Puede examinar o buscar objetos empresariales y BAPIs en el nodo BAPI cuando use el complemento agregar referencia del servicio adaptador o el complemento consumir servicio de adaptador).

El adaptador de SAP admite lo siguiente en BAPIs:

  • Parámetros import

  • Parámetros EXPORT

  • CAMBIO de parámetros

  • Parámetros de tabla

    Para obtener más información sobre las estructuras de mensajes y las acciones SOAP usadas para las BAPIs expuestas como métodos de objeto de negocio, vea Esquemas de mensajes para operaciones BAPI.

Transacciones de BAPI

Cuando se invoca un BAPI, siempre forma parte de un LUW en el sistema SAP. Esto es cierto si se invoca el BAPI como RFC o como método de un objeto de negocio. El SDK de RFC trata todas las BAPIs enviadas a través de la misma conexión de SAP como parte del mismo LUW. Después de una llamada para confirmar o revertir la transacción en una conexión, el siguiente BAPI enviado a través de la conexión comienza un nuevo LUW.

Llama a BAPI_TRANSACTION_COMMIT o BAPI_TRANSACTION_ROLLBACK para confirmar o revertir la transacción. El adaptador muestra estas dos BAPIs:

  • En el nodo Base como operaciones RFC.

  • En cada objeto de negocio.

    Puede controlar los BAPIs en una transacción asegurándose de que se envían a través de la misma conexión SAP (incluida la llamada para confirmar o revertir la transacción). Puede hacerlo en:

  • Soluciones de BizTalk mediante la propiedad de contexto del mensaje ConnectionState para asegurarse de que los BAPIs de una transacción se envían mediante la misma conexión. El adaptador muestra esta propiedad y proporciona un control explícito sobre la conexión utilizada para enviar un mensaje en una orquestación de BizTalk.

    Para realizar transacciones de BAPI mediante BizTalk Server, el adaptador de SAP admite las siguientes propiedades de contexto de mensaje.

    Campo Descripción
    OPEN Abre un nuevo canal para la transacción.
    REUTILIZACIÓN Vuelva a usar el canal existente para la transacción.
    CLOSE Confirme la transacción y cierre el canal existente.
    ABORT Anule la transacción y cierre el canal existente.

    Para más información, consulte Ejecución de transacciones de BAPI en SAP mediante BizTalk Server.

    Nota

    Asegúrese de establecer la propiedad de enlace EnableBizTalkCompatibilityModeal realizar transacciones mediante BizTalk Server.

  • Soluciones de modelo de servicio WCF asegurándose de que las BAPIs de una transacción se envían mediante el mismo cliente WCF. Para obtener más información, vea Invocar BAPIs en SAP mediante el modelo de servicio WCF.

  • Soluciones de modelo de canal WCF asegurándose de que los BAPIs de una transacción se envían a través del mismo canal WCF. Para obtener más información, vea Desarrollar aplicaciones con el modelo de canal WCF.

Limitaciones de las transacciones de BAPI

Se aplican las siguientes restricciones en las transacciones de BAPI:

  • No es posible hacer que dos accesos de escritura en la misma instancia dentro de un LUW. Por ejemplo, no puede crear un pedido y actualizarlo en la misma transacción.

  • Al realizar una transacción de BAPI mediante BizTalk Server, todos los mensajes deben enviarse a través de una única instancia de host del puerto de envío.

  • Si se crea, actualiza o elimina una instancia mediante un BAPI de escritura, un BAPI de lectura no puede ver los datos más recientes hasta que se confirme la escritura de BAPI.

  • Un cliente externo que invoca una LUW debe llamar a todas las BAPIs que contiene el LUW en la misma conexión de SAP.

Importante

Las BAP que pertenecen a release 3.1 llaman a COMMIT WORK como parte de su implementación. Esto significa que estas BAPIs no se pueden incluir con otras BAPIs en un LUW (porque confirmarán la transacción). Para obtener más información, consulte la documentación de SAP.

Consulte también

¿Qué operaciones se pueden realizar mediante el adaptador?