DSM for OpenVMS Version 6.4
Summary of Features


DSM for OpenVMS Version 6.4 is an update to DSM for the VAX and Alpha processors. You need OpenVMS VAX Version 5.5-2 or higher to run DSM for OpenVMS VAX Version 6.4 or OpenVMS Alpha Version 6.1 or higher to run DSM for OpenVMS Alpha Version 6.4

DSM Becomes Part of InterSystems

DSM for OpenVMS is now a part of the Open M family of software products developed and sold by InterSystems Corporation. The following sections detail the changes InterSystems has made to DSM for OpenVMS Version 6.4.

Documentation Changes

The only documents revised for DSM for OpenVMS Version 6.4 are:

InterSystems will publish new versions of the DSM for OpenVMS manuals as software changes make their revision necessary.

DSM Adds Visual M Remote Application Server Support

DSM for OpenVMS Version 6.4 can function as a remote application server to InterSystems' Visual M. Visual M is a graphical M interface running on any of the following Microsoft Windows platforms:

Using Visual M, you can integrate Visual Basic programs with DSM applications operating in a DSM for OpenVMS environment to create distributed client-server applications.

DEC DB Integrator Gateway for DSM Support for Open M/SQL

DSM for OpenVMS Version 6.4 now includes an M routine driver, %MSQL, that provides a read, insert, update, and delete interface for InterSystems' Open M/SQL. This new Open M/SQL interface is compatible with Digital Equipment Corporation's NSDS (Non-SQL Data Service) Version 3.0C and later.

TCP/IP DDP Support

DSM for OpenVMS Version 6.4 supports Distributed Data Processing communications over Transmission Control Protocol/Internet Protocol (TCP/IP). The DSM DDP protocol over TCP/IP is implemented on DEC TCP/IP Services for OpenVMS (UCX). Each system on a network must have UCX TCP/IP installed for communication to take place.

Currently, DSM for OpenVMS does not support DDP over any other TCP/IP implementation.

Data String Length Changes

DSM for OpenVMS Version 6.4 has increased the maximum possible string length for local variables from 512 characters to 2040 characters. (The maximum global string data length and DSM routine line length remain at 512 characters.

You can implement this for your process by using the/LOCAL_DATA_SIZE command-line qualifier when you invoke DSM. You can implement this for an entire configuration by using the ^CONFIG or ^CONCLQ Utilities.

Performance Enhancements on DSM for OpenVMS Alpha

When running under OpenVMS Alpha Version 6.2 or higher, DSM for OpenVMS Alpha Version 6.4 supports the installation of DSM$SHARE.EXE and DSM$SHRLIB.EXE images as resident. Installation of the DSM images as resident can result in significant reduction in memory usage as well as increased system throughput.

In addition, modifications to the DSM interpreter have been made to further improve DSM for OpenVMS performance on Alpha processors.

Extended Precision Arithmetic for DSM for OpenVMS Alpha

DSM for OpenVMS Alpha now supports the DPRECISION keyword for the /EXTENSION= command-line qualifier. The DPRECISION keyword enables extended (double) precision mathematical operations of up to 31 digits of precision.

Minimum Number of DDP Servers

Starting with DSM for OpenVMS Version 6.4, you must specify a minimum of three (3) DDP servers when you configure a DDP network.

Unique Names in a DDP Network

DSM for OpenVMS Version 6.4 requires that all DDP nodes and volume sets available on the network be named uniquely. DSM now includes automatic detection of duplicate node names and volume sets in a DDP network. If DSM DDP finds, during DDP startup, that any remote nodes have the same node or volume set names as the local node, DSM DDP shuts down the local node servers and displays an error message on the operator console terminal.

Selected DDP Link Startup

DSM for OpenVMS Version 6.4 permits you to start or restart individual DECnet or TCP/IP DDP links and their associated server processes manually by using the STARTUP LINKS option in the ^DDP utility.

Multiple Environments for Ethernet DDP

Previous versions of DSM prevented you from configuring an environment which excluded Ethernet DDP when another environment on the same system included Ethernet DDP. On DSM for OpenVMS Version 6.4, only those environments that you explicitly configure to include Ethernet DDP support receive Ethernet DDP support.

Multiple Ethernet Controllers

DSM for OpenVMS Version 6.4 supports up to six Ethernet controllers for Ethernet DDP. However, all DDP nodes must still be connected by a single communciation link.

JOB Command Behavior

DSM for OpenVMS Version 6.4 allows the JOB command to pass a null string to set the % variable in a jobbed process.

Kill Command Behavior

To comply with the M Language Standard, an exclusive KILL now deletes all unexcluded variables, including any variable bound to the excluded variables. This means that an excluded variable that is bound to an unexcluded variable is deleted as well.

$ZSYNTAX Function

DSM for OpenVMS Version 6.4 has a new $ZSYNTAX function. $ZSYNTAX checks a specified line of M code for syntax errors. The format for $ZSYNTAX is as follows:

$ZSYNTAX(routine_line)

$QUERY and $ZREFERENCE Return Values

To comply with the ANSI M Language Standard, $QUERY and $ZREFERENCE now return numeric subscripts from string-collating globals as numbers.

Setting Breakpoints with $ZBREAK

DSM for OpenVMS Version 6.4 lets you omit the command reference when you set a breakpoint in your program with the $ZBREAK special variable. You can now specify the entry reference and, optionally, the command reference of the breakpoint location in the following format:

SET $ZBREAK="entry reference{:command reference}"

If you do not specify a command reference, DSM uses a one (1) as the default. This default signifies that the breakpoint is set at the first command on the line specified by the entry reference.

Indirection Nesting Level Exceeded Error Message

DSM for OpenVMS Version 6.4 has a new error message, INDLEVEL, to indicate hat you have exceeded the maximum indirection level; that is, you have gone beyond 64 levels of nesting.

Behavior of the %VMREADT Routine

In DSM for OpenVMS Version 6.4, the block reading external routine, %VMREADT, behaves differently than is described in the DSM for OpenVMS Programmer's Guide. Now, if you do not specify a third argument for STRING parameter types, %VMREADT uses the maximum local data string size for a length.

Maximum Number of Blanks in TABs in Routine Lines

In DSM for OpenVMS Version 6.4, you cannot use a numeric value greater than 512 with the ? formatting character. The results will be unpredictable if you use a numeric value greater than 512.

Zero Byte Characters in Local Variable Subscripts

Starting with Version 6.4, DSM for OpenVMS correctly does not allow zero-byte characters in any local variable subscripts. Attempts to include a zero byte character in a local variable subscript always results in a %DSM-E-INVSUBSCR invalid subscript error.

X Image Extensions Support

DSM for OpenVMS no longer supports the X Image Extensions (XIE). Starting with this release, you are no longer asked whether you want to install XIE during the DSM installation procedure.

DASL Changes for Version 6.4

DSM for OpenVMS Version 6.4 corrects a number of reported problems in the DASL application generator tools.