Previous Page | Next Page

Formats under OpenVMS

Writing Binary Data under OpenVMS

Different computers store numeric binary data in different forms. IBM 370 and Hewlett-Packard 9000 computers store bytes in one order. Microcomputers that are IBM compatible and some computers manufactured by Compaq store bytes in a different order called byte-reversed.

Binary data that is stored in one order cannot be read by a computer that stores binary data in the other order. When you are designing SAS applications, try to anticipate how your data will be read and choose your formats and informats accordingly.

SAS provides two sets of informats for reading binary data and corresponding formats for writing binary data.

If a SAS program that reads and writes binary data runs on only one type of machine, you can use the native mode informats and formats. However, if you want to write SAS programs that can be run on multiple machines using different byte-storage systems, use the IBM 370 formats and informats. The purpose of the IBM 370 informats and formats is to enable you to write SAS programs that can be run in any SAS environment, no matter what standard you use for storing numeric data.

For example, suppose you have a program that writes data with the PIBw.d format. You execute the program on a microcomputer so that the data is stored in byte-reversed mode. Then you run another SAS program on the microcomputer that uses the PIBw.d informat to read the data. The data is read correctly because both of the programs are run on the microcomputer using byte-reversed mode. However, you cannot upload the data to a Hewlett-Packard 9000-series machine and read the data correctly because it is stored in a format that is native to the microcomputer but foreign to the Hewlett-Packard 9000. To avoid this problem, use the S370FPIBw.d format to write the data; even on the microcomputer, this causes the data to be stored in IBM 370 mode. Then read the data using the S370FPIBw.d informat. Regardless of what type of machine you use when reading the data, it is read correctly.

Previous Page | Next Page | Top of Page