Problem Note 17149: OM_OUTPUT(505) error occurs creating compressed data set with OUTPUT
method
When creating a compressed SAS data set from an empty hash object with the
OUTPUT method, the following error can occur:
ERROR: An error has occurred during instance method OM_OUTPUT(505)
of "DATASTEP.HASH".
This error occurs only if the overhead to compress the data would
increase the size of the data. The following note is also issued:
NOTE: Compression was disabled for data set WORK.MYHASH
because compression overhead would increase the size
of the data set.
For related information, please refer to SAS Notes #005687
and #008632 .
This problem is corrected in SAS 9.2
Operating System and Release Information
SAS System | Base SAS | Microsoft Windows NT Workstation | 9.1 TS1M0 | |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M0 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M0 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M0 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M0 | 9.2 TS1M0 |
Microsoft Windows 2000 Server | 9.1 TS1M0 | 9.2 TS1M0 |
Microsoft Windows 2000 Professional | 9.1 TS1M0 | 9.2 TS1M0 |
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M0 | 9.2 TS1M0 |
Microsoft Windows 2000 Advanced Server | 9.1 TS1M0 | 9.2 TS1M0 |
Linux | 9.1 TS1M0 | 9.2 TS1M0 |
64-bit Enabled Solaris | 9.1 TS1M0 | 9.2 TS1M0 |
z/OS | 9.1 TS1M0 | 9.2 TS1M0 |
HP-UX IPF | 9.1 TS1M0 | 9.2 TS1M0 |
64-bit Enabled AIX | 9.1 TS1M0 | 9.2 TS1M0 |
64-bit Enabled HP-UX | 9.1 TS1M0 | 9.2 TS1M0 |
OpenVMS Alpha | 9.1 TS1M0 | 9.2 TS1M0 |
Microsoft Windows XP Professional | 9.1 TS1M0 | 9.2 TS1M0 |
Tru64 UNIX | 9.1 TS1M0 | 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 sample SAS code demonstrates the problem.
%*-- create empty / non-empty test data. ;
data WORK.hash1;
AVar1 = 42;
run;
data WORK.hash0;
set WORK.hash1(obs=0);
run;
%*-- fix it... set to NO, break it with YES ;
option compress=YES;
%*-- do something. ;
data _null_;
set WORK.hash1 end=last;
call missing (AVar1);
if _n_ eq 1 then do;
dcl hash hDUMMY (dataset: 'WORK.hash0');
hDUMMY.DefineKey ('AVar1');
hDUMMY.DefineData ('AVar1');
hDUMMY.DefineDone();
end;
if last then do;
put 'NOTE: ***** PUTTING *****';
hDUMMY.output (dataset: 'WORK.testSet');
end;
run;
Type: | Problem Note |
Priority: | medium |
Topic: | SAS Reference ==> Component Objects
|
Date Modified: | 2021-05-07 10:55:47 |
Date Created: | 2006-03-01 15:10:46 |