Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

O envio da mensagem ocorre a partir de um estado consistentemente gravado no RM. Se ao enviar a mensagem pendente ao Protheus, o procedimento de inclusão for executado com sucesso no Protheus, a mensagem pendente é removida do banco de dados. Por outro lado, se ao enviar a mensagem pendente ao Protheus, este reportar algum problema, a mensagem fica retida no banco de dados. Enquanto a mensagem permanecer pendente, o (s) lançamento (s) associado (s) fica (m) em estado de inconsistência, impedido (s) de ser (em) submetido (s) a outros processos do RM, tais como baixa e o Acordo.


Comportamento Original:

A mensagem ao Protheus (em azul) é executada ao longo da execução do processo no RM (em verde). Se porventura o processamento for interrompido pelo RM após acionado o envio da mensagem, o processo RM pode sofrer um rollback (desfazimento) automático, sem efeito no processo no Protheus, gerando inconsistência.

Novo processo de envio de mensagens:

No novo processoNeste caso, o processo executado no do RM (em verde) é executado com sucesso ou não. Caso bem sucedido, ocorre então normalmente até o seu final, levando a base a um ponto de consistência. Após o processo ser encerrado com sucesso, ocorre o disparo de um novo processo apenas para o envio da mensagem ao Protheus (em azul). Caso ocorra algum erro no Se a execução do envio da mensagem , esta fica acumulada aguardando a ação corretiva para reenvioao Protheus retornar um erro, a mensagem fica registrada no banco de dados do RM, e poderá ser reenviada após uma ação corretiva.

Visão de Mensagens Pendentes

...