LOCAL (original enhancement)

LOCAL variable, variable, ・・・

A LOCAL statement is written in an internal procedure, and it declares its local variables, numeric or string, to enable recursive call of the procedure.

Because LOCAL is a non-standard enhancement, it is recommended that global variables should be declared as a public variables in a module and local variables should be those of external procedures within the module.
However, it is unavoidable to use a LOCAL statement if an internal procedure in an external procedure that performs recurrence needs local variables.
In such a case, check Option-Syntax "Compel All Variables Declared" to confirm no variable in the internal procedure not to be declared.