Validando se um registro já existe na mesma tabela com ExistChav – Maratona AdvPL e TL++ 157

Nesse vídeo demonstraremos a utilização da função ExistChav, que valida se uma chave de registro existe na mesma tabela, ideal para validar, por exemplo, se o usuário já inseriu a informação antes em outro registro (como CPF ou CNPJ).

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe157
Verifica se a chave já existe na mesma tabela
@type Function
@author Atilio
@since 18/12/2022
@see https://tdn.engpro.totvs.com.br/pages/releaseview.action?pageId=24346638
@obs 
    Função ExistChav
    Parâmetros
        + Alias        , Caractere   , Nome da tabela a ser verificada
        + Expressao    , Caractere   , Conteúdo dos campos a ser verificado
        + Indice       , Numérico    , Número do índice a ser verificado
        + Help         , Lógico      , Se .T. irá exibir o help caso já encontrar o registro
    Retorno
        Retorna .F. se o registro não existir ou .T. se já existir

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe157()
    Local aArea     := FWGetArea()
    Local cCodigo   := "C00001"
    Local cLoja     := "01"

    //Verifica se já existe na tabela essa informação
    If ExistChav("SA1", cCodigo + cLoja, 1)
        FWAlertSuccess("Cliente não existe!", "Teste ExistChav")

    Else
        FWAlertError("Cliente já existe!", "Teste ExistChav")
    EndIf

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação