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

Índices, ordens e pesquisas em tabelas Protheus

Confere a expressão da ordem antes de montar a chave de busca.

Índices, ordens e pesquisas em tabelas ProtheusAdvPL
01 · VISÃO GERAL

Visão geral

DBSetOrder escolhe a ordem lógica da área aberta e pode falhar se a ordem não existir. IndexKey retorna a expressão como texto; não cria nem reconstrói índice. DBSeek exige uma ordem compatível com o tipo e a composição da chave e seu retorno lógico deve ser conferido antes de ler campos. Com lSoftSeek verdadeiro, pode haver posicionamento aproximado mesmo com retorno falso: posição não comprova correspondência. O exemplo apenas inspeciona a ordem atual de SB1 para não presumir número de ordem, largura ou código. Na consulta SQL, ORDER BY e a decisão de índice físico são questões separadas. (Fontes: refs. 1–4.)

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed738()
    Local cExpressao := ""
    // Consulta alias ja aberto; nao muda ordem nem posicao.
    If Select("SB1") > 0
        cExpressao := SB1->(IndexKey())
    EndIf
    ConOut(cExpressao)
Return Nil
Resultado esperado

Exibe a expressão corrente ou string vazia; não busca um produto. 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 usar trim para encurtar componentes de chave de largura fixa. Preservar a área e a ordem se o processamento realmente as alterar; não aplicar rotina de criação do exemplo técnico a tabelas padrão.
  • 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. IndexKey. Consulta em 2026-10-28.
  2. TOTVS. DBSetOrder. Consulta em 2026-10-28.
  3. TOTVS. DBSeek. Consulta em 2026-10-28.
  4. TOTVS. Desenvolvendo queries no Protheus. 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