This would probably go faster if you would take my suggestion and use the Coverage Profiler to see where the slow code is. That way we can quit guessing which piece is the problem. Without your data and supporting code, we have a hard time narrowing down the problem.
>Here are the beginning codes :
>
>select 0
>cTmpPerf="TMP\"+sys(3)
>create table &cTmpPerf (airport c(3), carrier c(2), type_rec c(1), ;
> cfield1 c(25), cfield2 c(5), cfield3 c(5), cfield4 c(5), ;
> cfield5 c(5), cfield6 c(5), cfield7 c(5), cfield8 c(5), ;
> cfield9 c(5), cfield10 c(5), cfield11 c(5), cfield12 c(5), ;
> cfield13 c(5), cfield14 c(5), cfield15 c(5))
>
>
>use &cTmpPerf alias TmpPerf excl
>index on airport+carrier+type_rec tag aircar
>index on type_rec tag type_rec
>index on cfield1 tag cfield1
>
>
> wait "Filtering CUSTOMER WAIT TIMES data..." window nowait
> select CUSTWAIT
> cCuwIdx="TMP\"+sys(3)
> index on region+AIRPORT+LOC_CODE+CARRIER+SHIFT to &cCuwIDX for &cFilter
> set index to &cCuwIDX
>
>Thanks again.
>PP
Mark McCasland
Midlothian, TX USA