![]() | ![]() | ![]() | ![]() | ![]() |
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 is a subset of the problem reported in Problem Note 17149: OM_OUTPUT(505) error occurs creating compressed data set with OUTPUT method
The workaround is to specify COMPRESS=NO for the duration of the DATA step
A fix is planned for a future release
| Product Family | Product | System | SAS Release | |
| Reported | Fixed* | |||
| SAS System | N/A | 64-bit Enabled AIX | 9.2 TS2M0 | 9.3 TS1M0 |
| 64-bit Enabled HP-UX | 9.2 TS2M0 | 9.3 TS1M0 | ||
| 64-bit Enabled Solaris | 9.2 TS2M0 | 9.3 TS1M0 | ||
| HP-UX | 9.2 TS2M0 | 9.3 TS1M0 | ||
| HP-UX IPF | 9.2 TS2M0 | 9.3 TS1M0 | ||
| Linux | 9.2 TS2M0 | 9.3 TS1M0 | ||
| Linux for x64 | 9.2 TS2M0 | 9.3 TS1M0 | ||
| Linux on Itanium | 9.2 TS2M0 | 9.3 TS1M0 | ||
| OpenVMS on HP Integrity | 9.2 TS2M0 | 9.3 TS1M0 | ||
| Solaris for x64 | 9.2 TS2M0 | 9.3 TS1M0 | ||
| Tru64 UNIX | 9.2 TS2M0 | 9.3 TS1M0 | ||
%*-- 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;
2
3 %*-- create empty / non-empty test data. ;
4 data WORK.hash1;
5 AVar1 = 42;
6 run;
NOTE: The data set WORK.HASH1 has 1 observations and 1 variables.
NOTE: DATA statement used (Total process time):
real time 0.05 seconds
cpu time 0.01 seconds
7 data WORK.hash0;
8 set WORK.hash1(obs=0);
9 run;
NOTE: There were 0 observations read from the data set WORK.HASH1.
NOTE: The data set WORK.HASH0 has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
10
11 %*-- fix it... set to NO, break it with YES ;
12 option compress=NO;
13
14 %*-- do something. ;
15 data _null_;
16 set WORK.hash1 end=last;
17 call missing (AVar1);
18 if _n_ eq 1 then do;
19 dcl hash hDUMMY (dataset: 'WORK.hash0');
20 hDUMMY.DefineKey ('AVar1');
21 hDUMMY.DefineData ('AVar1');
22 hDUMMY.DefineDone();
23 end;
24 if last then do;
25 put 'NOTE: ***** PUTTING *****';
26 hDUMMY.output (dataset: 'WORK.testSet');
27 end;
28 run;
NOTE: There were 0 observations read from the data set WORK.HASH0.
NOTE: ***** PUTTING *****
NOTE: The data set WORK.TESTSET has 0 observations and 1 variables.
NOTE: There were 1 observations read from the data set WORK.HASH1.
NOTE: DATA statement used (Total process time):
real time 0.08 seconds
cpu time 0.02 seconds
29 /* t334393.sas */
30
31 %*-- create empty / non-empty test data. ;
32 data WORK.hash1;
33 AVar1 = 42;
34 run;
NOTE: The data set WORK.HASH1 has 1 observations and 1 variables.
NOTE: DATA statement used (Total process time):
real time 0.02 seconds
cpu time 0.00 seconds
35 data WORK.hash0;
36 set WORK.hash1(obs=0);
37 run;
NOTE: There were 0 observations read from the data set WORK.HASH1.
NOTE: The data set WORK.HASH0 has 0 observations and 1 variables.
NOTE: DATA statement used (Total process time):
real time 0.02 seconds
cpu time 0.02 seconds
38
39 %*-- fix it... set to NO, break it with YES ;
40 option compress=yes;
41
42 %*-- do something. ;
43 data _null_;
44 set WORK.hash1 end=last;
45 call missing (AVar1);
46 if _n_ eq 1 then do;
47 dcl hash hDUMMY (dataset: 'WORK.hash0');
48 hDUMMY.DefineKey ('AVar1');
49 hDUMMY.DefineData ('AVar1');
50 hDUMMY.DefineDone();
51 end;
52 if last then do;
53 put 'NOTE: ***** PUTTING *****';
54 hDUMMY.output (dataset: 'WORK.testSet');
55 end;
56 run;
NOTE: There were 0 observations read from the data set WORK.HASH0.
NOTE: ***** PUTTING *****
NOTE: Compression was disabled for data set WORK.TESTSET because compression overhead would increase the size of the data set.
NOTE: The data set WORK.TESTSET has 0 observations and 1 variables.
ERROR: An error has occurred during instance method OM_OUTPUT(505) of "DATASTEP.HASH".
NOTE: The SAS System stopped processing this step because of errors.
NOTE: There were 1 observations read from the data set WORK.HASH1.
NOTE: DATA statement used (Total process time):
real time 0.09 seconds
cpu time 0.00 seconds
| Type: | Problem Note |
| Priority: | medium |
| Topic: | SAS Reference ==> Component Objects ==> hash object ==> OUTPUT |
| Date Modified: | 2011-06-06 14:12:50 |
| Date Created: | 2010-02-25 17:36:32 |






