>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 lReturnStatusI simply love this.