Informix Error -4396
-4396 The MENU declaration at line line-number is not terminated.
4GL could not identify an END MENU statement to match the MENU 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
-4396 fires when the compiler can't find an END MENU to match a MENU statement — per the
official guidance, start at the reported line and work downward to find where the terminator
should have been.
- A
MENUstatement with no matchingEND MENU, per the official guidance — the direct, only cause.
Solutions / Resolution
- Start at the reported line and work down until you find where
END MENUshould have been, then insert it, per the official guidance.
Examples
A missing END MENU
MENU "Options"
COMMAND "Save"
CALL save()
-- -4396: no END MENU found
Corrected
MENU "Options"
COMMAND "Save"
CALL save()
END MENU
Diagnostic Checks
- Work down from the reported
MENUline, and insert the missingEND MENUat 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 ofMENU/END MENU. - -4393 — "The MENU statement has exceeded the maximum number of selections." A related
MENU-structure error, which a missingEND MENUcan also trigger by combining two menus. - -4390 — "Only one BEFORE MENU clause is allowed for each MENU statement." A related
MENU-structure error, which a missingEND MENUcan also trigger.
A MENU statement has no matching END MENU — insert one at the correct point.