Histórico da Página
Sintaxis
ExistCpo( <alias>, <expresión> [ , <índice> ] )
Propósito
Verifica si el contenido especificado existe en un determinado archivo de datos.
Argumentos
<alias>
Alias del archivo de datos en el que se buscará y validará la información.
<expresión>
Clave que se buscará. Se debe definir sin sucursal.
<índice>
Índice que se utilizará para buscar la expresión en el archivo de datos.
Este argumento es opcional. Si no se informa, la función asume que se utilizará el primer índice del archivo de datos.
Utilización
Esta función se utiliza generalmente para verificar si la información digitada en un campo, que depende de otro archivo de datos, realmente existe en éste. Por ejemplo, el usuario informa el código del cliente en el Pedido de Venta. Por medio de la función ExistCpo(), la rutina verifica si el código del cliente existe en el Archivo de Clientes.
Si el contenido especificado existe en el otro archivo de datos (alias), la función retorna verdadero (.T.). Si no existe, retorna falso (.F.), y muestra un help con un aviso sobre la ocurrencia.
Importante
A primera vista, las funciones ExistCpo() y ExistChav() parecen similares. Pero, la función ExistCpo() verifica una clave externa, es decir, verifica si un código existe en otro archivo de datos, mientras que la función ExistChav() verifica una clave única, o sea, verifica si un código ya existe en el propio archivo de datos que se está manejado.
Ejemplos
En este ejemplo, se llama a la siguiente función cuando el usuario informa el código y la tienda del cliente en el Pedido de Venta. Ésta verificará si el cliente está registrado en el sistema.
FUNCTION VerCli(cCodCli, cLoja)
LOCAL lRet := .T.
// Verifica si el Código del Cliente existe en el Archivo de Clientes.
IF ExistCpo("SA1", cCodCli + cLoja)
MsgAlert(“Cliente aprobado”)
ELSE
MsgAlert(“Cliente no existe”)
lRet := .F.
ENDIF
RETURN lRet