DBSetOrder

Tempo de leitura: 2 minutos

A função DBSetOrder define qual índice será utilizado pela área de trabalho ativa, ou seja, pela área previamente selecionada através da função DBSelectArea. As ordens disponíveis no ambiente Protheus são aquelas definidas na SIX(Índice das Tabelas) ou as ordens disponibilizadas por meio de índices temporários. Ela também é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL. 

 

Sintaxe:

DBSetOrder(nOrdem)

 

Parâmetro(s):

Observações:

  • Esta ordem é a responsável pela sequência lógica dos registros da tabela corrente;
  • Caso seja setada a ordem 0(zero), a tabela corrente, na área de trabalho, será posicionada na ordem em que os registros foram inseridos, porém os indexadores são mantidos abertos;
  • É importante salientar que, quando alterada a ordem atual de uma determinada tabela, o registro atual não é disposicionado.

 

Exemplo da função DBSetOrder em ADVPL:

#include 'protheus.ch'
#INCLUDE "TBICONN.CH"
#Define QLIN Chr(10)+Chr(13)
/*{Protheus.doc} User Function PADBSOrd
    (Essa função tem por finalidade mostrar a função de Acesso a Banco de Dados / SQL no Protheus DBSetOrder em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 06/12/2023
    @version Protheus 12.1.2210
    @Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos do ProtheusAdvpl:
https://hotmart.com/pt-br/club/protheusadvpl
|Se esse conteúdo foi útil pra você nos ajude divulgando 
ele e nossas redes sociais!!|
*/

User Function PADBSOrd()
	Local aArea    := GetArea()
	Local cMsg := "Cadastro de Fornecedor"+QLIN

	//Definindo a tabela SA2(Fornecedores) como à área de trabalho ativa
	DBSelectArea("SA2")

	//Usa o índice 1, de acordo com o arquivo SIX -> A2_FILIAL+A2_COD+A2_LOJA
	SA2->(DBSetOrder(1))

	cMsg +="Índice Numérico:"+cValToChar(SA2->(IndexOrd()))
	cMsg +="Chave do índice selecionado:"+cValToChar(SA2->(IndexKey(IndexOrd())))

	MsgInfo(cMsg,"Função DBSetOrder - Exemplo 1")


	//Usa o índice 10(A), de acordo com o arquivo SIX -> A2_FILIAL+A2_CONTA
	SA2->(DBSetOrder(10))

	cMsg +="Índice Numérico:"+cValToChar(SA2->(IndexOrd()))
	cMsg +="Chave do índice selecionado:"+cValToChar(SA2->(IndexKey(IndexOrd())))

	MsgInfo(cMsg,"Função DBSetOrder - Exemplo 2")

	RestArea(aArea)

Return

 

 

É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus.

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.