Usina BRGuía AdvPL
Ingresar
← Todos los temas
GUíA PRáCTICAEn revisión

Manipulación de bases de datos

RetSqlName(cAlias); xFilial(cAlias); ChangeQuery(cSQL)

Separa lectura, escritura y contexto de acceso en Protheus.

Manipulación de bases de datosAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

Acceso DBAccess conserva convenciones Protheus: nombres físicos por RetSqlName, filial por tabla con xFilial y borrado lógico D_E_L_E_T_. Lecturas SQL requieren campos explícitos, ajuste de tipos si procede y cierre de cursor. Escritura debe cumplir reglas, permisos y APIs; UPDATE directo no ejecuta reglas de negocio. Ejemplo solo construye SQL, sin abrir cursor ni modificar datos. (Fuentes: refs. 1–1.)

02 · SINTAXIS

Sintaxis

RetSqlName(cAlias); xFilial(cAlias); ChangeQuery(cSQL)
03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"

User Function Ed516()
    Local cSQL := "SELECT A1_COD,A1_LOJA FROM "+RetSqlName("SA1")
    // Solo construir; no consulta o escritura ejecutada.
    cSQL += " WHERE A1_FILIAL = '"+xFilial("SA1")+"'"
    cSQL += " AND D_E_L_E_T_ = ' '"
    ConOut(ValType(cSQL))
Return Nil
Resultado esperado

Imprime C. Leer datos requiere ejecución controlada y gestión de cursor. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • No concatenar entrada libre en SQL. Validar permisos, filial, transacciones y errores de escritura. Guardar/restaurar áreas.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. Desenvolvendo queries no Protheus. TDN. Consulta el 2026-10-27.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha