Uso Correto BEGINSQL

Utilizo o BeginSQL a um bom tempo, e Aprendi fazer de uma forma e sempre segui, porem agora vendo exemplos, vejo que eu faço dois comandos extras, que não vejo outras pessoas fazendo....

Após o beginSQL, eu chamo o DBSelctArea para o alias do BeginSQL, e Depois um DBGoTop

Isso é necessário ? ou faço atoa ? kkkkkk


local alSD5        := getnextalias()

    If Select(alSD5) <> 0
        (alSD5)->(DbCloseArea())
    EndIf

    BeginSql alias alSD5

    EndSql

    DBSelectArea(alSD5)              // EXISTE NECESSIDADE ?
    (alSD5)->(DBGoTop())             // EXISTE NECESSIDADE ?

    while !((alSD5)->(EOF()))
        retorno := (alSD5)->D5_QUANT / 3
    EndIf
    (alSD5)->(DbCloseArea())

Boa tarde Guilherme,

O BeginSQL vai abrir a sua query via DBUseArea, essa função já faz a troca da workarea atual, assim como quando uma query é aberta, por padrão ela já é aberta no primeiro registro.

Logo fazer um dbSelectArea e um dbGoTop, seria preciosismo, basicamente você está fazendo algo que já está exatamente assim.