Because the Inter-University Consortium on Policy and
Social Research (ICPSR) uses the OSIRIS file format for distribution
of its data files, SAS provides the OSIRIS interface library engine
to support ICPSR data users and to be compatible with PROC CONVERT,
which is described in
CONVERT Procedure: Windows.
The read-only OSIRIS
engine enables you to read OSIRIS data and dictionary files directly
from a SAS program. These files must be stored in EBCDIC format.
This action assumes that you downloaded the OSIRIS files from your
host computer in binary format. The following section assumes that
you are familiar with the OSIRIS file terminology.
To read an OSIRIS file,
you must issue a LIBNAME statement that explicitly specifies you want
to use the OSIRIS engine. In this case, the LIBNAME statement takes
the following form:
LIBNAME libref OSIRIS 'data-filename' DICT='dictionary-filename';
In this form of the
LIBNAME statement,
libref is
a SAS libref,
data-filename is the physical filename of the OSIRIS data file, and
dictionary-filename is the physical filename
of the OSIRIS dictionary file. The
dictionary-filename argument can also be an environment variable name or a fileref.
(Do not use quotation marks if it is an environment variable name
or fileref.) The DICT= option must appear because the engine requires
both files.
OSIRIS data files do
not have member names. Therefore, you can use whatever member name
you like. You can use the same OSIRIS dictionary file with different
OSIRIS data files. Write a separate LIBNAME statement for each one.
The layout of an OSIRIS
data dictionary is consistent across operating environments. The
reason is that the OSIRIS software does not run outside the
z/OS environment,
but the engine is designed to accept an
z/OS data dictionary on any
other operating environment under which SAS runs. It is important
that the OSIRIS dictionary and data files not be converted from EBCDIC
to ASCII; the engine expects EBCDIC data. There is no specific file
layout for the OSIRIS data file. The file layout is controlled by
the contents of the OSIRIS dictionary file.