Consultor Eletrônico



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.