Usar mais do que 8 casas decimais

Senhores, o advpl trabalha com 8 casas decimais porem eu posso colocar quantas casas decimais eu quiser, como fazer um calculo usando todas as casas decimais ? vejam o exemplo

static function bRefazAc(oSay)

local nValInd := 1.000000

DBSelectArea('ZM3')

DbGoTop()

Do while !eof()

RecLock("ZM3", .F.)

ZM3->ZM3_AC := nValInd * ZM3->ZM3_AD

MsUnlock()

dbskip()

Enddo

return

SEndo que

ZM3->ZM3_AD é igual a 1.000598031 porem na hora do calculo vai somente ate 1.00059803 se eu der unm transform(ZM3->ZM3_AD,"@E 9.999999999") aparece "1,000598031" e GetDToVal(transform(ZM3->ZM3_AD,"@E 9.999999999")) volta a ficar 1.00059803 em resumo, preciso usar o valor completo

encontrei aqui documentação e consegui resolver

usei as funcoes DEC_

valor:= DEC_TO_DBL(DEC_CREATE(nValInd * ZM3->ZM3_AD,10,9))

https://tdn.totvs.com/display/tec/Decimais+de+Ponto+Fixo+--+9661

e tambem essa documentação (nao testei)

https://centraldeatendimento.totvs.com/hc/pt-br/articles/360019551152-Cross-Segmentos-TOTVS-Backoffice-Linha-Protheus-ADVPL-N%C3%A3o-arredondar-valores-com-mais-de-oito-digitos?source=search