Verificando se um Registro Existe na Própria Tabela com ExistChav em ADVPL

Tempo de leitura: 2 minutos

A função ExistChav em ADVPL verifica se um registro existe na própria tabela posicionada. Elá é uma das funções de validação no ADVPL.

 

Sintaxe:

ExistChav(cAlias,cExpr,nInd,cHelp)
 
 

Parâmetro(s):

 

Retorno:

 

Dica:

 As funções ExistChav e ExistCpo tem algumas semelhanças. Porém, enquanto que a função ExistChav verifica uma chave única, ou seja, verifica se um código já existe no próprio arquivo de dados que está sendo manipulado, a função ExistCpo verifica uma chave estrangeira, ou seja, verifica se um código existe em outra tabela ou arquivo de dados.

 

Exemplo da função ExistChav em ADVPL:

#include 'protheus.ch'
#include 'totvs.ch'
#include "tbiconn.ch"

/**{Protheus.doc} User Function fExisChv
    A função ExistChav verifica se existe um registro em uma tabela do Protheus
    @type  Function
    @author Adilio Costa
    @since 30/10/2023
    @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 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 fExisChv(cCNPJ)

	Local cAlias := "SA2"
	Local cInd := 3 //A2_FILIAL+A2_CGC
	Local lRet := .F.

	If(Empty(cCNPJ))
		cCNPJ := "54898071000182"
	EndIf


	If(ExistChav(cAlias,cCNPJ,cInd))
		FWAlertInfo("O CNPJ "+cCNPJ+" não existe na tabela de fornecedores "+cAlias+", então poderá ser incluído!","Função ExistChav")
		lRet := .T.
	Else
		FWAlertInfo("O CNPJ "+cCNPJ+" existe na tabela de fornecedores "+cAlias+", então não poderá ser incluído!","Função ExistChav")
	EndIf

Return lRet

Bem, finalizamos mais um post aqui no blog. Espero que você tenha entendido, qualquer dúvida nos envie um e-mail para adiliocosta@protheusadvpl.com.br. Grande abraço e fica com Deus.

Links de referência(s):

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