Different computers store numeric binary data in different forms. Hewlett-Packard, Sun, and IBM store bytes in one order. Linux and Compaq Tru64 UNIX (formerly Digital UNIX) store bytes in a different order. SAS files can be transported between compatible machine types using various methods including NFS, FTP, and CD. For two machine types to be compatible, they must have the following characteristics in common:
same word length. Word lengths can be either 32-bit or 64-bit.
same ordering of bytes in memory. Machine types differ in whether the most significant byte (MSB) or the least significant byte (LSB) is loaded at the lower memory address. This is often referred to as "big endian" or "little endian."
The tables in this section show the compatible machine types for Releases 6.12 through 8.2. After each table, a brief explanation is provided.
Bits | Compatible Machine Types |
---|---|
32 | Intel ABI, Linux |
32 | HP-UX, Solaris, AIX, IRIX |
64 | Tru64 UNIX |
You can move a Release 6.12 SAS data set that was created on a 32-bit HP-UX host to a 32-bit AIX host using NFS, FTP, or CD. Because HP-UX and AIX are compatible machine types, you can use the V6 or V6TAPE engine to read the HP-UX data set on the AIX host.
The same 32-bit HP-UX data set can be moved to a 32-bit Intel ABI host. However because these machine types are incompatible, you cannot use the V6 or V6TAPE engine to read the HP-UX data set.
For information about reading Version 6 data sets, see "Reading Version 6 Data Sets" on page 111.
Bits | Compatible Machine Types |
---|---|
32 | Intel ABI, Linux |
32 | HP-UX, Solaris, AIX, IRIX |
64 | AIX, Solaris, HP-UX PA Risc |
64 | Tru64 UNIX |
You can move a Version 8 data set that was created on a 32-bit Solaris host to a 32-bit HP-UX host using methods such as NFS, FTP, or CD. Because these are compatible machine types, you will be able to read this data set in SAS.
The same 32-bit Solaris data set can be moved to a 64-bit HP-UX host. Because these machine types are incompatible, SAS will use CEDA to read this data set. For more information, see "Using CEDA to Read Data Sets" on page 111.
In SAS 9.1, the Data Representation field of the PROC CONTENTS output shows the compatible machine types for a SAS file. The following is a portion of the PROC CONTENTS output.
The CONTENTS Procedure Data Set Name CLASSES.MAJORS Observations 5 Member Type DATA Variables 6 Engine V9 Indexes 0 Created Monday, February 24, 2003 14:30:19 Observation Length 48 Last Modified Monday, February 24, 2003 14:30:19 Deleted Observations 0 Protection Compressed NO Data Set Type Sorted NO Label Second Data Set Data Representation HP_UX_64, RS_6000_AIX_64, SOLARIS_64, HP_IA64 Encoding latin1 Western (ISO)
In this example, the Data Representation field output shows that the compatible machine types for this data set are: HP-UX ( HP_UX_64 ) AIX 64-bit ( RS_6000_AIX_64 ), Solaris 64-bit ( Solaris_64 ) and HP-UX Itanium ( HP_IA64 ). Therefore, you can move a data set that was created on a 64-bit HP-UX host to a 64-bit AIX, Solaris, or HP-UX Itanium host using NFS, FTP, or CD. You could not move this data set to a 32-bit Linux host using these methods. However, you can read this data set using CEDA. For more information, see "Using CEDA to Read Data Sets" on page 111.
The following table lists the possible values for the Data Representation field for SAS 9.1 and the corresponding machine types.
Data Representation Value | Corresponding Machine Type |
---|---|
ALPHA_TRU64 | Compaq Tru64 |
HP_UX_64 | HP-UX PA-Risc 64-bit |
HP_IA64 | HP-UX Itanium Processor Family |
INTEL_ABI | Intel ABI Compliant Operating Systems |
LINUX | Linux on Intel 32-bit Hardware |
RS_6000_AIX_64 | AIX 64-bit |
SOLARIS_64 | Solaris 64-bit |
Note | The Encoding value might affect your ability to move SAS files between compatible machine types. It is important to note this value when you are transporting SAS files between hosts . For more information about encoding, see SAS National Language Support (NLS): User's Guide . |