Cenário 2: Processamento de Criação do Solicitação e do Aplicativo de Consulta com Dois Fluxos
Você deve configurar a propriedade Modo de transação apropriadamente em um nó SAPRequest quando você estiver processando usando fluxos de mensagens separados.
Este cenário é um dos dois exemplos que ilustram os conceitos descritos em SAP BAPI transaction commit; consulte também Cenário 1: processamento de parceiro de negócios e relacionamento em um único fluxo.
Neste cenário, dois fluxos de mensagens são usados para emitir uma criação de solicitação
de vendas e uma verificação de solicitação de vendas subsequente usando duas chamadas BAPI:
BAPI_SALESORDER_CREATEFROMDAT2
BAPI_SALESORDER_GETSTATUSPor exemplo, um usuário consulta uma solicitação 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 da solicitação 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 a ordem que foi criada.

| Fluxo de mensagens Criar Solicitação do BAPI | |||
|---|---|---|---|
| A1. | Um aplicativo aciona o fluxo de mensagens transacional que cria uma solicitação de vendas. | ||
| A2. | O nó SAPRequest submete uma criação de ordem e retorna o número de registro de pedidos. 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 pendente de commit transacional. | ||
| A4. | O fluxo de mensagens é concluído e o nó de integração começa a comprometer todos os recursos envolvidos nesse fluxo, incluindo SAP e a chamada de nós MQReply . O número da solicitação 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 da BAPI | |||
|---|---|---|---|---|
| B1. | A confirmação de SAP inicia. | C1. | uma Solicitação para uma consulta de status de solicitação é feito. | |
| B2. | A confirmação de SAP é concluída. | C2. | O nó SAPRequest solicita o pedido. | |
Devido à confirmação assíncrona, dois resultados são possíveis quando a solicitação é consultado:
- O solicitação não é localizado porque o SAP não concluiu a confirmação da solicitação.
- O solicitação é localizado mas somente se SAP tiver confirmado a solicitação antes da consulta ser feita.
No exemplo síncrono a seguir, a consulta é bem-sucedida e o usuário recebe um reconhecimento positivo para a ordem que foi criada.

| Fluxo de mensagens Criar Solicitação do BAPI | |
|---|---|
| 1. | Um aplicativo aciona o fluxo de mensagens transacional que cria a solicitação de vendas. |
| 2. | O nó SAPRequest submete uma criação de ordem e retorna o número de registro de pedidos. 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 pendente de commit transacional. |
| 4. | O fluxo de mensagens é concluído e o nó de integração começa a confirmar todos os recursos envolvidos nesse fluxo, inclusive o SAP. |
| SAP Comfirma o processamento sincronamente | |
|---|---|
| 5. | A confirmação de SAP inicia. |
| 6. | A confirmação de SAP é concluída. |
| 7. | O adaptador passa o controle de volta ao nó de integração. |
| 8. | A chamada do nó MQReply é comprometida, portanto o número do pedido está disponível para o aplicativo do usuário. |
| Fluxo de Mensagens Obter Status do Solicitação do BAPI | |
|---|---|
| 9. | uma Solicitação para uma consulta de status de solicitação é feito. |
| 10. | O nó SAPRequest solicita o pedido. |
SAP concluiu a confirmação da solicitação; portanto, a consulta da solicitação é bem-sucedida.