Technical Capabilities
Having trouble finding what you need?
Get in touch with us, so we can answer your specific questions directly.
Get In Touch

VX/FMS - OpenVMS Forms Management

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.

Feature Description
Scrolled AreasSupports scrolling regions within FMS form layouts.
Named DataMaintains **structured field naming** for efficient form processing.
Overlapping FormsAllows **multiple forms to be layered** within a single interface.
132-Character ModeSupports **wide-screen display modes** for enhanced usability.
Help FormsFully compatible with **VMS HELP forms**.
User Action Routines (UARs)Allows **event-driven execution of user-defined logic**.

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.

FDV$ API Function
FDV$ADLVAAdd local virtual address.
FDV$AFVAAllocate form virtual address.
FDV$ATERMAttach terminal device.
FDV$AWKSPAllocate workspace.
FDV$BELLTrigger terminal bell sound.
FDV$CLEARClear form display.
FDV$DISPDisplay form on terminal.


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.

Transform Your Legacy Software Today!

Get In Touch
Unlock the potential of your legacy software with our expert migration services.