Date: Fri, 15 Mar 1996 15:35:00 PST
Reply-To: Thomas M Skinner <Thomas_M_Skinner@CCM.FM.INTEL.COM>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: Thomas M Skinner <Thomas_M_Skinner@CCM.FM.INTEL.COM>
Subject: Re[2]: VMS to JMP: cport? (NOT!) NOT! HUH?
Folsom, California
March 15, 1996
Sunny, 70's
Dear SAS-Lers,
OK, OK, so I didn't test it....(hey its Friday you know...)
Apologies to Al, but there's something funny going on here...
When I look at the files generated they _seem_ to be identical.. same number of
bytes, etc.
The message I get from JMP when trying to import a file that was CPORT'd is:
The_Selected_FILE_does_not_appear_to_be_a_transport_file...and then says: Please
check that it was created correctly and move to your computer with a binary
download.
I tried it on both WINSAS 6.11 and MVS SAS 6.08 with the same result. As Al
says, the XPORT option on the LIBNAME does the trick. So I tested some more...
When you use the LIBNAME XPORT it must generate a V5 transport library! The
message you get trying to CIMPORT this file in SAS is:
ERROR: CIMPORT is not able to read version 5 transport data sets.
So if you look in help for XPORT you get:
;The XPORT engine reads or writes one or more SAS data sets in transport format.
;The XPORT engine must be included in the LIBNAME statement that defines the
;libref for the transport file. The file can be exported by any DATA or PROC
;step that creates SAS data sets and imported by a DATA or PROC step. PROC COPY
;is the most commonly used method for creating the transport file.
;Example: LIBNAME test XPORT 'c:\transfile';
With absolutely no reference to it being V5! OK, so the error says see the
companion.. in the companion (for windows there is a reference to Tech Report
195.. In there (p11) is a table with compatibility's... with an comparison of
the two methods.. In the PROC CPORT section it explains: Data sets exported
using PROC CPORT cannot be imported into earlier versions of the SAS System.
The transport files created by the XPORT engine are more portable; etceteras...
Hmmm... perhaps the XPORT engine does in fact predate CPORT(?)
At any rate...this means that JMP, when it refers to a transport library means a
V5 transport library! (I guess maybe its documented somewhere, but who reads
manuals these days.)
I guess there is perhaps some way of differentiating a "transport file" (XPORT
engine on the LIBNAME statement) and a "transport library" by the semantics
here, but it would be nice if JMP could tell you this (I'm running the latest
version..3.1.5)
Like I said, its Friday...The ides of March no less... on to more fun pursuits
(look out San Diego, here I come!)
Tom Skinner
My last post follows:
Dear SAS-Lers,
Al Best wrote:
>I don't have the threads handy but I've seen two
>postings that seem to suggest that you can
>use SAS proc cport to move files from VMS to
>JMP.
>NOT!
>Use the xport engine.
Au contraire mon frere, Either one can be used... look at my original post to
see which is better in certain circumstances...
Straight from the horse's mouth... AKA On Line Help.
:PROC CPORT source-type=libref<.member-name>
:The source-type argument identifies the file or files to export as a single
:catalog, as a single SAS data set, or as the members of a SAS data library.
:The source-type argument can be one of the following:
:CATALOG | CAT | C
:DATA | DS
:LIBRARY | LIB | L
:The libref<.member-name> argument identifies the particular catalog, SAS data
:set, or SAS data library to export. If the source-type argument is CATALOG or
:DATA, specify both a libref and a member name. If the source-type argument is
:LIBRARY, specify only a libref. If you specify a data library, the CPORT
:procedure exports only data sets and catalogs from that library. You cannot
:export other types of files.
end of help entry...
In fact CPORT predates the Xport engine. Xport was created as a convenience to
use just as I originally posted, i.e. in Data Steps.
The _END_ result is the same... a binary file of standard format for transport
between OS/Platforms.
Tom Skinner