En RED Local generar un indice CDX en PC Local

Post Reply
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

En RED Local generar un indice CDX en PC Local

Post by Loren »

Hola, compañeros:

Tengo una app en red local que funciona muy bien con DBF/CDX. Pero muy ocasionalmente me tira un error del tipo:

Error BASE/1003
No existe la variable: CLA

en esta línea:

Code: Select all

index on nombre tag &(camino+"tempor") to &(camino+"tempor") additive for upper(alltrim(cla)) $ upper(compras->nombre)
En esta línea el programa busca el nombre y filtra en la tabla a través de un índice que crea en el PC Local. Filtro a través de un índice y no un dbsetfilter porque es mucho más rápido.
CAMINO es la ruta de la PC Local
CLA es el nombre de una variable GET donde el usuario introduce un nombre y está declarada PUBLIC

¿ Cuál puede ser el motivo de que este error es ocasional?

Mil gracias.
Saludos.
LORENZO.
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: En RED Local generar un indice CDX en PC Local

Post by carlos vargas »

si le agregas TEMPORARY el indice te lo crea local y de forma temporal.
prueba indicando M->CLA para indentificarla como una variable, esta variable por lo general debe ser PRIVATE para que no tenga problemas.
ademas debes siempre validar que el contenido de esta variable no se NIL.

INDEX ON <indexExpr> ;
[TAG <cIndexName>] ;
[TO <cIndexFile>] ;
[FOR <lForCondition>] ;
[WHILE <lWhileCondition>] ;
[ALL] ;
[NEXT <nNumber>] ;
[RECORD <nRecNo>] ;
[REST] ;
[EVAL <bBlock>] ;
[EVERY <nInterval>] ;
[UNIQUE] ;
[ASCENDING|DESCENDING] ;
[USECURRENT] ;
[ADDITIVE] ;
[CUSTOM] ;
[NOOPTIMIZE] ;
[TEMPORARY] ;
[USEFILTER] ;
[EXCLUSIVE]
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
Post Reply