<<
Local variables start with something like VL_ (VL underscore)

At the end of each procedure there is the statement:

CLEAR VAR VL_*

In this way you will keep your application nice and clean regarding to 
variables.

>>

This doesn't work if one piece of code calls another piece of code.  The inner 
call will clear all the "local" variables of the outer scope as well.

To really make this work, every single procedure needs to have its own, unique, 
variable prefix and then you clear using the prefix:

$COMMAND
MyProg
SET VAR vMP_Something TEXT = 'Hello'
RUN MyOtherProg IN Progs.APX
WRITE 'Original variable vMP_Something still contains', .vMP_Something
CLEAR VAR vMP_Something%
RETURN
$COMMAND
MyOtherProg
SET VAR vMOP_Something TEXT = 'Another variable'
WRITE 'Local variable vMOP_Something contains', .vMOP_Something
CLEAR VAR vMOP_%
RETURN

--
Larry

Reply via email to