MXG makes extensive use of DATA step views and binary data in character fields with $HEXw. and user-written MXG hex formats. The format indicates that the information in the character variable is not character, but binary or hex data.
This data should not be modifed by the transport process when moving from one platform to another. TRANSCODE=NO is required to move character variables containing HEX values that are not to be translated during the transport process. Previously, SAS Views did not honor the TRANSCODE=NO parameter
To make this happen, permanently specify the variable attribute on the SAS data set of TRANSCODE=NO with an ATTRIB statement. Many procedures do not allow the ATTRIB for a varible to be specified on a temporary basis.
When this data set is the basis of a SAS DATA step view, the TRANSCODE attribute must be reflected in the view.
Run the sample code to see the effect of the problem.
Product Family | Product | System | SAS Release | |
Reported | Fixed* | |||
SAS System | Base SAS | z/OS | 9.1 TS1M3 SP4 | 9.2 TS2M2 |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows XP 64-bit Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 SP4 | |||
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 SP4 | |||
Microsoft Windows 2000 Server | 9.1 TS1M3 SP4 | |||
Microsoft Windows 2000 Professional | 9.1 TS1M3 SP4 | |||
Microsoft Windows NT Workstation | 9.1 TS1M3 SP4 | |||
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows XP Professional | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Windows Vista | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
64-bit Enabled AIX | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
64-bit Enabled HP-UX | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
64-bit Enabled Solaris | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
HP-UX IPF | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Linux | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Linux on Itanium | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
OpenVMS Alpha | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Solaris for x64 | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Tru64 UNIX | 9.1 TS1M3 SP4 | 9.2 TS2M2 |
proc datasets mt=view kill; /* get rid of existing views in WORK library */
data original;
hexvar='80'X;
format hexvar $HEX2. ;
attrib hexvar TRANSCODE=NO;
charvar = '1';
cecser='123456'X;
format cecser $HEX6.;
attrib cecser TRANSCODE=NO;
startime=10;
/* create DATA step view */
data testview/view = testview;
set original;
proc printto print='c:\saslogs\t188972.txt';
run;
proc contents data = original;
title contents of original data set;
run;
proc contents data = testview;
title 'testview - created by DATA step';
proc sort data = testview out=sorted;
by cecser startime;
run;
proc contents data = sorted;
title 'sorted output from testview';
run;
proc sql noprint;
create table vrefs
as select name,libname,memname,transcode
from dictionary.columns
where libname='WORK';
quit;
proc print;
title 'dictionary.columns';
run;
proc printto print=print; run;
contents of original data set 5 16:57 Thursday, March 12, 2009 The CONTENTS Procedure Data Set Name WORK.ORIGINAL Observations 1 Member Type DATA Variables 4 Engine V9 Indexes 0 Created Thursday, March 12, Observation Length 16 2009 04:57:41 PM Last Modified Thursday, March 12, Deleted Observations 0 2009 04:57:41 PM Protection Compressed NO Data Set Type Sorted NO Label Data Representation WINDOWS_32 Encoding wlatin1 Western (Windows) Engine/Host Dependent Information Data Set Page Size 4096 Number of Data Set Pages 1 First Data Page 1 Max Obs per Page 252 Obs in First Data Page 1 Number of Data Set Repairs 0 Filename C:\DOCUME~1\sasjrs\LOCALS~1\Temp\SAS Temporary Files\_TD536\original.sas7bdat Release Created 9.0201M0 Host Created XP_PRO Alphabetic List of Variables and Attributes # Variable Type Len Format Transcode 3 cecser Char 3 $HEX6. NO 2 charvar Char 1 YES 1 hexvar Char 1 $HEX2. NO 4 startime Num 8 YES testview - created by DATA step 6 16:57 Thursday, March 12, 2009 The CONTENTS Procedure Data Set Name WORK.TESTVIEW Observations . Member Type VIEW Variables 4 Engine SASDSV Indexes 0 Created Thursday, March 12, Observation Length 13 2009 04:57:41 PM Last Modified Thursday, March 12, Deleted Observations 0 2009 04:57:41 PM Protection Compressed NO Data Set Type Sorted NO Label Data Representation Default Encoding Default Engine/Host Dependent Information DATA Step view type INPUT Alphabetic List of Variables and Attributes # Variable Type Len Format 3 cecser Char 3 $HEX6. 2 charvar Char 1 1 hexvar Char 1 $HEX2. 4 startime Num 8 sorted output from testview 7 16:57 Thursday, March 12, 2009 The CONTENTS Procedure Data Set Name WORK.SORTED Observations 1 Member Type DATA Variables 4 Engine V9 Indexes 0 Created Thursday, March 12, Observation Length 16 2009 04:57:42 PM Last Modified Thursday, March 12, Deleted Observations 0 2009 04:57:42 PM Protection Compressed NO Data Set Type Sorted YES Label Data Representation WINDOWS_32 Encoding wlatin1 Western (Windows) Engine/Host Dependent Information Data Set Page Size 4096 Number of Data Set Pages 1 First Data Page 1 Max Obs per Page 252 Obs in First Data Page 1 Number of Data Set Repairs 0 Filename C:\DOCUME~1\sasjrs\LOCALS~1\Temp\SAS Temporary Files\_TD536\sorted.sas7bdat Release Created 9.0201M0 Host Created XP_PRO Alphabetic List of Variables and Attributes # Variable Type Len Format 3 cecser Char 3 $HEX6. 2 charvar Char 1 1 hexvar Char 1 $HEX2. 4 startime Num 8 Sort Information Sortedby cecser startime Validated YES Character Set ANSI dictionary.columns 8 16:57 Thursday, March 12, 2009 Obs name libname memname transcode 1 hexvar WORK ORIGINAL no 2 charvar WORK ORIGINAL yes 3 cecser WORK ORIGINAL no 4 startime WORK ORIGINAL yes 5 hexvar WORK SORTED yes 6 charvar WORK SORTED yes 7 cecser WORK SORTED yes 8 startime WORK SORTED yes 9 hexvar WORK TESTVIEW yes 10 charvar WORK TESTVIEW yes 11 cecser WORK TESTVIEW yes 12 startime WORK TESTVIEW yes 13 name WORK VREFS yes 14 libname WORK VREFS yes 15 memname WORK VREFS yes 16 transcode WORK VREFS yes
A fix for SAS 9.1.3 (9.1 TS1M3) for this issue is available at:
http://www.sas.com/techsup/download/hotfix/e9_sbcs_prod_list.html#035112A fix for SAS 9.1.3 (9.1 TS1M3) with Asian Language Support (DBCS) for this issue is available at:
http://www.sas.com/techsup/download/hotfix/e9_dbcs_prod_list.html#035112Type: | Problem Note |
Priority: | alert |
Topic: | Data Management ==> Access ==> SAS I/O Data Management ==> Administration Data Management ==> Data Sources ==> SAS Data Sets/Tables SAS Reference ==> Formats ==> Character ==> $HEX SAS Reference ==> Procedures ==> CIMPORT SAS Reference ==> Procedures ==> COPY SAS Reference ==> Procedures ==> CPORT |
Date Modified: | 2009-05-05 16:37:13 |
Date Created: | 2009-03-12 11:42:58 |