WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Escenarios de entrada BAPI

En SAP, puede invocar funciones de otras aplicaciones u otros sistemas SAP, que se hayan registrado en SAP como servidores de llamada a función remota (RFC). En WebSphere Message Broker, puede registrar el adaptador SAP en SAP como un servidor de RFC, de forma que acepte llamadas síncronas y asíncronas de SAP .

Integración de SAP con un sistema que tenga una interfaz síncrona

En SAP, una interfaz BAPI es una llamada a función. Si un sistema está conectado a SAP como un servidor RFC, puede utilizar la interfaz BAPI para definir la interfaz en la que un programa que se ejecute en SAP pueda llamar a un sistema externo. El sistema externo se identifica en SAP por su valor RFCDestination, que está vinculado a un ID de programa en la administración de SAP. El sistema externo especifica el ID de programa la primera vez que se conecta a SAP.

Al utilizar WebSphere Adapter para SAP, puede conectar con un flujo de mensajes a SAP como un servidor de RFC, si configura el adaptador con el ID de programa correspondiente y despliega el flujo de mensajes en el intermediario. Después de despliegue, el flujo de mensajes puede recibir llamadas síncronas del mismo modo que lo hace utilizando la interfaz BAPI.

El identificador de respuesta

El adaptador recibe los parámetros de importación BAPI, y se propagan desde un nodo SAPInput como una estructura de árbol de mensaje. Los parámetros de exportación BAPI se propagan a un nodo SAPReply, como una estructura de árbol de mensaje. A continuación, el adaptador devuelve los parámetros de exportación al programa SAP que efectúa la llamada. En este caso, el nodo SAPReply se encuentra, normalmente, en el mismo flujo que el nodo SAPInput. El nodo SAPInput proporciona un ID exclusivo (el identificador de respuesta) para cada llamada BAPI. El identificador de respuesta se propaga al nodo SAPReply (en el entorno local) para indicar a qué llamada BAPI está respondiendo.

Si no existe ningún identificador de respuesta en el entorno local, el nodo SAPReply utiliza, normalmente, el identificador de respuesta del nodo SAPInput que haya desencadenado la ejecución actual del flujo de mensajes. Si el flujo lo ha desencadenado algo que sea distinto de un nodo SAPInput, o si se produce una interrupción en el flujo, se emite un error. Una excepción no manejada en el flujo de mensajes genera una anomalía del sistema en SAP.

Aunque la BAPI no esperase ningún parámetro de salida, el mensaje (vacío) debe propagarse al nodo SAPReply.

También puede procesar dos comentarios emergentes concurrentes de SAP si configura el flujo de mensajes con una instancia adicional.

Escenario 1

El siguiente diagrama representa un flujo de mensajes, en el que WebSphere Message Broker proporciona una relación enlace entre SAP y una aplicación de destino (en este caso, DB2). El programa SAP requiere datos de respuesta, por consiguiente bloquea cualquier otro proceso hasta que se complete la llamada.

El diagrama ilustra los pasos siguientes.
  1. El programa SAP realiza una llamada BAPI a WebSphere Message Broker.
  2. WebSphere Message Brokerconvierte la llamada a una llamada SQL.
  3. WebSphere Message Broker pasa la llamada a DB2.
  4. DB2 procesa los datos SQL y devuelve el resultado a WebSphere Message Broker.
  5. WebSphere Message Broker convierte el resultado SQL a un respuesta BAPI y la envía a SAP.
  6. El programa SAP procesa la siguiente línea de código.

Escenario 2

El siguiente diagrama también representa un flujo de mensajes en el que el programa SAP requiere datos de respuesta, pero en este escenario, las llamadas entre WebSphere Message Broker y la aplicación de destino (en este caso, WebSphere MQ) son asíncronas. El sistema SAP bloquea cualquier otro proceso hasta que se complete la llamada. Si el valor de la propiedad Tiempo máximo de espera de cliente de SAP es insuficiente, o si está establecido en 0, podría generarse un error de tiempo de espera excedido. Para obtener más información sobre la propiedad Tiempo máximo de espera de cliente del Nodo SAPInput, consulte Tiempo máximo de espera de cliente (seg). Cuando utilice el nodo SAPReply en un flujo distinto del nodo SAPInput, despliegue el nodo SAPReply en el mismo grupo de ejecución que el nodo SAPInput.

El diagrama ilustra los pasos siguientes.
  1. El programa SAP realiza una llamada BAPI a WebSphere Message Broker.
  2. WebSphere Message Broker convierte los parámetros de importación en un formato de mensaje que pueda comprender la aplicación de destino.
  3. WebSphere Message Broker coloca dicho mensaje en una cola de solicitudes.
  4. La aplicación de destino obtiene el mensaje de solicitud de la cola, lo procesa, y coloca un mensaje de respuesta en la cola "responder a".
  5. WebSphere Message Broker obtiene el mensaje de respuesta de la cola.
  6. WebSphere Message Broker convierte el mensaje de respuesta a los parámetros de exportación BAPI y envía la respuesta a SAP.

Escenario 3

El siguiente diagrama representa una llamada asíncrona de SAP a WebSphere Message Broker, y una llamada asíncrona de WebSphere Message Broker a una aplicación de destino. En este escenario se muestra cómo puede combinar el proceso de entrada que se describe en este tema con el proceso de salida para lograr el mismo resultado que en los escenarios 1 y 2. Para obtener más información sobre el proceso de salida, consulte Proceso saliente para la interfaz BAPI.

El diagrama ilustra los pasos siguientes.
  1. El programa SAP realiza una llamada BAPI a WebSphere Message Broker, almacena información relevante en una tabla de base de datos, y continúa para procesar la siguiente línea de código.
  2. WebSphere Message Broker convierte los parámetros de importación en un formato de mensaje que pueda comprender la aplicación de destino.
  3. WebSphere Message Broker coloca dicho mensaje en una cola de solicitudes.
  4. La aplicación de destino obtiene el mensaje de solicitud de la cola y lo procesa.
  5. WebSphere Message Broker obtiene el mensaje de respuesta de la cola.
  6. El nodo SAPRequest envía el mensaje al programa SAP, solicitando una actualización en SAP.
  7. El programa SAP hace referencia a la información que se almacena en la tabla de base de datos y lleva a cabo la actualización solicitada.

Errores y avisos

  • Si se ha desplegado un nodo SAPReply, pero no se ha desplegado ningún nodo SAPInput en dicho grupo de ejecución, se graba un aviso en las anotaciones del sistema o en el visor de sucesos de Windows.
  • Si se proporciona el nodo SAPReply con un identificador de respuesta que no corresponda a ninguna llamada BAPI de este grupo de ejecución, se emite un error.
  • Si se envía el mismo identificador de respuesta a dos nodos SAPReply, el segundo nodo recibe un mensaje de error.
  • Si un programa SAP intenta llamar a una BAPI que utiliza el valor RFCDestination del intermediario, pero no se ha descubierto dicha BAPI para el adaptador, se graba un error en las anotaciones del sistema o en e Visor de sucesos de Windows y se envía un mensaje de error al programa SAP que efectúa la llamada.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:00:48


Tema de conceptoTema de concepto | Versión 8.0.0.5 | bc22020_