Page 1 of 1

BORRAR INDICES TEMPORALES

PostPosted: Wed May 07, 2014 7:46 pm
by acuellar
Distinguidos,

Cómo se borran los índices con TAG creados temporalmente del archivo físico de índices el cual va creciendo cada vez que se ejecuta.

Hago Así:
Code: Select all  Expand view


Use BASE Alias DATOS NEW SHARED //Si existes BASE.CDX la abre automáticamente
INDEX ON NOMBRE TAG TNOM TEMPORARY //lo agrega a BASE.CDX también e intentado con MEMORY
 


o como hacer para que no abra el archivo de índices automáticamente.

Gracias por la ayuda.

Saludos,

Adhemar

Re: BORRAR INDICES TEMPORALES

PostPosted: Thu May 08, 2014 1:45 am
by FranciscoA
Adhemar, encontré estos consejos, viendo un fichero sobre el uso de CDXs.

Toda aplicación tiene índices estándar, que necesitan estar siempre abiertos y actualizados, de acuerdo
a los cambios en las tablas. Es buen idea ubicarlos todos juntos en un BAG estructural. Así, al abrir la
tabla, se abre el índice y queda abierto y el sistema va actualizando los TAGs durante toda la aplicación.

Algunas veces se necesitan índices adicionales, que se usan en forma esporádica por ejemplo, para
reportes con opciones de usuario. Estos deberían ser creados en índices individuales (creados sin la
cláusula TAG) por cada usuario. No se recomienda crear índices temporales como TAGs dentro de un
BAG estructural.

Talvez te sirve de algo.
Saludos.

Re: BORRAR INDICES TEMPORALES

PostPosted: Thu May 08, 2014 10:32 am
by acuellar
Gracias Francisco.

Efectivamente es así. Usando TAG lo adiciona y con TO no.

El problema está que en el xBrowse cuando se da click en la cabecera con índice TO el funcionamiento es diferente a con TAG.

Buscaré otra manera de hacerlo.

Saludos,

Adhemar

Re: BORRAR INDICES TEMPORALES

PostPosted: Thu May 08, 2014 7:48 pm
by russimicro
local cPatTem := "C:\TEMPORALES"
LOCAL cFilTemCdx := "INDICETEMOPRAL"+SECUENCIADOR()

SELECT ART
INDEX ON cClasi2Art+cClasi4Art TAG ORDERTEMP1 TO &(cPatTem+"\"+cFilTemCdx) TEMPORARY // SOBRE TABLA REAL pero índice temporal en otro cdx

SET ORDER TO TAG ORDERTEMP1 IN &(cPatTem+"\"+cFilTemCdx)

Johnson russi

Re: BORRAR INDICES TEMPORALES

PostPosted: Thu May 08, 2014 9:11 pm
by acuellar
Gracias Johnson

Funciona.

Como lo uso en un xBrowse
Agregue esto:
Code: Select all  Expand view

   oCol:cSortOrder:="TMPCARGO"
   oCol:bLClickHeader:= {|| (OrdSetFocus("TMPCARGO"),oBrw:Gotop()) }
 


Saludos,

Adhemar

Re: BORRAR INDICES TEMPORALES

PostPosted: Fri May 09, 2014 5:49 pm
by acuellar
Solo permite un índice temporal

Cómo se haría esto SET ORDER TO TAG NOMTMP IN CDXTMP con OrdSetFocus("NOMTMP")

Gracias.

Saludos,

Adhemar