Page 1 of 1

Dudas.. creacion de Indices ADS

Posted: Tue Oct 11, 2011 12:44 am
by gabo
Estimados
Estoy tratando de crear indices ADI, desde codigo. pero me marca muchos errores, tengo el siguiente codigo. de ejemplos puestos en el foro
algun compañero que use ads y pueda mostrar como crear indices ADI
NOTA: El archivo ADI se debe crear si no existe. pero creo que lo que estoy usando solamente funciona si el indice existe

Code: Select all

 IF DBUSEAREA(.T.,'ADS', 'AJUSTESD','AJUSTD', .F., .F. )
    cSqlQuery:="EXECUTE PROCEDURE sp_CreateIndex90('AJUSTESD','AJUSTESD','FOLIO','FOLIO','',2,512 );"
    DbSelectArea( 0 )
    IF ADSCreateSQLStatement( 'AJUS', 3, hCONN )
       IF ! ADSExecuteSQLDirect( cSqlQuery )
           nError:= AdsGetLastError(@cErrorAds)
           messagebox( cErrorAds,'ERROR SCRIPT DE ADVANTAGE...' )
       ENDIF
    ELSE
       nError:= AdsGetLastError(@cErrorAds)
       messagebox(  cErrorAds,'ERROR SCRIPT DE ADVANTAGE...' )
    ENDIF
    AJUSTD->( DbCloseArea() )
 ENDIF
 

Re: Dudas.. creacion de Indices ADS

Posted: Tue Oct 11, 2011 2:18 am
by gabo
YO MISMO
Estaba cometiendo el error de abrir la tabla para crear los indices por comand SQL. para que los indices se creen correctamente. NO ES NECESARIO ABRIR LA TABLA. quedaria de la siguiente manera

Code: Select all

  cSqlQuery:="EXECUTE PROCEDURE sp_CreateIndex90('VTAXPEDI','VTAXPEDI.ADI','ABIERTOS','DTOS(FECHA)','',2,512,'');"
  DbSelectArea( 0 )
  IF ADSCreateSQLStatement( 'VTAX', 3, hCONN )
     IF !ADSExecuteSQLDirect( cSqlQuery )
        nError:= AdsGetLastError(@cErrorAds)
        TraceLog(cErrorAds)
     ENDIF
     IF Select('VTAX') > 0
         VTAX->( DbCloseArea() )
     ENDIF
  ELSE
     nError:= AdsGetLastError(@cErrorAds)
     TraceLog(cErrorAds)
  ENDIF