Problem Note 31053: Threaded procedures might return incorrect values when the DESCENDING option is specified
Threaded procedures (for example, PROC SORT and PROC SQL) might return incorrect values
if the DESCENDING option is specified on the BY or ORDER BY statement.
The following error is then generated:
ERROR: BY variables are not properly sorted on data set WORK.XXX.DATA.
NOTE: The SAS System stopped processing this step because of errors.
One solution is to turn off threading by specifying the NOTHREADS system option.
Operating System and Release Information
SAS System | Base SAS | z/OS | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows XP 64-bit Edition | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft® Windows® for x64 | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows 2000 Server | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows 2000 Professional | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows NT Workstation | 9.1 TS1M3 | |
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 | 9.2 TS1M0 |
Microsoft Windows XP Professional | 9.1 TS1M3 | 9.2 TS1M0 |
Windows Vista | 9.1 TS1M3 | 9.2 TS1M0 |
64-bit Enabled AIX | 9.1 TS1M3 | 9.2 TS1M0 |
64-bit Enabled HP-UX | 9.1 TS1M3 | 9.2 TS1M0 |
64-bit Enabled Solaris | 9.1 TS1M3 | 9.2 TS1M0 |
HP-UX IPF | 9.1 TS1M3 | 9.2 TS1M0 |
Linux | 9.1 TS1M3 | 9.2 TS1M0 |
OpenVMS Alpha | 9.1 TS1M3 | 9.2 TS1M0 |
Solaris for x64 | 9.1 TS1M3 | 9.2 TS1M0 |
Tru64 UNIX | 9.1 TS1M3 | 9.2 TS1M0 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
This test case demonstrates the problem using PROC SORT:
data foo;
length v1 $ 32767;
length v2 $ 10;
length v3 $ 32;
v1=repeat(" ",32765);
input v2 v3;
cards;
A 9
B 8
C 7
D 6
E 5
F 4
G 3
H 2
I 1
J 0
;
run;
option sortpgm=sas;
proc sort data=foo out=bar threads;
by DESCENDING v3 DESCENDING v2;
run;
proc print data=bar;
var v2 v3;
run;
data _NULL_;
set bar;
by DESCENDING v3 DESCENDING v2;
run;
Type: | Problem Note |
Priority: | |
Date Modified: | 2008-04-03 18:57:12 |
Date Created: | 2008-01-28 18:39:58 |