Obtendo o Nome de uma Tabela no Banco com RetSQLName em ADVPL

Tempo de leitura: 2 minutos

A função RetSQLName em ADVPL obtém o nome da tabela/alias( exe.:”SA2″) passado como parâmetro no banco de dados. Ela  é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL. 

 

Sintaxe:

RetSQLName(cAlias)

 

Parâmetro(s):

Nenhum

Retorno:

 

 

Exemplo da função RetSQLName em ADVPL:

//Bibliotecas
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
#include "TOTVS.CH"

/*/{Protheus.doc} fRSQLNam
Exemplo da função RetSQLName em ADVPL
@type function
@author Adilio Costa
@since 06/10/2025
@version 1.0
@?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 e Formações do Protheus:
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 fRSQLNam()
	Local aArea  := GetArea()
	Local cQry := ""
	Local cQry2 := ""
	Local cTab := RetSQLName("SC7") //Retorna o nome correto da tabela SC7 conforme o banco de dados
	Local cNum := "0000000001"


	//PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01'
	//Utilizando a função RetSQLName para retornar o nome correto da tabela SC7, no caso SC7010
	cQry  := " SELECT * FROM "+RetSQLName("SC7")+" SC7 (NOLOCK) WHERE C7_NUM = '"+Alltrim(cNum)+"' AND D_E_L_E_T_ = '' AND C7_FILIAL = '"+xFILIAL("SC7")+"' "

	PLSQuery(cQry, "TMP")

	While TMP->(!EOF())
		ConOut("Registro encontrado: "+TMP->C7_NUM+" - "+TMP->C7_DESC)
		TMP->(DBSkip())
	EndDo

	cQry2  := " SELECT * FROM "+cTab+" SC7 (NOLOCK) WHERE C7_NUM = '"+Alltrim(cNum)+"' AND D_E_L_E_T_ = '' AND C7_FILIAL = '"+xFILIAL("SC7")+"' "

	PLSQuery(cQry2, "TMP2")



	While TMP2->(!EOF())
		ConOut("Registro encontrado: "+TMP2->C7_NUM+" - "+TMP2->C7_DESC)
		TMP2->(DBSkip())
	EndDo


	//Restaura a área
	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.