Cross-Architectural Differences

  • The internal data representations are different.
    Cross-architecture access is used when the client session and the server session are running on machines that internally represent data differently due to hardware differences between two machines. For example, IBM mainframe machines represent floating-point numbers differently than computers that use Intel CPUs. The code pages that are used to represent character data also vary. For example, EBCDIC and ASCII are two major character-encoding methods.
  • The C-language compilers that are used are different.
    Different operating environments and C-language compilers also cause differences in data representation due to the varied alignment requirements of aggregate data types, such as the inter-element padding in a specific C structure. Also, two compilers for the same type of CPU might implement simple data types that have different lengths.
  • Operating environments are the same, but the machine architectures are different.
    It might not always be obvious when the cross-architecture feature of SAS/SHARE is required. z/OS to CMS access is not cross-architecture because the underlying representation of data in the two operating environments is the same. However, sharing data between OpenVMS for VAX and OpenVMS for AXP uses cross-architecture access because data is represented differently on the Digital VAX and Alpha AXP architectures, even when the same operating environment is used. For complete details about architectural compatibility, see Identical Architectural Groups.
Note: Although neither CMS nor OpenVMS VAX are supported in later versions of SAS, they are included in the preceding example for backward compatibility.