Description
VX/FMS is a full implementation of DEC’s OpenVMS Forms Management System (FMS) for Linux and Windows. It provides an identical form management experience, ensuring seamless migration of VMS applications that rely on FDV$ APIs.
The VX/FMS compiler translates FMS mask description language into binary runtime files, allowing applications to retain their original behavior, formatting, and user interactions on modern platforms.
VX/FMS supports VT terminals, DECterm, and advanced text formatting while maintaining full compatibility with existing VMS FMS applications.
Key Features
• Identical API behavior – Implements all FDV$ APIs with the same arguments as OpenVMS FMS.
• Full Form Compilation – Converts FMS description files into binary runtime for Linux and Windows.
• Terminal compatibility – Supports VT100, VT220, DECterm, and ANSI-compatible consoles.
• User Action Routines (UARs) – Allows custom user-defined routines to execute during form events.
• Integration with Sector7 Migration Tools – Works with VX/RT, VX/RMS, and other Sector7 solutions.
VX/FMS Features and Compatibility
VX/FMS ensures that all core features of OpenVMS FMS are retained during migration, providing a 100% compatible environment.
VX/FMS is designed to work as a standalone product or integrate seamlessly with VX/RT, Sector7’s VMS runtime for Linux and Windows.
VX/FMS Functionality & API Support
Terminal Compatibility
VX/FMS supports multiple terminal types, ensuring identical user interaction across platforms:
• VT100, VT220, and all compatible VT-series terminals
• DECterm under DECwindows
• ANSI-compatible terminal emulators for Linux
Example: Running FMS Forms on Linux
$ vxfms form_name
FMS Form Driver: Execution and Display
The Form Driver is the runtime component of VX/FMS, responsible for:
• Rendering FMS screens in VT-terminals & DECterm
• Handling user input, navigation, and validation
• Executing User Action Routines (UARs) for interactive events
VX/FMS does not rely on curses, termcap, or terminfo, ensuring direct compatibility with original VMS FMS behavior.
User Action Routines (UARs) & Interactive Forms
User Action Routines (UARs) are user-defined callback procedures triggered by form events. VX/FMS fully supports all UAR scenarios, including:
• Field completion events
• Help requests by terminal operators
• Function key interactions
• Screen refresh operations
Example: Defining a UAR in VX/FMS
void MyCustomUAR() {
// Custom logic for form validation or user interactions
}
VXFMS.RegisterUAR(MyCustomUAR);
VX/FMS extends original FMS capabilities by allowing dynamic linking of external C++ functions, providing greater flexibility.
VX/FMS Forms Compiler
The VX/FMS Compiler translates FMS mask description language into runtime binary files, ensuring that VMS FMS applications execute identically on Linux and Windows.
Example: FMS Mask Description File
FORM screen_1
FIELD username
FIELD password
BUTTON submit
END FORM
Compiled Output
class Screen1Form {
public:
std::string username;
std::string password;
void Submit();
};
VX/FMS ensures that all form logic and attributes are preserved, maintaining identical behavior across platforms.
VX/FMS API Reference (FDV$ APIs)
VX/FMS implements the full VMS FMS FDV$ API set, ensuring full compatibility for migrated applications.
VX/FMS retains all FDV$ APIs required for seamless execution of legacy VMS applications.
Conclusion
✅ 100% FMS API Compatibility on Linux & Windows
✅ No functional changes required – perfect migration parity
✅ Seamless integration with VX/RT for full VMS emulation
✅ Supports VT-terminals, DECterm, and modern UI extensions
✅ Enables real-time User Action Routines (UARs)
VX/FMS is the only solution that enables seamless migration of OpenVMS FMS applications to Linux and Windows without modification.