>>lparameters pcField >>=Test1(parms) >>=Test2(parms) >>=Test3(parms) >>=Test4(parms) >>etc. >>return .t. >> >>If Test1 fails, it invokes another function (general), which logs info into LogTable, etc. >> >>Validation could be run in batch mode, or can run interactively using a form. >>The problem is, after Test1 fails, we want to return to a Form and don't run other tests. Do you know, how can we make it happen? >> >>My original suggestion was to use this syntax: >>Test1() and Test2() and etc. , but as I understand, in batch mode we want to perform all tests and log all errors. So, this idea would not work. >> >>The program itself should not care about modes, etc., IOW, code in the program should remain. > >An ingenious idea from YAG and folks at Flash, that I found in ComCodebook: ><pre>lReturnStatus=.f. >do case > case not test(1) > case not test(2) > case not CallOfThirdFn() > ... > otherwise > lReturnStatus=.t. >endcase >return lReturnStatus>I simply love this.