Date: Wed, 26 Jan 2005 14:27:44 -0500
Reply-To: "Richard A. DeVenezia" <radevenz@IX.NETCOM.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "Richard A. DeVenezia" <radevenz@IX.NETCOM.COM>
Subject: Re: Excel to SAS, general questions
The Zimmerman's wrote:
> Listers,
>
> I had a brief conversation with an old client today. He is
> interested in having me bring multiple Excel files over to SAS on
> MVS. I don't 'think' he has ODBC on the mainframe and I'm not sure
> how many workbooks he has in mind. Based on these admittedly sketchy
> details does anyone have any ideas s/he would be willing to share on
> how I might tackle such an assignment? (Also this almost certainly
> *not* SAS 9.)
The only goal is to get the Excel data to the mainframe.
If its a one-shot, and not production, use your SAS V9 to create an XPORT
file which is transferred (in binary) to the mainframe where it is
CIMPORTED.
If there are many workbooks, a robust naming scheme should be used to ensure
there are no naming collisions.
Something like this.
-----------
options validvarname=v7;
proc datasets nolist lib=work kill mt=data;
run;
libname client excel 'c:\temp\data.xls';
data _null_;
set sashelp.vtable;
where libname = 'CLIENT';
sasname = compress(memname,'$');
call execute ("data WORK." || trim(sasname) || ";set " || trim(libname) ||
'.' || quote(trim(memname)) || "n ;run;");
run;
proc cport lib=WORK file='c:\temp\data.xpt' mt=data;
run;
libname client;
-----------
~~~~~ transfer ~~~~~
-----------
proc cimport lib=OLD_DUDE file="incomingpds(data.xpt)";
run;
-----------
Richard A. DeVenezia
http://www.devenezia.com/