Histórico da Página
...
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
...