"SQL Server Error: arithmetic exception, numeric overflow, or string truncation" ao gerar sintegra no Clipp Store
Causa
Existe um registro dentro da tabela TB_CUPOM que está com o campo VLR_TOTAL em branco ou acontece do cupom ter sido cancelado mas dentro da tabela não está.
Sintomas
Ao gerar sintegra no Clipp Store 2012, caso selecionado o registro 60D, apresenta a seguinte mensagem:
SQL Server Error: arithmetic exception, numeric overflow, or string truncation
Integer divide by zero. The code attempted to divide an integer value by an integer divisor of zero.
No Clipp Store 2013 ao finalizar a geração do arquivo é apresentada outra mensagem:
Arquivo criado em C:Users\Usuario\Desktop\arquivo.txt
ATENÇÃO:
Ocorreu erro na geração do(s) registro(s): 60D.
Entre em contato com o Suporte Técnico.
Solução
Devemos solicitar a base de dados e o Arquivo Espelho MFD do período, a partir disso devemos identificar se é caso de Cupom cancelado que não tem o Indentificador correto ou se é um cupom que deveria mas não tem o Valor Total, seguem os dois procedimentos:
Procedimento 1
Para o caso de ter um Cupom onde deveria ter o valor total preenchido e não tem, siga os procedimentos:
Primeiro precisamos identificar quais são os Cupons que estão com o valor total zerado, para isso poderá executar o seguinte Script;
SELECT * FROM TB_CUPOM WHERE IND_CANCEL = 'N' AND VLR_TOTAL IS NULL
Tendo o cupom, através do ID do cupom, deve acessar a view V_CUPOM_ITEM, somar os valores dos itens vendidos nesse cupom e preencher o valor total do cupom dentro da TB_CUPOM;
Após isso basta gerar o arquivo do Sintegra.
Caso ao validar o arquivo apresentar criticas referentes ao número de COO, devemos ajustar a TB_CUPOM com base no Arquivo Espelho MFD.
Procedimento 2
Caso existir um cupom onde o mesmo deveria estar cancelado dentro da base mas não está, poderá usar o Script abaixo e alterar o Indentificador:
UPDATE TB_CUPOM SET IND_CANCEL = 'S'
WHERE IND_CANCEL = 'N' AND VLR_TOTAL IS NULL
Caso ao validar o arquivo apresentar criticas referentes ao número de COO, devemos ajustar a TB_CUPOM com base no Arquivo Espelho MFD.