My guess is that you have added "DECLARE EXTERNAL" to the top of your program, hoping to catch undefined variables and procedures at translate-time rather than run-time.
The only problem with this approach is that you have to then declare each variable to the parser, using "EXTERNAL <variable>".