SAS Institute. The Power to Know

FOCUS AREAS

Hot Topics

Related Links

SAS®9 Compatibility

Migration

CEDA Processing

CEDA (cross-environment data access) is a Base SAS feature that enables you to to process SAS files in a foreign environment automatically and transparently, but with a few restrictions. This document explains CEDA processing for foreign Version 7 and 8 files in a SAS®9 session. If these details seem overwhelming and you need a quick answer, then try the easy, interactive Compatibility Calculator instead.

See other topics if you want to process a SAS®9 file in a Version 6, 7, or 8 session, or a SAS®9 file in a different SAS®9 operating environment. For the most in-depth information, see Processing Data Using Cross-Environment Data Access (CEDA) in SAS Language Reference: Concepts in the SAS online documentation.

CEDA Is Invoked for Foreign Files Only

The SAS file format stayed basically the same across Version 7, 8, and 9. But because SAS supports compatibility, for example, in your computer architecture, SAS®9 uses CEDA to process certain Version 7 or 8 files. CEDA is only invoked for foreign files, so check the list at Are My Files Foreign in SAS®9? to be sure this topic applies to you, or run the code in the following best practice.

Best practice

To know when CEDA is being used, set the SAS system option MSGLEVEL=I. That is:

   options msglevel=i;

Here's an example of the message that displays in the log:

   INFO: Data file MYFILES.GRADES.DATA is in a format that
   is native to another host, or the file encoding does
   not match the session encoding. Cross Environment Data
   Access will be used, which might require additional CPU
   resources and might reduce performance.

Beginning with SAS 9.1.3 Service Pack 4, you get this behavior even if you do not specify MSGLEVEL=I.

Restrictions for CEDA

Take careful note of the following processing restrictions:

Default Output for Data Representation and Encoding

For output processing that replaces an existing SAS data file, here is the default behavior. See "SAS File Processing with CEDA" in the online documentation for behavior of the SOCKET (a TCP/IP port engine in SAS/CONNECT) and TAPE engines.

Data representation
The BASE engine uses the data representation of the native environment, except with the COPY procedure, which by default uses the data representation of the file being copied. To override the default behavior, see SAS documentation about the OUTREP option. This is a data set option and a LIBNAME statement option.

Encoding
  • The BASE engine uses the encoding of the existing file; that is, the encoding is cloned.

  • With the BASE engines, the COPY procedure uses the encoding of the file from the source library (that is, the file being copied), regardless of whether the file existed in the target library.

See the SAS National Language Support (NLS): User's Guide for language elements that override the default encoding.