Tempo de leitura: 2 minutos
A função DBSetOrder em ADVPL define e ordena o índice será utilizado por um alias/tabela ativo, 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"
/*{Protheus.doc} User Function fDBSetOr
(Essa função tem por finalidade mostrar a função DBSetOrder em ADVPL)
@type Function
@author Adilio Costa
@since 05/12/2023
@version 1
@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://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function fDBSetOr()
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())))
FWAlertInfo(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())))
FWAlertInfo(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.
Link(s) de referência(s):