Chapter Contents

Previous

Next
VAXTOAXP

VAXTOAXP



Converts the format of a SAS data set that was created in an OpenVMS VAX environment to the format that SAS supports in the OpenVMS Alpha environment

Language element: procedure
OpenVMS Alpha specifics: All aspects are specific to the OpenVMS Alpha operating environment


Syntax
Details
Example

Syntax

PROC VAXTOAXP
DATA = <libref.>member
OUT = <SAS-data-set>;

DATA=libref.member
specifies a libref member, a fully qualified OpenVMS pathname (in quotes), or an OpenVMS logical name. The DATA= option is required.

OUT=SAS-data-set
names the SAS data set that is created to hold the converted data. The OUT= option is optional. If you do not specify a value for the OUT= option, then SAS creates a temporary SAS data set called WORK.DATAn.


Details

The only statement that is associated with the VAXTOAXP procedure is PROC VAXTOAXP.

In the OpenVMS VAX operating environment, the SAS System stores numeric variables as D-floating data types, which means that their length varies from 2 to 8 bytes. However, in the OpenVMS Alpha operating environment, numeric variables are stored as IEEE T-floating data types, which means that their length varies from 3 to 8 bytes. If you attempt to move data with 2-byte numeric variables from an OpenVMS VAX environment to an OpenVMS Alpha environment, you will get the following error message:

ERROR: IEEE numbers with a length less than 3 are not supported.
This data set contains observations with numeric variables of length 2. The data set cannot be created/translated.

If a SAS data set that was created in the OpenVMS VAX environment contains only numeric variables with lengths of 3 bytes or greater, then the SAS System in the OpenVMS Alpha environment can access the data set without the need for any conversion process. However, if your OpenVMS VAX data set does contain numeric variables with 2-byte lengths, your OpenVMS Alpha environment will be unable to access the data set until you have converted it.

The VAXTOAXP procedure increases the length of all numeric variables by 1 byte up to 8 bytes. Thus, a 2-byte numeric variable becomes 3 bytes, a 3-byte numeric variable becomes 4 bytes, and so on.

If you run the VAXTOAXP procedure on a data set that does not contain numeric variables with lengths less than 8 bytes, the conversion proceeds after the following warning message is issued:

WARNING: No numeric variables had a length less than 8, so it was unnecessary to invoke PROC VAXTOAXP.
However, the data set will still be copied as requested.


Example

Suppose you have a permanent SAS data set named CHARLIE that you created in an OpenVMS VAX environment. You know that this data set contains numeric variables with 2-byte lengths. To read that data set into the SAS System running in an OpenVMS Alpha environment, use the following statements:

libname vlib v6 'user$disk:[dir]';
libname alib v8 '[nwdir]';

proc vaxtoaxp data=vlib.charlie out=alib.charlie;
run;

You can verify that all 2-byte numeric variables have been converted to 3 bytes by running the CONTENTS procedure on the ALIB.CHARLIE data set. All numeric variables that have lengths less than 8 bytes will have their lengths increased by 1 byte.

Note:   If you attempt to use the VAXTOAXP procedure while running in an OpenVMS VAX operating environment, you will receive the following error message:

ERROR: Procedure VAXTOAXP is not supported on the VAX.  [cautionend]


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.