Sintaxe

 

ExistCpo( <alias>, <expressão>  [ , <índice> ] )

 

Propósito

 

Verifica se o conteúdo especificado existe num determinado 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 o último índice definido.

 

Utilização

 

Essa função é utilizada normalmente para verificar se a informação digitada em um campo, que depende de outro arquivo de dados, realmente existe neste. Por exemplo, o usuário informa o código do cliente no Pedido de Venda. Por meio da função ExistCpo(), a rotina verifica se o código do cliente existe no Cadastro de Clientes.

 

Caso o conteúdo especificado exista no outro arquivo de dados (alias), a função retorna verdadeiro (.T.). Caso não exista, retorna falso (.F.), exibindo um help com um aviso sobre 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

 

Neste exemplo, a função abaixo é chamada quando o usuário informa o código e a loja do cliente no Pedido de Venda. Ela verificará se o cliente está cadastrado no sistema.

 

FUNCTION VerCli(cCodCli, cLoja)

 

LOCAL lRet := .T.

 

// Verifica se o Código do Cliente existe no Cadastro de Clientes

IF ExistCpo("SA1", cCodCli + cLoja)

          MsgAlert(“Cliente aprovado”)

ELSE

          MsgAlert(“Cliente não existe”)

 

          lRet := .F.

ENDIF

 

RETURN lRet

 

  • Sem rótulos