GetNextAlias()Genera un alias temporal para el result set y evita colisiones.
Guía AdvPLcQuery → ChangeQuery() → TCQUERY / TCGenQry() → WorkArea → DbCloseArea()Construye consultas SQL portables y eficientes en Protheus con DBAccess, alias dinámicos y manejo correcto del result set.
DBAccess conecta Protheus con las bases SQL homologadas y permite acceso ISAM y SQL nativo. Para conjuntos de datos, una query bien diseñada normalmente reduce recorridos, procesamiento en el cliente y tráfico de red. Puede construirse como string o con Embedded SQL; ambos modelos llegan a DBAccess.
cQuery → ChangeQuery() → TCQUERY / TCGenQry() → WorkArea → DbCloseArea()GetNextAlias()Genera un alias temporal para el result set y evita colisiones.
RetSqlName()Convierte el alias lógico de Protheus en el nombre físico de la tabla.
ChangeQuery()Adapta la sintaxis SQL a los bancos homologados.
TcSetField()Ajusta campos no carácter del resultado a los tipos AdvPL.
SqlOrder()Convierte una expresión de índice AdvPL para ORDER BY.
xFilial()Proporciona la filial correcta para el filtro de una tabla.
DToS()Produce AAAAMMDD para comparaciones de fechas cuando corresponda.
#Include "TOTVS.ch"
#Include "TopConn.ch"
// Consulta el ejemplo en portugués; localiza solo los textos para el usuario.Utiliza nombre físico, filtros de filial y exclusión, compatibilidad, alias dinámico y cierre explícito.
cQuery := "SELECT R_E_C_N_O_ RECNO "
cQuery += "FROM " + RetSqlName("SA1") + " SA1 "
cQuery += "WHERE A1_FILIAL = '" + xFilial("SA1") + "' "
cQuery += "AND D_E_L_E_T_ = ' '"
cQuery := ChangeQuery(cQuery)
TCQUERY (cQuery) ALIAS (cAlias) NEW
While !(cAlias)->(Eof())
SA1->(DbGoTo((cAlias)->RECNO))
// Leia ou trate o registro real já posicionado.
(cAlias)->(DbSkip())
EndDo
(cAlias)->(DbCloseArea())El result set identifica las filas y DbGoTo() posiciona la tabla física mediante R_E_C_N_O_.
© 2026 Usina.BR. Todos os direitos reservados. TOTVS, Protheus, Microsiga e seus respectivos logotipos são marcas de titularidade da TOTVS S.A. AdvPL é uma linguagem de programação desenvolvida pela TOTVS. O AdvPL Guia é um projeto independente, sem vínculo, representação, patrocínio ou afiliação com a TOTVS S.A., suas franquias ou representantes.