select newData delete TAG F_1_2_new index on Padr(myUdf1((Field1)), 20) + Padr(myUdf2((Field2)), 15) tag F_1_2_new INDEX on PADR(myUdf1((Field1)), 20) TAG Filt_New select oldData delete TAG F_1_2_Old index on Padr(myUdf1((Field1)), 20) + Padr(myUdf2((Field2)), 15) tag F_1_2_Old INDEX on PADR(myUdf1((Field1)), 20) TAG Filt_Old ? lcVgl = PADR(myUdf1("x"), 20) Select ; Nw.Field1, Ol.Field2 ; from newData Nw ; join oldData Ol ; on Padr(myUdf1(ol.Field1), 20) + Padr(myUdf2(ol.Field2), 15) ; = Padr(myUdf1(nw.Field1), 20) + Padr(myUdf2(nw.Field2), 15) ; WHERE PADR(myUdf1((nw.Field1)), 20) = m.lcVgl ; INTO CURSOR res *----------- select newData delete TAG F_1_2_new DELETE TAG Filt_New index on Padr(Field1, 20) + Padr(Field2, 15) tag F_1_2_new select oldData delete TAG F_1_2_Old DELETE TAG Filt_Old index on Padr(Field1, 20) + Padr(Field2, 15) tag F_1_2_oldregards