Usina BRAdvPL Guia
Entrar
← Todos os tópicos
GUIA PRÁTICOEm revisão

Manipulação de Base de Dados

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

Separa leitura, escrita e contexto de acesso no Protheus.

Manipulação de Base de DadosAdvPL
01 · VISÃO GERAL

Visão geral

O acesso via DBAccess mantém particularidades do Protheus: nome físico obtido por RetSqlName, filial calculada por tabela com xFilial e exclusão lógica por D_E_L_E_T_. Consultas SQL exigem seleção explícita de campos, ajuste de tipos quando necessário e fechamento do cursor. Escrita deve seguir regras, permissões e APIs do processo; UPDATE direto não equivale à execução da regra de negócio. O exemplo apenas monta SQL, sem abrir cursor nem alterar dados. (Fontes: refs. 1–1.)

02 · SINTAXE

Sintaxe

RetSqlName(cAlias); xFilial(cAlias); ChangeQuery(cSQL)
03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed516()
    Local cSQL := "SELECT A1_COD,A1_LOJA FROM "+RetSqlName("SA1")
    // Somente construir; nenhum acesso ou escrita e executado.
    cSQL += " WHERE A1_FILIAL = '"+xFilial("SA1")+"'"
    cSQL += " AND D_E_L_E_T_ = ' '"
    ConOut(ValType(cSQL))
Return Nil
Resultado esperado

Imprime C. A consulta precisa de execução controlada e tratamento de cursor para ler dados. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Não concatenar entrada livre em SQL. Validar permissões, escopo de filial, transações e erros de gravação. Guardar e restaurar áreas de trabalho.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. Desenvolvendo queries no Protheus. TDN. Consulta em 2026-10-27.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha