Histórico da Página
Sintaxe
ExistChav( <alias>, <expressão> [ , <índice> ] [ , <help> ] )
Propósito
Verifica se o conteúdo especificado existe no arquivo de dados.
Argumentos
<alias>
Alias do arquivo de dados no qual a informação será pesquisada e validada.
<expressão>
Chave que será pesquisada. Deve ser definida sem a filial.
<índice>
Índice que será utilizado para a pesquisa da expressão no arquivo de dados.
Esse argumento é opcional. Caso não seja informado, a função assume que será utilizado o primeiro índice do arquivo de dados.
<help>
Nome do help padrão do Protheus que será exibido para o usuário. Esse argumento é opcional.
Utilização
Essa função é utilizada normalmente para verificar se um determinado código já existe no arquivo de dados na qual a informação está inserida. Por exemplo, o CNPJ no Cadastro de Clientes ou Fornecedores.
Caso o conteúdo especificado não exista no alias (arquivo de dados), a função retorna verdadeiro (.T.). Caso não exista, retorna falso (.F.) e exibe um help informando a ocorrência.
Dicas
À primeira vista, as funções ExistCpo() e ExistChav() parecem semelhantes. Porém, a função ExistCpo() verifica uma chave estrangeira, ou seja, verifica se um código existe em outro arquivo de dados, 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.
Exemplos
FUNCTION VerCli(cCNPJ, cInscEst)
// Verifica se o CNPJ e a Inscrição Estadual já existem no Cadastro de Clientes
IF ExistChav("SA1", xFilial("SA1") + cCNPJ + cInscEst, 9, "EXISTCLI")
...
nProspec += 1
ENDIF
RETURN NIL