Informix Error -4400
-4400 The FOR statement at line line-number is not terminated.
4GL could not identify an END FOR statement to match the FOR statement on the line number shown. Start at that line and work down until you find where the terminating statement should have been, and insert it.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-4400 fires when the compiler can't find an END FOR to match a FOR statement — per the
official guidance, start at the reported line and work downward to find where the terminator
should have been.
- A
FORstatement with no matchingEND FOR, per the official guidance — the direct, only cause.
Solutions / Resolution
- Start at the reported line and work down until you find where
END FORshould have been, then insert it, per the official guidance.
Examples
A missing END FOR
FOR i = 1 TO 10
CALL process(i)
-- -4400: no END FOR found
Corrected
FOR i = 1 TO 10
CALL process(i)
END FOR
Diagnostic Checks
- Work down from the reported
FORline, and insert the missingEND FORat the correct point.
Related Errors / Related Topics
- -4397 — "The IF statement at line line-number is not terminated." The same
missing-terminator pattern applied to
IF/END IFinstead ofFOR. - -4399 — "The WHILE statement at line line-number is not terminated." The same
missing-terminator pattern applied to
WHILE/END WHILEinstead ofFOR.
A FOR statement has no matching END FOR — insert one at the correct point.