Informix Error -845: There are no user-menus in the database.
Cause and resolution
There are no user-menus in the database.
This database does not contain the sysmenus table, it is empty, or possibly the top-level menu is not named main. Check that you are using the database you intended. Consult with the person who defined the user menus for this database.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-845 fires when the database has no usable user-menu system at all — per the official guidance,
three possible reasons: the sysmenus table doesn't exist in this database, it exists but is
empty, or the top-level menu isn't named main (the name the tool specifically expects).
- The current database was never set up with user menus, per the official guidance — no
sysmenustable at all. sysmenusexists but has no rows, per the official guidance — set up structurally but never populated.- The top-level menu isn't named
main, per the official guidance — a specific naming convention the tool requires for the entry point, even if other menus are defined.
Solutions / Resolution
- Check that the intended database is actually connected, per the official guidance — this condition may simply mean the wrong database is current.
- Consult with the person who defined the user menus for this database, per the official guidance — this is the documented resolution path, since setting up the menu system is a design/deployment task.
- Check whether
sysmenusexists and has rows, and specifically whether a menu namedmainis among them:SELECT colname FROM syscolumns WHERE tabid = (SELECT tabid FROM systables WHERE tabname = 'sysmenus'); SELECT * FROM sysmenus;
Examples
Checking for sysmenus and a main entry
SELECT * FROM sysmenus;
Review the result for any rows at all, and specifically for one representing a top-level menu
named main.
Diagnostic Checks
- Confirm the correct database is connected.
- Query
sysmenusto check for its existence, whether it has rows, and whether amaintop-level menu is present.
Related Errors / Related Topics
- -818 — "Specified user menu not found." A related menu error, about one specific named menu not being found, rather than the database having no user-menu system at all.
- -819 — "There are no menu items in the menu." A related menu error, about a found menu being empty of items, rather than no menus existing at all.
Three specific possible causes (no sysmenus table, an empty one, or no main top-level menu)
— query sysmenus to distinguish which applies.