Manipulación de bases de datos
RetSqlName(cAlias); xFilial(cAlias); ChangeQuery(cSQL)Separa lectura, escritura y contexto de acceso en Protheus.
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.)
Sintaxis
RetSqlName(cAlias); xFilial(cAlias); ChangeQuery(cSQL)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 NilImprime 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.
- 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.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.