LOCAL llresult
>>>>>llresult = .T.
>>>>>llresult = llresult And StepOne()
>>>>>llresult = llresult And StepTwo()
>>>>>llresult = llresult And StepThree()
>>>>>
>>>>llresult = StepOne() AND StepTwo() AND StepThree()
>>>Return llresult
>>>
>>>RETURN StepOne() AND StepTwo() AND StepThree()
>>>RETURN StepThree(StepTwo(StepOne()))
>>set procedure to steps lCheck = step3(step2(step1())) lCheck = step3(step2(step1(.t.))) *** Steps.prg PROCEDURE step1 LPARAMETER tl1 * lResult = [you may do something logical here] lResult = tl1 && just as a default value RETURN lResult PROCEDURE step2 LPARAMETER tl1 * do something lResult = tl1 AND .T. && OR some other valid logical expression instead of just .t. RETURN lResult PROCEDURE step3 LPARAMETER tl1 * do something lResult = tl1 AND .T. && R OR some other valid logical expression instead of just .t. RETURN lResult