É necessário configurar a propriedade Modo de Transação apropriadamente em um nó SAPRequest ao processar usando os fluxos de mensagens separados.
Este cenário é um de dois exemplos que ilustram os conceitos que são descritos em Confirmação da Transação SAP BAPI; consulte também Cenário 1: Processamento do Parceiro de Negócios e do Relacionamento em um Único Fluxo.
BAPI_SALESORDER_CREATEFROMDAT2
BAPI_SALESORDER_GETSTATUS
Por exemplo, um usuário consulta um
pedido após uma compra ter sido feita usando um aplicativo baseado na Web.
O resultado da consulta está diretamente vinculado ao comportamento
assíncrono ou síncrono das etapas de criação do pedido executadas pelo
servidor SAP externo. No exemplo assíncrono a seguir (o comportamento padrão), a consulta pode falhar e o usuário recebe um reconhecimento negativo para o pedido que foi criado.
Fluxo de mensagens Criar Pedido do BAPI | ||||
---|---|---|---|---|
A1. | Um aplicativo aciona o fluxo de mensagens transacional que cria um pedido de vendas. | |||
A2. | O nó SAPRequest envia uma criação de pedido e retorna o número de registro do pedido. A confirmação ocorre quando o fluxo de mensagens é concluído porque o nó participa de uma transação no nível do fluxo de mensagens. | |||
A3. | O nó MQReply coloca uma mensagem MQ na fila de saída com confirmação transacional pendente. | |||
A4. | O fluxo de mensagens é concluído e o broker começa a confirmar todos os recursos envolvidos nesse fluxo, incluindo SAP e a chamada do nó MQReply. O número do pedido está disponível para o aplicativo de usuário. | |||
Os dois processos a seguir ocorrem simultaneamente e concorrem efetivamente entre si para concluírem. | ||||
SAP Confirma o processamento assincronamente | Fluxo de Mensagens Obter Status do Pedido do BAPI | |||
B1. | A confirmação de SAP inicia. | C1. | Um pedido para uma consulta de status de pedido é feito. | |
B2. | A confirmação de SAP é concluída. | C2. | O nó SAPRequest solicita o pedido. |
No exemplo síncrono a seguir, a consulta é bem-sucedida e o usuário recebe um reconhecimento positivo para o pedido que foi criado.
Fluxo de mensagens Criar Pedido do BAPI | |
---|---|
1. | Um aplicativo aciona o fluxo de mensagens transacional que cria o pedido de vendas. |
2. | O nó SAPRequest envia uma criação de pedido e retorna o número de registro do pedido. A confirmação ocorre quando o fluxo de mensagens é concluído porque o nó participa de uma transação no nível do fluxo de mensagens. |
3. | O nó MQReply coloca uma mensagem MQ na fila de saída com confirmação transacional pendente. |
4. | O fluxo de mensagens é concluído e o broker começa a confirmar todos os recursos envolvidos nesse fluxo, incluindo SAP. |
SAP Comfirma o processamento sincronamente | |
5. | A confirmação de SAP inicia. |
6. | A confirmação de SAP é concluída. |
7. | O adaptador retoma o controle no broker. |
8. | A chamada do nó MQReply é confirmada, portanto, o número do pedido está disponível para o aplicativo de usuário. |
Fluxo de Mensagens Obter Status do Pedido do BAPI | |
9. | Um pedido para uma consulta de status de pedido é feito. |
10. | O nó SAPRequest solicita o pedido. |
SAP concluiu a confirmação do pedido; portanto, a consulta do pedido é bem-sucedida.