>SELECT planrep >SET FILTER TO INLIST(planrep.dept,&lcdept) AND INLIST(planrep.factory,&lcfactory) AND INLIST(planrep.country,&lccountry) AND INLIST(planrep.season,&lcseason) >>
SELECT planrep SET FILTER TO IIF(TYPE(lcdept) # "U",INLIST(planrep.dept,&lcdept),.t.) AND; IIF(TYPE(lcfactory) # "U",INLIST(planrep.factory,&lcfactory,.t.) AND; IIF(TYPE(lccountry) # "U",INLIST(planrep.country,&lccountry),.t.) AND; IIF(TYPE(lcseason) # "U",INLIST(planrep.season,&lcseason), .t.)2.
LOCAL lcFilterCondition lcFilterCondition = [] IF TYPE(lcdept) # "U" lcFilterCondition = [INLIST(planrep.dept,]+m.lcDept+[)] ENDIF IF TYPE(lcfactory) # "U" lcFilterCondition = lcFilterCondition +; IIF(EMPTY(lcFilterCondition),[],[ AND ])+; [INLIST(planrep.factory,]+lcfactory+[)] ENDIF IF TYPE(lcseason) # "U" lcFilterCondition = lcFilterCondition +; IIF(EMPTY(lcFilterCondition),[],[ AND ])+; [INLIST(planrep.season,]+lcseason+[)] ENDIF IF TYPE(lccountry) # "U" lcFilterCondition = lcFilterCondition +; IIF(EMPTY(lcFilterCondition),[],[ AND ])+; [INLIST(planrep.lccountry,]+lccountry+[)] ENDIF IF NOT EMPTY(lcFilterCondition) SET FILTER TO &lcFilterCondition ELSE SET FILTER TO ENDIF