|Date: ||Fri, 22 Oct 1999 18:52:27 -0500|
|Sender: ||"SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>|
|From: ||Shiling Zhang <shiling@MATH.WAYNE.EDU>|
|Organization: ||Wayne State University|
|Subject: ||Re: PROC COPY & PROC COMPARE|
|Content-Type: ||text/plain; charset=us-ascii|
If your friend uses option EXTENDSN= NO in cimport will stop 'advance the
The length change may bomb existing programs. For example, proc append without
Hope it helps!
length x1 3 x2 4 x3 5 x4 6 x5 7 x6 8;
retain x1-x6 0;
proc contents data=t1;run;
proc cport data=t1 file='c:\temp\test.cpt';
libname s 'd:\temp';
proc cimport lib=s infile='c:\temp\test.cpt';* EXTENDSN= NO ;
proc contents data=s.t1;run;
proc append base=t1 data=s.t1;run;
Douglas Dame wrote:
> Prasad Ravi wrote:
> > ... he did was created the SAS Transport file of a SAS
> > Library using PROC COPY (version SAS 6.12, host UNIX),
> > to check to make sure this was done right, he recreated
> > back the SAS Library from this Transport file and
> > compared all the datasets before and after, for some
> > variables in few datasets it turned out that attributes
> > changed.
> There's three steps of this process:
> (1) write the SASdata in "transport" (i.e., platform-independent) format
> (2) move it from machine A to machine B (e.g., with FTP)
> (3) write the data out onto the new machine in platform-specific format.
> Obviously, you hope that the data is NOT changed during step 2. That would
> be called a transmission error.
> So the introduction of additional bits in the numeric varbles to ensure they
> don't lose significant digits on a different platform/OS can only happen
> during the "wax on" or the "wax off" phase. SAS probably flipped a coin and
> chose "wax on."
> How does this create "a problem" for your friend? He still has the dataset
> in its original form if the carefully crafted "width" is desperately
> critical, and the test is somewhat unrealistic .... the reason you create a
> transport dataset in the first place is because you need to move
> (You could conceivably use a transport format to send SASdata to someone
> using the same OS, but having an older version of SAS, e.g., from V7 to V6.
> But in that case, it'd be more efficient to create a copy of the dataset
> using the V6 engine, rather than the transport one.)
> Douglas Dame
> Shands HealthCare
> Gainesville FL
> (with all due apologies to Karate Kid fans,
> I know you're both out there somewhere)