When you code a Maintain command, you terminate its syntax using one of the following:
Coding suggestion: Supplying optional semicolons is preferable, because if you omit them, when you invoke functions in that procedure, you must do so using the COMPUTE or PERFORM commands. By supplying optional semicolons in a procedure, you can invoke functions more directly, by simply specifying their names. Supplying optional semicolons is also preferable because if you supply them in a procedure, you can code assignment statements more succinctly by omitting the COMPUTE keyword.
For example, the following NEXT command, assignment statement, and invocation of the DisplayEditForm function are all terminated with semicolons:
FOR ALL NEXT CustID INTO CustOrderStack; EditFlag = CustOrderStack().Status; DisplayEditForm();
In the following example, the CASE command is terminated with an ENDCASE keyword:
CASE UpdateAcct UPDATE SavingsAcct FROM TransactionStack; IF FocError NE 0 THEN TransErrorLog(); ENDCASE
Most commands use one of these methods (a semicolon or an end keyword) exclusively, as described for each command in Command Reference.