Processing a File with CEDA


Understanding When CEDA Is Used to Process a File

Because CEDA translation is transparent, you might not be aware when CEDA is being used. However, knowing when CEDA is used could be helpful, for example, because CEDA translation may require additional resources.

CEDA is used in these situations:

  • when the data representation of the SAS file differs from the data representation that is used by SAS for the operating environment and platform. This can occur, for example, if you move a file from one operating environment like Windows to a different operating environment like UNIX, or if you have upgraded to a 64-bit platform from a 32-bit platform.

    Note  

    Processing a foreign file could result in numeric data loss during data translation. For example, if you move a file that contains a very large or small number from 64-bit UNIX to 32-bit z/OS, the value could lose precision or be significantly reduced in value due to differences in the data representation on the hosts .

    The following table groups (within a single cell ) the compatible data representation values and environments. (Environments are named by the operating system and platform on which SAS is executed.) With the noted exception, CEDA is used if you access a SAS file with a data representation value in one group from an environment in another group .

    Table 34.2: Compatibility Across Environments

    Data Representation Value

    Environment

    ALPHA_TRU64

    Compaq Tru64 UNIX

    ALPHA_VMS_32

    OpenVMS Alpha on 32-bit platform [1]

    ALPHA_VMS_64

    OpenVMS Alpha on 64-bit platform [1]

    HP_IA64

    HP UX on Itanium 64-bit platform

    HP_UX_64

    HP UX on 64-bit platform

    RS_6000_AIX_64

    AIX UNIX on 64-bit RS/6000

    SOLARIS_64

    Sun Solaris on 64-bit platform

    HP_UX_32

    HP UX on 32-bit platform

    MIPS_ABI

    ABI UNIX on 32-bit platform

    RS_6000_AIX_32

    AIX UNIX on 32-bit RS/6000

    SOLARIS_32

    Sun Solaris on 32-bit platform

    LINUX_32

    Linux for Intel Architecture on 32-bit platform

    INTEL_ABI

    ABI UNIX on Intel 32-bit platform

    MVS_32

    z/OS on 32-bit platform

    OS2

    OS/2 on Intel 32-bit platform

    VAX_VMS

    VAX VMS

    WINDOWS_32

    Microsoft Windows on 32-bit platform

    WINDOWS_64

    Microsoft Windows 64-Bit Edition

    [1] Although these 32-bit and 64-bit OpenVMS Alpha systems have different data representations for some compiler data types, SAS data sets that are created by the BASE engine do not store the data types that are different; therefore, CEDA is not required between these two groups.

  • when the encoding of character values for the SAS file is incompatible with the currently executing SAS session encoding.

    Note  

    Transcoding could result in character data loss. For information about encoding and transcoding, see SAS National Language Support (NLS): User's Guide .

Note  

Starting in SAS 9, you can tell SAS to display a message when CEDA is being used by setting the SAS system option MSGLEVEL=I:

 options msglevel=i; 

Here is an example of the message:

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

Determining Whether Update Processing Is Allowed

If a file's data representation is the same as that of the processing environment, and if the encoding is compatible with the currently executing SAS session encoding, then you can manually update the file, because CEDA is not needed in order to translate the file. For example, in a Windows environment, if a file was created in a Windows environment or if the OUTREP= option was used to designate the file in Windows data representation, then you can update the file.

Otherwise, if CEDA is used to translate the file, you cannot update it. If you attempt to update the file, then you will receive an error message that says that updating is not allowed. For example:

 ERROR: File HEALTH.OXYGEN cannot be updated because its encoding does   not match the session encoding or the file is in a format native to another   host, such as SOLARIS_32, HP_UX_32, RS_6000_AIX_32, MIPS_ABI. 

To determine the data representation and the encoding of a file, you can use the CONTENTS procedure (or the CONTENTS statement in PROC DATASETS). For example, the data set HEALTH.OXYGEN was created in a UNIX environment in SAS 9. The file was moved to a SAS 9 Windows environment, in which the following CONTENTS output was requested :

Output 34.1: CONTENTS Output Showing Data Representation
start example
 The SAS System                                   1                            The CONTENTS Procedure Data Set Name       HEALTH.OXYGEN                         Observations         31 Member Type         DATA                                  Variables            7 Engine              V9                                    Indexes              0 Created             Wednesday, January 22, 2003 10:11:39  Observation Length   56 Last Modified       Wednesday, January 22, 2003 10:11:33  Deleted Observations 0 Protection                                                Compressed           NO Data Set Type                                             Sorted               NO Label Data Representation SOLARIS_32, HP_UX_32, RS_6000_AIX_32, MIPS_ABI Encoding            latin1 Western (ISO)                              Engine/Host Dependent Information        Data Set Page Size         5120        Number of Data Set Pages   1        First Data Page            1        Max Obs per Page           90        Obs in First Data Page     31        Number of Data Set Repairs 0        File Name                  /u/xxxxxx/myfiles/health/\oxygen.sas7bdat        Release Created            9.0100A0        Host Created               HP-UX                         Alphabetic List of Variables and Attributes                                #    Variable    Type    Len                                1    AGE         Num     8                                6    MAXPULSE    Num     8                                7    OXYGEN      Num     8                                4    RSTPULSE    Num     8                                5    RUNPULSE    Num     8                                3    RUNTIME     Num     8                                2    WEIGHT      Num     8 
end example
 



SAS 9.1.3 Language Reference. Concepts
SAS 9.1.3 Language Reference: Concepts, Third Edition, Volumes 1 and 2
ISBN: 1590478401
EAN: 2147483647
Year: 2004
Pages: 258

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net