O erro "Data Width error" indica estouro de campo, quando dados excedem o tamanho definido. Para identificar o produto com erro, analise o error.log e use o relatório MATR900 para verificar movimentações incorretas. Soluções incluem ajuste de custo, aumento do tamanho dos campos ou reprocessamento de saldos via rotina MATA300.
Tempo aproximado para leitura: 00:03:00 min
Dúvida
Em rotinas de processamentos como o Recálculo do Custo Médio - MATA330, em algum momento pode ocorre o error.log que informa "Data Width error". ou até mesmo em rotinas que fazem movimentações, Como avaliar erro de estouro de campo?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Estoque/Custos - Todas as versões.
Solução
Em primeiro lugar, precisamos saber, afinal o que é "Data Width error" ?
O erro "Data width error" é um tipo de mensagem de erro comum em programação, que indica um problema relacionado à largura dos dados (no nosso caso tamanho dos campos), ou seja, à quantidade de Campos calculados que estão sendo efetuados no processamento de uma operação.
Por exemplo: Esse erro geralmente ocorre em situações em que o resultado de cálculo, espera receber ou processar dados de um campo com tamanho 14 com 2 decimais, porém, os dados recebidos são superiores ao tamanho que o campo comporta atualmente.
IMPORTANTE:
Caso o erro ocorra na rotina ACOMPANHA CUSTOS (MATA038) na etapa de Cálculo do Custo Médio, efetuar o processamento pela rotina CUSTO MÉDIO (MATA330) para que seja gerado o ERROR.LOG completo, pois a rotina MATA038 apresenta apenas o cabeçalho do erro, impossibilitando identificar qual produtos esta com o incidente.
Se o problema for apresentado apenas no ACOMPANHA CUSTOS, envie o ERROR.LOG gerado em sua pasta System
Exemplo do erro no processamento de custo médio:
Data width error - Field: B2_CM1 Value: 2919191919.111111
-Primeiro, devemos contar quantos campo possui do numero 2 até o final 1 (no caso 16 campos desconsiderando o ponto), porém em sua SX3 o campo (B2_CM1) tem tamanho menor que 16 e ou decimais menores que 6.
-Sabendo que o erro ocorre na tabela de saldos atuais "SB2", devemos avaliar dentro do error.log, normalmente utilizamos a ferramente notepad++ para abertura de textos:
- Filtre dentro do erro B2_COD (Isso trara a você o produto que provavelmente tentou calcular o campo e acabou gerando o Data width error)
Sabendo o codigo do seu produto, gere o relatorio MATR900 (Configurado conforme boletim) e veja se alguma movimentação desse produto, esteja indevida no periodo, algum saldo digitado incorretamente, ou até mesmo se o valor do produto é coerente com oque se espera, dentro do erro também podera verificar palavra chaves, como _DOC que vai trazer a relação de documento que fizeram parte do procesamento.
Caso gere o relatorio e veja um movimento incorreto, então efetue a tratativa necessaria, seja um estorno ou exclusão do documento e refaça novamente.
Mas caso tenha gerado o Kardex, e não seja apresentado nenhum erro nas movimentações, e nem um campo com "**********' asteriscos sendo apresentados, então avalie duas possibilidades:
Efetuar um acerto de custo, para que seja ajustado o custo do produto e novamente recalculado.
Efetuar o aumente do tamanho de campos relacionados a custo, pois se o seu valor é devido, e não existe nenhum movimento incorreto, o sistema não supre a quantidade de calculo atualmente, precisando fazer assim um ajuste no tamanho e decimais.
Também sugerimos que seja efetuado o processamento da rotina de Refaz Saldos(MATA300) para o produto com erro encontrado no log, e em seus armazens respectivamente, afim de corrigir os saldos atuais do produto se necessario.
E se eu possuir estouro em outras moedas, alem da moeda real?
Caso o seu parametro MV_MOEDACM esteja em branco, voce vai precisar ativar o rastro da moeda 2, para que então efetue o acerto corretamente na moeda que esta gerando o erro, visando zerar o saldo caso não utilize mais, apenas a desconsideração do parametro, não ira corrigir o erro na moeda.
O problema ocorre em um documento de devolução, ou documento com mais de 1 item?
Cabe a avaliação de todos os itens contidos no documento, e documento de origem para avaliação de forma geral.
Mas o estouro é nos campos de quantidade, oque fazer?
Mesmo conceito, avaliar os movimentos do item em questão, algum movimento foi digitado errado ou caso o valor a ser gravado esteja certo, voce pode optar por aumentar o tamanho dos campos.
O Tamanho maximo de campos PERMITIDO é 16/8, DETALHES NO LINK ABAIXO
https://tdn.totvs.com/x/HhYCMQ
Saiba mais:
Clique aqui e veja artigos sobre Processamentos no Estoque
Clique aqui e veja artigos sobre Custos no Estoque
MP - SIGAEST - Data width error - Estouro de campo de Valor em outras moedas
0 Comentários