| Date: | Fri, 22 Oct 1999 18:52:27 -0500 |
| Reply-To: | shiling@math.wayne.edu |
| 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 |
_all_;
If your friend uses option EXTENDSN= NO in cimport will stop 'advance the
length'.
The length change may bomb existing programs. For example, proc append without
force option.
Hope it helps!
data t1;
length x1 3 x2 4 x3 5 x4 6 x5 7 x6 8;
retain x1-x6 0;
run;
proc contents data=t1;run;
proc cport data=t1 file='c:\temp\test.cpt';
run;
libname s 'd:\temp';
proc cimport lib=s infile='c:\temp\test.cpt';* EXTENDSN= NO ;
run;
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
> cross-platform.
>
> (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.)
>
> HTH
>
> Douglas Dame
> Shands HealthCare
> Gainesville FL
>
> (with all due apologies to Karate Kid fans,
> I know you're both out there somewhere)
|