OMI - Oscar's Menu Interpreter

OMI - Oscar's Menu Interpreter


OMI - Oscar's Menu Interpreter

A menu interpreter for VMS, entirely written in DCL

version 2.3

Released: June 25, 2004

OMI proves everything can be done in plain DCL!

OMI is a DCL application which can be used to create menu structures and handle all I/O for all kind of interactive procedures.
Even though OMI is written completely in DCL, it is a full programming environment, with client/server support (unattended modules using mailboxes to communicate), a full-blown calculator with floating point support, string encryption and more!

OMI reads menu files (file_name.MNU), and builds a window on character cell terminals (VTxxx) in which the user can enter inputs, jump to submenus, and call OMI modules to perform predefined tasks, but using menu options and internal commands.


OMI is not an application to perform different functions. It's a menu interpreter, and all actual tasks have to be written as OMI modules (file_name.OMI), using DCL commands. To make writing of these modules easier, several OMI commands are available to the modules.
Since version 2.0, modules can run unattended in the background, using full OMI fuctionality. Mailboxes can be used to communicate with interactive OMI sessions, thus creating a complete environment with systemwide capabilites.
More information about this can be found in the topic Calling_Modules in the online help, and in the documentation.

Also, menu files have to be written. The topic Menu_File of the online help describes the several sections of menu files. The distribution of OMI also includes an example menu (OMI$EXAMPLE.MNU) with one module (OMI$EXAMPLE.OMI) to show some of the possibilities.

Back to the top


  • Looks and feels like any VMS application,
  • No binary code, everything is plain DCL,
  • Built in calculator with floating point support,
  • Built in menu file syntax validator,
  • Support for unattended backgound processes,
  • Menus can be protected with several security levels,
  • Different levels of a menu can have different owners,
  • Password protection,
  • Menu files can have encrypted items using multiple keys,
  • Support for on-the-fly menus,
  • Priviliged users can modify menus without leaving OMI,
  • Full access to DCL commands,
  • Configuration of the layout and the behaviour is user specific,
  • Several OMI commands for use in menu files and on the OMI prompt,
  • Use of DCL in OMI modules is very easy using the OMI ToolBox,
  • ToolBox can be very easily extended with your own tools,
  • Menu specific help can easily be added.

More information can be found in the history.

If you want to make your OMI menus available on this site, Dit e-mailadres is beschermd tegen spambots. U heeft JavaScript nodig om het te kunnen zien. ! You can also upload your menus via anonymous ftp to

Dit e-mailadres is beschermd tegen spambots. U heeft JavaScript nodig om het te kunnen zien. with the word subscribe on the subject line of the message.



Documentation is available in HTML for online browsing, and in PostScript and Adobe PDF for downloading.

PDF A4-paper (368 kB)
Or: the uncompressed version (439 kB)
Letter-paper (374 kB)
Or: the uncompressed version (447 kB)
PostScript A4-paper (324 kB) Letter-paper (325 kB)
HTML Online documentation
Version 2.0 documentation can still be downloaded in Microsoft Word format (70 B).

Download OMI

Two distribution sets are availble: (144 kB)
To unpack this distribution, you will need unzip for VAX/VMS or unzip for AXP/VMS. (554 kB)
This distribution was created using Andy Harper's VMS_SHARE. To unpack it, simply copy the file to the destination directory and type @OMI-V2_2.
You will also need to download to the installation script OMI$INSTALL.COM (in ASCII mode !)

Further installation notes can be found in the file readme.txt, which is included in both sets, and in the online documentation.

Patch 1.4a

When using the DCL command in the COMMAND element type, a bug can show up, throwing the user back to the DCL prompt, when the DCL command ends in an error. To fix this problem, update OMI to version 1.4a.
This patch is available as a DCL command file, omi$ (3 kB). Please note it should be downloaded as an ASCII file!
To install the patch, take the following steps:

  • Log in as a user with WRITE privilege to the OMI$ directory
  • Make sure the logical OMI$ points to the directory where the production version of OMI$MENU.COM is located
  • At the DCL prompt, type the command @OMI$PATCH_1-4a
and that's it.
Note the patch is for version 1.4 only. If you have the problem with earlier versions, upgrade to 1.4 before patching OMI$MENU.COM!
When you've been using password protection in version 1.0-b2, you need to remove all passwords, since the new OMI encryption is incompattible with previous releases. More information can be found in the history.
Since Version 1.2, OMI comes with the OMI$MANAGE menu, which implements the MANAGE command. This menu is required for adding message files (facilities) and messages,but the complete menu is yet undocumented. Only the messages submenu works, the Create Submenu is still being developed.

Support and Feedback

The documentation should provide you with all information you need to get your own menus running. For support issues that are not covered by the manual, please use the OMI Forum.

OMI comes with no warranty, use of this tool is at own risk.
OMI can be freely used and distributed, as long as all files included with this distribution are distributed together. All I ask is an e-mail if you like it and installed it at your site. It is not allowed to make changes to OMI without notifying the author.

1997 - 2007, Oscar van Eijk, Oveas Functionality Provider