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

Áreas de trabalho, aliases e seleção de tabelas

Preserva a área do chamador ao acessar um alias existente.

Áreas de trabalho, aliases e seleção de tabelasAdvPL
01 · VISÃO GERAL

Visão geral

Área de trabalho é o contexto de uma tabela aberta; alias é seu identificador. DBSelectArea troca a área corrente, enquanto a expressão ALIAS->(...) permite operar em outra área sem deixar essa seleção como contexto do chamador. FwGetArea salva apenas Alias, IndexOrd e Recno. Para reposicionar outra tabela, capture também essa tabela e restaure a área original por último. Não se trata de backup de filtros, relações, transações ou empresa. O exemplo adapta a preservação em duas áreas de Atilio e verifica antes se SB1 está aberta. (Fontes: refs. 1–4.)

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed735()
    Local aOriginal := FWGetArea()
    Local aDestino := {}
    // A tabela pertence ao chamador: nao abrir nem fechar aqui.
    If Select("SB1") > 0
        aDestino := SB1->(FWGetArea())
        ConOut(SB1->(IndexKey()))
        // Restaurar primeiro a tabela consultada e por ultimo o chamador.
        FWRestArea(aDestino)
    EndIf
    FWRestArea(aOriginal)
Return Nil
Resultado esperado

Lê a expressão do índice atual, ou nada faz em SB1 se não estiver aberta; não percorre registros. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • O fluxo pressupõe ausência de erro nas chamadas. Em processamento real, a limpeza também precisa ocorrer nas saídas por erro; não fechar aliases alheios com DbCloseAll.
  • 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. FwGetArea: Alias, IndexOrd, Recno. Consulta em 2026-10-28.
  2. TOTVS. DBSelectArea. Consulta em 2026-10-28.
  3. TOTVS. IndexKey. Consulta em 2026-10-28.
  4. Atilio. dan-atilio/AdvPL. Maratona de Exemplos/Exemplo_220_Funcoes_FWGetArea_FWRestArea_GetArea_e_RestArea.prw. Arquivo completo analisado; adaptação editorial. Consulta em 2026-10-28.
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