Exchange and Convert VMS / OpenVMS RMS Data to VX/RMS on Linux and Windows


VX/DataX allows users to transport data files from the VMS operating system to Linux/Windows. VX/DataX also allows users to specify a programmable schema to convert the data to the appropriate format (DEC to IEEE, Little Endian to Big Endian, Quadword Data/Time to Linux/Windows Date Time) for the target platform.

 

VX/DataX packs the specified SEQUENTIAL, RELATIVE, KEYED SEQUENTIAL and VIRTUAL BLOCK FILES into a portable container file, and allows those same files to be recreated on Linux and Windows in the identical format. In addition, fields can be specified for conversion - such as DEC FLOAT to INTEL IEEE, or LITTLE ENDIAN integers to BIG ENDIAN (Rarely used these days as most Linux systems are Intel little Endian).

 

Learn More

Introduction

One of the most important aspects of migrating from VMS to Linux/Windows, is the ability to not only re-use applications, but existing data as well. Not only are the data files recreated in their original format (keyed, sequential, relative) but the data can be converted to the native mode of the target machine.

The converted data files are intended to be used by VX/RMS, and are therefore created using industry-standard C-ISAM format. Due to the use of C-ISAM format files, VX/DataX could be used to convert data for use with other compatible applications. Simply migrating the files and unconverted data is OK if the data to be migrated does not contain any packed binary numeric data. If packed data is present, some or all of the data may need to be converted.

Accuracy

Integer data (short and long) is converted perfectly, however, due to precision differences in the formats between VAX and IEEE488, floating-point data may suffer some loss of accuracy. Floating-point numbers are stored as an exponent and mantissa. The exponent defines the range of the number and the mantissa defines the accuracy.

The exponent defines the range of the number (2 to the power of the exponent), an adjusted exponent of 4 gives an integer value of 8.

The mantissa serves to supply the fractional part of any number lying between 24 and 25. It can be seen from the above that the absolute range of integer values can be defined by the maximum values the exponent may take.

As you can see the IEEE488 number scheme allows for much bigger (or smaller) values to be stored. However, this greater range is offset by a loss of accuracy. The VAX has 4 more digits of accuracy than IEEE488 computers.

Features

  • Keyed sequential and relative formats supported
  • RMS can be converted in C-ISAM format
  • All ISAM keys are recreated
  • Floating point is handled correctly