Tempo de leitura: 2 minutos
A função ExistCPO no ADVPL verifica se um registro passado como parâmetro existe em uma outra tabela. Ela é uma das funções de validação no ADVPL.
Sintaxe:
Parâmetro(s):
Retorno:
Obs.:
As funções ExistCpo e ExistChav 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 outro arquivo de dados.
Exemplo da função ExistCPO no ADVPL:
#include 'protheus.ch'
#include "tbiconn.ch"
/**{Protheus.doc} User Function fExisCPO
A função ExistCPO valida a existência de um registro em qualquer tabela do Protheus
@type Function
@author Adilio Costa
@since 07/04/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 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 fExisCPO()
Local cAlias := "SA1"
Local cChave := M->C5_CLIENTE+M->C5_LOJACLI
//Verificando se o cliente e a loja informado na SC5(Pedidos de Venda) existe na tabela de Clientes SA1
If(ExistCPO(cAlias,cChave,1))
FWAlertInfo("O cliente de "+cCodCli+" e loja "+cLoja+" existe na tabela de clientes "+cAlias+".","Função ExistCPO")
Else
FWAlertInfo("O cliente de "+cCodCli+" e loja "+cLoja+" existe na tabela de clientes "+cAlias+".","Função ExistCPO")
EndIf
Return
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):