Hello,
I'm making back up copies of directories on a SAS Share sever from a production SAS Share server. I am able to create a macro to get a list of "DATA" tables and then create a copy of them in a new location. My issue is that some of the locations I'm copying from have views (*.sas7bvew) and index (*.sas7bndx) files and I'm not sure how to make a copy in the new location. In my code I'm looping through a list of libnames and taking the data tables and making a work copy then copying the table to my backup location.
data lib_list ;
length lib $10 ;
input lib $ ;
cards;
Lib1
Lib2
Lib3
Lib4
;
run;
data _null_ ;
set lib_list end = last ;
call symput('libname'||trim(left((_n_))), trim(left(lib)) ) ;
call symput('nlibs', trim(left(_n_))) ;
run ;
%macro Get ;
%do i = 1 %to &nlibs. ;
%let x=Share1 ;
options comamid=tcp ;
libname &&libname&i. server=x.Shr1 access=readonly ;
proc sql ;
create table tabs
as
select *
from dictionary.tables
where libname = "&&libname&i."
and memtype = 'DATA'
;
quit ;
data _null_ ;
set tabs end = last ;
call symput('tabname'||trim(left((_n_))), trim(left(memname)) ) ;
call symput('ntabs', trim(left(_n_))) ;
run ;
%do j = 1 %to &ntabs. ;
data &&tabname&j. ;
set &&libname&i...&&tabname&j. ;
run ;
%end ;
%let w=Share2 ;
options comamid=tcp ;
libname &&libname&i. server=w.Shr2 ;
%do y = 1 %to &ntabs. ;
data &&libname&i...&&tabname&y. ;
set &&tabname&y. ;
run ;
%end ;
proc datasets lib=work nolist memtype=data ;
save lib_list ;
quit ;
%end ;
%mend Get ;
options mprint ;
%Get ;
Any help would be greatly appreciated.
PROC COPY is not an option for you ?
PROC COPY is not an option for you ?
Hi Michiel,
Will proc copy bring over the views? I didn't think it did, but I could be wrong.
thanks
I ran it again on a specific directory and it looks like it brought everything over.
Server 1 to Work proc copy in=temp out=WORK constraint=yes index=yes ; run; Work to Server 2 proc copy in=work out=temp2 constraint=yes index=yes ; run;
Thank you
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.