Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Ocorrência

Dado um cálculo aritmético sob uma única variável, a gravação do resultado no Banco de Dados SGBD não respeitava a quantidade de casas decimais definidas e acabava gravando um valor diferente do esperadona criação da tabela, resultando em um valor com mais casas decimais no SGBD.

Exemplo de situação:

Bloco de código
titleTrecho 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
  • 6200,86"
.
Contudo, ao
  • Ao verificar no
SGDB
  • SGBD, o valor
verificado
  • inserido era "
6206
  • 6200,8500000001"
.
Correção

Implementamos um Implementado tratamento no 

Inclusão de trecho
dbaccess
dbaccess
nopaneltrue
para adequar o comportamento.
Agora, dado o cenário em questão, considerar a quantidade de casas decimais que foi definida na criação da tabela e antes de enviar o resultado do cálcuco ao o valor para o SGBD, é feito um arredondamento do valor.

Informações adicionais
  • Referente à a ocorrência: MTEC-2765