NO TIENES QUE CAMBIAR NADA !!!!!
Eso es lo maravilloso de ADS, la migracion es transparente, solo tienes que cambiar el tipo de archivo:
REQUEST ADS
RddSetDefault("ADS")
AdsSetServerType(7) // cualquier servidor
AdsSetFileType(3) // ADT / ADI
Y listo todo lo demas funciona tal como funciona con los DBF normales, no debes hacer nada mas en tu codigo.
Obviamente debes convertir los DBFs actuales a ADT, usa este programita:
Code: Select all
FUNCTION Main()
LOCAL aDbfs := DIRECTORY(".\*.dbf")
LOCAL nDbfs
LOCAL aEstructura
LOCAL cNomAdt, cNomAdi, cNomAdm
LOCAL nReng := 0
REQUEST ADS,DBFNTX,DBFDBT
RDDSETDEFAULT("ADS")
AdsSetServerType(1)
AdsSetFileType(3)
CLS
FOR nDbfs := 1 TO LEN(aDbfs)
/* obtenemos el nombre del DBF y le agregamos la extension ADT */
cNomAdt := LEFT(aDbfs[nDbfs,1],AT(".",aDbfs[nDbfs,1]))+"ADT"
cNomAdi := LEFT(aDbfs[nDbfs,1],AT(".",aDbfs[nDbfs,1]))+"ADI"
cNomAdm := LEFT(aDbfs[nDbfs,1],AT(".",aDbfs[nDbfs,1]))+"ADM"
@ nReng, 1 SAY cNomAdt
/* abrimos el DBF usando el RDD DBFNTX*/
USE (aDbfs[nDbfs,1]) NEW ALIAS TempDbf VIA "DBFNTX"
/* obternemos la estructura del DBF */
aEstructura := TempDbf->(DBSTRUCT())
/* verficamos si existe el archivo ADT, su indice ADI y su memo ADM, si existen los borramos*/
IF FILE (".\"+cNomAdt)
FERASE(".\"+cNomAdt)
ENDIF
IF FILE (cNomAdi)
FERASE(".\"+cNomAdi)
ENDIF
IF FILE (cNomAdm)
FERASE(".\"+cNomAdm)
ENDIF
/* creamos una nueva estructura ADT a partir de la estructura DBF previamente obtenida */
/* abrimos la nueva estructura con el el alias "TempAdt" */
DBCREATE(cNomAdt,aEstructura,"ADS",.T.,"TempAdt")
/* al primer registro del DBF */
TempDbf->(DBGOTOP())
/* vamos a recorrer todo el DBF para cargar los datos al ADT */
DO WHILE ! TempDbf->(EOF())
/* añadimos un registro al ADT */
TempADT->(DBAPPEND())
/* agregamos la informacion de los _ por campo*/
FOR nCampos := 1 TO TempDbf->(FCOUNT())
TempAdt->(FIELDPUT(nCampos,TempDbf->(FIELDGET(nCampos))))
NEXT
TempDbf->(DBSKIP())
ENDDO
/*cerramos todo */
DBCLOSEALL()
nreng++
NEXT
RETURN (.T.)
AAHHH ! y no olvides que los indices ADI funcionan con la filosofia de los CDX por lo que deberas cambiar la forma de indexar para usar TAGs