Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

Ocorrência

Dado um cálculo aritmético sob uma única variável, a gravação do resultado no Banco de Dados não respeitava a quantidade de casas decimais definidas e acabava gravando um valor diferente do esperado.

Exemplo de situação:

Trecho de um programa AdvPL
nVal := 6607.18
nVal := nVal - 99.10
nVal := nVal - 198.21
nVal := nVal - 42.94
nVal := nVal - 66.07

(cT1)->( DBAppend(.F.) )
(cT1)->COD	 := "000001"
(cT1)->VALOR := nVal
(cT1)->( DBCommit() )


Após a execução do cálculo acima, o valor esperado é "6206,86".
Contudo, ao verificar no SGDB, o valor verificado era "6206,8500000001".


Correção

Implementamos um tratamento no TOTVS | DBAccess para adequar o comportamento.
Agora, dado o cenário em questão, antes de enviar o resultado do cálcuco ao SGBD, é feito um arredondamento do valor.

Informações adicionais
  • Referente à ocorrência: MTEC-2765
  • Sem rótulos