LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (May 2000, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 23 May 2000 09:41:41 -0700
Reply-To:     "William W. Viergever" <wwvierg@IBM.NET>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         "William W. Viergever" <wwvierg@IBM.NET>
Subject:      Re: datasets - version 8 or version 6 - errors
In-Reply-To:  <9182F83D302DD311BF3F0008C71E73CA22939C@ITG-EXCH01>
Content-Type: multipart/alternative;

At 121:41 PM 5/21/2000, Doug (aka MVS_USER) started this off by writing: > > I have been using SAS 6.12 for so long that most of my data work is stored > > in version 6 datasets. I got SAS version 8 on Friday night and installed > > it on my home PC expecting miracles, however when I run version 8, and > > attempt to use long file names I get errors saying (for example) that > > ERROR: The variable name RentAssistanceEntitlementAmount is illegal for > > the version 6 file OLDVER.COMBXXXX.DATA. > >

At 09:00 AM 5/23/2000, Jim Groeneveld wrote: >AFIAK (but I may be wrong) SAS (I assume vs 8 as well) saves datasets with a >libname of a directory, where (also) old (vs. 6.12) datasets are stored, in >that same version, i.e. as 6.12 datasets automatically (if you do not >specify an engine). That is why you get these errors on too long names. >Solutions to force vs. 8. datasets are either to write to a different >directory (libname) for vs. 8 datasets only or to force using the V8 engine >explicitely. This also applies to even older version datasets. I hope this >helps.

and, At 01:20 AM 5/23/2000, Paul MacDOnald wrote: >What you need to do is create two libnames, one for V6 engine and one for V8 >engine. > >Then you need to PROC COPY the old V6 to the new V8. That ought to do it. > >Yeah, I know... it sucks.

Hello World <g>:

Jim and Paul are both technically correct but, at least for me, they confused things a bit:

*IF* you *DO NOT* associate a "engine" w/ your libref (i.e., define an engine in your LIBNAME statement) then you're asking SAS to figure it out.

SAS uses "rules", and one of those is that if there is nothing but v6 stuff in that lib, then SAS will use the v6 engine and thus if you're writing out a long-filenamed dataset, you'll get an error.

*IF* there are both v6 and v8 datasets (aka mixed mode) then the default is for SAS to use the default (v8) engine (NOTE: you can override what engine to use as the default in these "mixed mode" cases).

But, you *DO NOT* have to do the PROC COPY stuff (unless, of course, you *want* to upgrade all your v6 datasets to v8) to be able to write to the same physical directory/library - all you need is two different LIBREFs pointing to the same physical directory/library, each with the appropriate engine.

FWIW, as many of my main v6 datasets are all in excess of 1GB, I'm gonna leave them as v6 <g>.

Just my $0.02 - HTH

Late ---------------------------------------------------------------------------- William W. Viergever Voice : (916) 483-8398 Viergever & Associates Fax : (916) 483-8399 A SAS Institute Quality Partner (USA) E-mail : wwvierg@ibm.net Sacramento, CA 95825

"The fastest way to succeed is to double your failure rate." - Thomas J. Watson, Sr. - Founder of IBM

"The large print giveth, and the small print taketh away." - Tom Waits ----------------------------------------------------------------------------


[text/html]


Back to: Top of message | Previous page | Main SAS-L page