O erro "Data width error" ocorre quando o tamanho dos dados excede o limite configurado no campo CNB_QTDMED durante a aprovação da medição, causando estouro no campo. A solução é aumentar o tamanho e decimais do campo, verificando também outros campos relacionados para manter o correto funcionamento do sistema. Para ajustes específicos,caso necessário em seu ambiente, recomenda-se o contato com ESN Totvs para que possa lhe indicar um analista inloco para auxílio dos ajustes nos campos.
Tempo aproximado para leitura: 00:06:00 min
Ocorrência
Abaixo segue um exemplo com o Valor preenchido para melhor entendimento da causa do erro.
Erro Data width error - Field: CNB_QTDMED Value: 10008258.350000 on UPDSLDCNB(CNTA121.PRW) na aprovação da medição.
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - TOTVS Gestão de Contratos - Todas as versões
Causa
O erro "Data width error" é uma mensagem que indica um problema relacionado ao tamanho (largura) dos dados. Isso significa que a quantidade de caracteres e decimais calculados durante o processamento de uma operação excede o limite configurado para o campo no dicionário de dados (SX3).
Por exemplo: O erro ocorre quando o sistema espera gravar o resultado de um cálculo em um campo de tamanho 14 com 2 casas decimais, porém, o dado recebido e gerado pelo cálculo possui um tamanho superior ao que o campo suporta atualmente.
Analisando o error log do exemplo desse artigo está ocorrendo devido ao estouro do campo CNB_QTDMED Value:10008258.350000
Pesquisando a STACK do erro:
STACK UPDSLDCNB(CNTA121.PRW) 12/05/2026 21:22:47
Param 1: LRECORRE(L) : .F.
Param 2: LSERVICO(L) : .F.
Param 3: LSEMIFIX(L) : .T.
Param 4: LESTORNO(L) : .F.
Local 1: LRECORRE(L) :.F.
Local 2: LSERVICO(L) :.F.
Local 3: LSEMIFIX(L) :.T.
Local 4: LESTORNO(L) :.F.
Local 5: CCHAVCNA(C) :
Local 6: AAREA(A) :
Local 7: NVLQTDMED(N) :431379.22
Local 8: NVLSLDMED(N) :0
Local 9: LHASFRETE(L) :.T.
Local 7: NVLQTDMED(N) :431379.22
Se pegar a quantidade atual do campo CNB_QTDMED e somar com a nova quantidade medida que esta tentando aprovar, chegamos a nova quantidade que o sistema esta tentando gravar no campo CNB_QTDMED, causando o seu estouro.
CNB_QTDMED(N): 9576879.13 + 431379.22
Solução
A solução para este caso, será aumentar o tamanho e decimais do campo para que ele comporte esse valor.
E verificando, essa necessidade de aumento o tamanho do campo CNB_QTDMED é devido ao processo da empresa e medições necessárias.
Um ponto de atenção sobre se alterar o tamanho de campos no GCT: é aconselhado verificar o artigo abaixo do TDN, que reporta todos as campos que necessitam possuir as mesmas configurações de tamanho e decimais para o correto funcionamento do sistema:
Cross Segmentos - Totvs Backoffice Protheus - SIGAGCT - Quais os campos a serem considerados no ajuste de casas decimais das tabelas do Gestão de Contratos ?
https://tdn.totvs.com/display/PROT/FAT0068_Aumento_de_Casas_Decimais_no_ambiente_Faturamento_SIGAFAT
Caso necessite de apoio, para estes ajuste e analise da base diferentes do padrão conforme o processo da empresa, orientamos o contato junto a ESN Totvs que lhes atendem para a verificação junto a um analista especialista em loco.
Saiba Mais:
Veja todos os artigos do módulo Gestão de contratos no link abaixo:
Artigos Materiais - Gestão de Contratos - (SIGAGCT)
0 Comentários