Open VMS

Extracting Distribution Files

The PI-API is included in the PI Toolkit on PI home nodes as well as OpenVMS PINet nodes. The PI-API calls can, therefore, be accessed by linking to PITKLib. For example:

$ link APIExample,PILink:PITKLib/opt

Configuring PI Server

The PI-API on a PI home node does not require PI Server to be installed. A PINet node should already have PI Server installed.

Log File

The log file is PISysMgr:PIMessLog.txt or the logical PILOGFILE may be used for the current log file.

VMS Variations

Queue Functions

On OpenVMS systems, queuing is already part of the snapshot calls, thus the PISN calls behave slightly differently.

pisn_flushputsnapq

pisn_flushputsnapq is merely a stub and will always return syserror and numbpterrors equal to zero.

pisn_putsnapshotq

pisn_putsnapshotq is equivalent to pisn_putsnapshot.

pisn_sendexceptionq

pisn_sendexceptionq is equivalent to pisn_sendexceptions.

Utility Functions

Because of the unique relationship between a DEC OpenVMS PINet node and the corresponding PI home node, some of the utility functions behave differently on DEC OpenVMS PINet nodes than on other client nodes. The consequence of making the same calls on a PI home node is also unique:

piut_connect

A PI home node can always be considered connected to itself.

piut_disconnectnode

A PINet node may only be connected to one server, the PI home node. Thus, if the passed node name is not that of the home node, a -1 will be returned.

piut_getprofile

The passed initialization file may be on the local node or the home node.

piut_netinfo

The type returned for a PI home node is always "PI home node" and an OpenVMS PINet node is always "PINet Node over DECNet."

piut_netnodeinfo

The call always refers to the PI home node; the passed name is ignored. On a PINet node the returned address is always ?unknown?.

piut_netserverinfo

On an OpenVMS PINet node, the logical translation of PIHOMENODE is returned for the name and the address is ?unknown?.

piut_setdefaultservernode

A PINet node may only be connected to one server, the PI home node. Thus, if the passed node name is not that of the home node, a -1 will be returned.

piut_writeprofile

The passed file may be on the home node or the PINet node.

Compilation

Predefined Constants

Certain predefined constants are required for successful programming with the PI-API. Your compiler may automatically define these or provide a means to define constants for all compiled modules. If not, these defines must be included in your source before the PI-API header files are included.

For this platform the required constants are:

#define vms

#define vax

or

#define alpha

Linking

Link with the toolkit libraries:

$ link APIExample/opt,PILink:PITKLib/opt

where APIExample.opt contains the following lines if needed.

APIExample.obj

pibuild:pisql.olb/lib

pibuild:batch_lib.olb/lib

Enabling Operational Intelligence