Do Case Case Thisform.Optiongroup1.Value = 1 && All Records Thisform._lcliftdate = ".T." Case Thisform.Optiongroup1.Value = 2 && Only Pending Records Thisform._lcliftdate = "liftdate == {}" Case Thisform.Optiongroup1.Value = 3 && Only Final Records Thisform._lcliftdate = "not liftdate == {}" >EndcaseAnother option to try, run first select w/o additional condition. After that use the cursor created as source for the second select with the additional condition.
>clear >Local lcLiftcond >Close Databases All >Use 1001\psaudac In 0 >Use 1001\psaudam In 0 >Use 1001\customer In 0 >Use 1001\pcode1 In 0 > >lcLiftcond = '.T.' > >Do Case > Case Thisform.Optiongroup1.Value = 1 && All Records > Thisform._lcliftdate = ".T." > Case Thisform.Optiongroup1.Value = 2 && Only Pending Records > Thisform._lcliftdate = "empty(liftdate)" > Case Thisform.Optiongroup1.Value = 3 && Only Final Records > Thisform._lcliftdate = "not empty(liftdate)" >Endcase > >lcLiftcond = Thisform._lcliftdate > >= Sys(3054, 1) > > >Select 0 >Select ; > Str(Val(psaudam.saudano), 10) As dono, ; > godown.acname As locname, ; > party.acname As acname, ; > pcode1.wood As prodname, ; > mill.acname As millname, ; > psaudac.Lotno, ; > psaudac.Bags, ; > psaudac.Weight, ; > psaudac.liftdate, ; > psaudac.Rem1, ; > psaudac.Childid ; > From psaudam ; > Left Outer Join customer godown ; > On godown.accode = psaudam.loccode ; > Left Outer Join customer party ; > On party.accode = psaudam.accode ; > inner Join psaudac ; > On psaudac.Masterid = psaudam.Masterid ; > Left Outer Join pcode1 pcode1 ; > On pcode1.pcode = psaudac.pcode ; > Left Outer Join customer mill ; > On mill.accode = psaudac.millcode ; > Where psaudam.trnstatus = 'YO' ; > And &lcLiftcond ; > Order By 1 ; > Into Cursor junk1 Readwrite > >** if i remove below code then it is fully optimized, but how to optimize including below code >* And &lcLiftcond ; >>