Informix Error -4398
-4398 The CASE statement at line line-number is not terminated.
4GL could not identify an END CASE statement to match the CASE 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
-4398 fires when the compiler can't find an END CASE to match a CASE statement — per the
official guidance, start at the reported line and work downward to find where the terminator
should have been.
- A
CASEstatement with no matchingEND CASE, per the official guidance — the direct, only cause.
Solutions / Resolution
- Start at the reported line and work down until you find where
END CASEshould have been, then insert it, per the official guidance.
Examples
A missing END CASE
CASE status
WHEN "New"
CALL initialize()
-- -4398: no END CASE found
Corrected
CASE status
WHEN "New"
CALL initialize()
END CASE
Diagnostic Checks
- Work down from the reported
CASEline, and insert the missingEND CASEat 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 ofCASE. - -4396 — "The MENU declaration at line line-number is not terminated." The same
missing-terminator pattern applied to
MENU/END MENUinstead ofCASE.
A CASE statement has no matching END CASE — insert one at the correct point.