Produto: | TOTVS Varejo Franquias e Redes |
---|---|
Linha de Produto: | Franquias e Redes |
Segmento: | Varejo |
Módulo: | Connector |
Função: | Gerar Ticket Saida |
País: | Brasil |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DVARLIVE-12162 |
Cliente relata intermitência no retorno do Connector, para o método RecuperarSaldoEstoqueLC_Integracao.
Onde em determinados momentos, recebe a devolução:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</faultcode><faultstring xml:lang="en-US">Violation of UNIQUE KEY constraint 'UQ_LC_TicketSaida_Numero'. Cannot insert duplicate key in object 'dbo.LC_TicketSaida'. The duplicate key value is (1231222141637617).
The statement has been terminated.
Foi identificado que no momento da geração do ticket, em alguns casos, a aplicação estava gerando um número idêntico a um número já exitente no banco de dados mas para outro sistema satélite e por isso causou a violação de chave única.
Para resolver o problema, foi alterada a chave única da tabela LC_TicketSaida, agora ela passa a ser composta pelo CodigoSistemaSatelite e Numero. Além disso foi implementada uma validação na Stored Procedure usp_PLIVEGerarTicketSaidaConnector responsável por gerar o número do ticket que verifica a existência de um número igual e caso afirmativo recria o número até que o mesmo não corresponda com nenhum outro criado.