cSqlExprExpresión, constante o variable de caracteres que contiene una consulta SELECT que será ejecutada por TOPCONN.
Guía AdvPLTCQUERY <cSqlExpr> ALIAS <cAlias> [NEW]Ejecuta una consulta SELECT mediante la RDD TOPCONN y abre el resultado en una WorkArea AdvPL.
TCQUERY abre el resultado de una consulta SQL de lectura en un alias AdvPL mediante la RDD TOPCONN. Durante la compilación, el comando se traduce en operaciones basadas en DbUseArea() y TCGenQry(). Se debe preferir NEW para crear una nueva WorkArea y evitar cerrar involuntariamente el área actual. El cursor resultante está orientado a lectura secuencial y no debe tratarse como una tabla ISAM editable.
TCQUERY <cSqlExpr> ALIAS <cAlias> [NEW]cSqlExprExpresión, constante o variable de caracteres que contiene una consulta SELECT que será ejecutada por TOPCONN.
ALIAS cAliasNombre del alias donde se abrirá el result set. Puede ser un literal o una expresión.
NEWAbre la consulta en una nueva WorkArea. La documentación oficial recomienda su uso para evitar cerrar el área actual.
No devuelve directamente un valor. El resultado de la consulta queda disponible en el alias informado como cursor de lectura.
#Include "TOTVS.ch"
#Include "TopConn.ch"
User Function ExTCQuery()
Local cAlias := GetNextAlias()
Local cQuery := ""
// A1_COD significa “Código”, A1_NOME significa “Nombre” y A1_FILIAL significa “Sucursal”.
// D_E_L_E_T_ es el campo técnico utilizado para controlar la eliminación lógica.
cQuery := "SELECT A1_COD, A1_NOME "
cQuery += "FROM " + RetSqlName("SA1") + " "
cQuery += "WHERE A1_FILIAL = '" + xFilial("SA1") + "' "
cQuery += "AND D_E_L_E_T_ = ' ' "
cQuery += "ORDER BY A1_COD"
// ChangeQuery() adapta la instrucción a las bases homologadas cuando sea necesario.
cQuery := ChangeQuery(cQuery)
// NEW preserva la WorkArea que estaba activa antes de esta consulta.
TCQUERY (cQuery) ALIAS (cAlias) NEW
While !(cAlias)->(Eof())
ConOut((cAlias)->A1_COD + " - " + (cAlias)->A1_NOME)
(cAlias)->(DbSkip())
EndDo
// El alias de la query ocupa una WorkArea y debe cerrarse al finalizar.
(cAlias)->(DbCloseArea())
ReturnLa query usa el nombre físico de SA1, filtra sucursal y eliminación lógica, abre un alias dinámico en una nueva WorkArea y libera el cursor al finalizar.
#Include "TopConn.ch"
// Forma más legible para abrir la query:
TCQUERY (cQuery) ALIAS QRY NEW
QRY->(DbCloseArea())
// Conceptualmente, TCQUERY combina la apertura TOPCONN con TCGenQry().
// La implementación interna puede evolucionar; utiliza la sintaxis documentada.TCQUERY expresa directamente la intención de abrir una query como WorkArea sin hacer que el código de aplicación dependa de los detalles de apertura.
Desarrollado con Usina Docs · Alpha
© 2026 Usina.BR. Todos los derechos reservados. TOTVS, Protheus, Microsiga y sus respectivos logotipos son marcas de sus titulares. Guía AdvPL es independiente y utiliza citas limitadas, atribuidas y justificadas por fines educativos. Consulta los Términos de Uso. Términos de Uso
Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.