GetFieldsAndIndexes(_samples+'data') >>Select crsStructs >>Locate >>Browse >>Select crsINDEXES >>Locate >>Browse >> >>Procedure GetFieldsAndIndexes(tcDataDir) >> tcDataDir = Addbs(m.tcDataDir) >> Create Cursor crsStructs ; >> (FIELD_NAME C(128) NoCPTrans, ; >> FIELD_TYPE C(1), ; >> FIELD_LEN N(3, 0), ; >> FIELD_DEC N(3, 0), ; >> FIELD_NULL L, ; >> FIELD_NOCP L, ; >> _TABLENAME M NoCPTrans) >> Create Cursor crsINDEXES ; >> (TAG_NAME C(10) NoCPTrans, ; >> KEY_EXPR M, ; >> NDXTYPE C(1), ; >> IS_DESC L, ; >> FILTEREXPR M NoCPTrans, ; >> _TABLENAME M NoCPTrans) >> Select 0 >> lnTables = Adir(arrTables,m.tcDataDir+'*.dbf') >> For ix=1 To m.lnTables >> Use (m.tcDataDir+arrTables[m.ix,1]) >> >> lnFields=Afields(arrStruc) >> For jx=1 To m.lnFields >> arrStruc[m.jx,7]=arrTables[m.ix,1] >> Endfor >> Insert Into crsStructs From Array arrStruc >> Release arrStruc >> If Tagcount()>0 >> Dimension arrIndexes[tagcount(),6] >> For jx=1 To Tagcount() >> arrIndexes[m.jx,1] = Tag(m.jx) >> arrIndexes[m.jx,2] = Key(m.jx) >> arrIndexes[m.jx,3] = Iif(Primary(m.jx),'P',Iif(Candidate(m.jx),'C',Iif(Unique(m.jx),'U','R'))) >> arrIndexes[m.jx,4] = Descending(m.jx) >> arrIndexes[m.jx,5] = Sys(2021,m.jx) >> arrIndexes[m.jx,6] = arrTables[m.ix,1] >> Endfor >> Insert Into crsINDEXES From Array arrIndexes >> Endif >> >> Use >> Endfor >>Cetin