VX/TDMS - OpenVMS TDMS API's for Linux and UNIX - OpenVMS Migration

VX/TDMS is an implementation of DEC's OpenVMS Forms Management System for Linux/UNIX. VX/TDMS provides identical form management on Linux and UNIX as the original TDMS on OpenVMS. VX/TDMS is a library of FDV$ API's which take identical arguments compared to TDMS on OpenVMS.

Learn More


VX/TDMS supplies all features of the original OpenVMS system. Supported features include, but are not limited to: Scrolled areas Named data Overlapping forms Double-wide, double-high characters 132-character mode Help forms UAR-routines VX/TDMS supports all VT-terminals (VT100 or higher) and DECwindow’s DECterm. VX/TDMS is a fully functional implementation of OpenVMS TDMS and can be run as a stand-alone product. For programs that take full advantage of VMS, VX/TDMS is designed to be fully integrated with VX/RT — Sector7’s VMS run-time support libraries for Linux/UNIX.


Forms developed with TDMS were intended to run only on VAX computers with the VMS operating system. The complexity of TDMS, together with OpenVMS VMS, specific run-time dependencies and platform-specific programming language interface constructions, effectively prohibited (until now) the porting of TDMS-created forms. VX/TDMS includes a complete set of language interface utilities, which facilitate the changes necessary to complete the linking process. VX/TDMS interface utilities are available for the following programming environments: Fortran (several dialects) OpenVMS C and Standard C COBOL (several dialects) VX/BASIC (VAX BASIC) B-Tran/B2 (PDP-11 BASIC) Utility procedures provide system-independent routines that complete (as required) include statement changes, integration of OpenVMS-descriptors, call name changes and argument list completion.


Forms using VX/TDMS allow the programmer to use the following features of DEC's VT family: Individual character attributes (reverse video, bold, blinking, underline) Line attributes (double-width, double-height, scrolled) Screen-width attributes (80 and 132 column lines, reverse video) Alternative character sets (also vt100 special graphics characters sets for line drawing) The ASCII-form description (FLG-files) are translated by the VX/TDMS compiler into an internal format binary file. These binary files are used to display forms and validate user input at run-time. It is not necessary to modify the application program after modifying of the form description. VX/TDMS applications are using the run-time system to display forms and their associated data fields and to control the I/O stream. The entire terminal I/O is passed through ASCII strings.


The Form Driver is the run-time component of VX/TDMS. The Form Driver's subroutine set provides tools for terminal input and output, display of forms, manipulation of the screen, basic input validation and formatting, calling UARs and responding to the terminal operators, requests for help. Input and output can be specified one field at a time or on a whole-form basis. VX/TDMS does not use curses, termcap or terminfo. All terminal drivers are C-based routines that have been built into the VX/TDMS system to provide efficient portability. VX/TDMS can not define any terminal capabilities by external file. VX/TDMS supports VT100 and upward compatible VTxxx terminals. DECterm under DECwindows on Digital workstations is also supported. Support for non-VTxxx terminals is provided on an as-needed basis. VX/TDMS uses ANSI-capabilities connected with a console terminal for Linux environments, and HFT-commands for other RISC-based systems. Some restrictions may apply.


User Action Routines (UARs) are procedures written by the user in any DEC-supported programming language. UARs are associated with forms and fields during the creation of form data structures and are automatically called by the Form Driver under the following conditions: When processing for a field is finished Before and after processing the terminal operator's help request When the terminal operator presses a function key When a screen refresh operation is requested The Form Driver transfers program control to the UAR under the circumstances defined. The UAR has a parameter string of 80 characters (defined as part of the form) to get processing information and the current Form Driver context.


The TDMS mask description language is a free-form, keyword-oriented, declarative language that provides the means to create and modify source from description with a text editor or TDMS/Edit (VMS). The VX/TDMS compiler translates this text file into a binary file, which is used at run-time. VX/TDMS Vector is used to generate an object module containing a vector table of addresses that point to the UARs linked with the application program.