...
Produto: |
| ||||
---|---|---|---|---|---|
Linha de Produto: | Franquias e Redes | ||||
Segmento: |
| ||||
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 numero identico número idêntico a um numero 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 numero número do ticket que verifica a existencia existência de um número igual e caso afirmativo recria o numero número até que o mesmo não corresponda com nenhum outro criado.
...