TL++ com Syntax Error no EmbededSQL

Bom dia,

identificado que ao compilar um fonte .tlpp que contenha a seguinte sintaxe no EmbededSQL:


Column FIELD_NAME As Numeric

está sendo apresentado SyntaxError. O mesmo fonte com extensão .prw funciona normalmente.

Gabriel,

Fiz um teste e funcionou perfeitamente, lembrando que quando a coluna é numérica, é necessário passar o tamanho e a precisão numérica, pois isso acaba virando a função TcSetField:


//-------------------------------------------------------------------
/*{Protheus.doc} u_SqlColumn
Teste de Embedded com coluna numérica

@author Daniel Mendes
@since 08/06/2020
@version 1.0
*/
//-------------------------------------------------------------------
function u_SqlColumn()

if TCLink() >= 0
    beginsql alias 'tmp_tbl'
        column qtd as numeric(16,0)
        select count(*) qtd
          from top_field
    endsql

    ConOut(">>", tmp_tbl->qtd)

    tmp_tbl->(DBCloseArea())

    TCUnlink()
endif

return nil

Obs.: As colunas date e logical possuem valor padrão, 8 e 1 respectivamente, por isso não é necessário informar o tamanho.


Documentação:

https://tdn.totvs.com/display/framework/Embedded+SQL

https://tdn.totvs.com/display/tec/TCSetField

Entendido. Obrigado novamente Daniel. Eu jurava que tinha na documentação um exemplo sem a precisão, e nem me toquei de testar com ela. Me enganei, o fonte prw que eu testei estava com As Date. Testei com a precisão e funcionou.

Só achei engraçado que o artigo acabou de ser alterado, alguns minutos atrás. Coincidência ein rsrs. Problema resolvido (y)