Kbase P102863: Unterminated statements compile without errors
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  1/12/2007 |
|
Status: Unverified
FACT(s) (Environment):
Progress 8.x
Progress 9.x
OpenEdge 10.x
SYMPTOM(s):
Compiling code that contains an unterminated statement
No error is raised by the Progress Compiler
Using an incomplete IF THEN statement fails to raise an error:
/* Example #1 */
DEFINE VARIABLE a AS INTEGER.
IF a = 1 THEN
/* Example #2 */
FOR EACH customer:
DISPLAY customer.name.
CAUSE:
This behaviour is the result of feature of the 4GL compiler which has been present in the product for a long time. The 4GL can handle the lack of a terminator so long as there are no complete blocks of code preceding or following the unterminated statement. For example:
/* Sample */
DEFINE VARIABLE a AS CHARACTER NO-UNDO.
DO:
END.
FOR EACH customer:
DISPLAY customer.name.
This code will result in an error.
FIX:
None at this time.