I would use SAS Packages for storing and sharing my SAS code (https://github.com/yabwon/SAS_PACKAGES).
Other thing, wouldn't a macro like one below solve the issue?
Bart
%macro getSASfilesFromEGP(
path
,libOut
);
%local inZIP inF outF;
%let inZIP = z%sysfunc(datetime(),hex7.);
%let inF = i%sysfunc(datetime(),hex7.);
%let outF = o%sysfunc(datetime(),hex7.);
data _null_;
rc0 = filename("&inZIP.", "&path.", "ZIP", "lrecl=1 recfm=n");
did = dopen("&inZIP.");
did = dopen("&inZIP.");
if not did then
do;
put "ERROR- Aborting.";
stop;
end;
do i=1 to dnum(did);
file = dread(did, i);
if upcase(scan(file,-1,".")) ne "SAS" then continue;
rc1 = filename("&inF.", "&path.", "ZIP", "member='" !! strip(file) !! "' lrecl=1 recfm=n");
rc2 = filename("&outF.", catx("/", dequote(symget("libOut")), translate(file,"_","/")), "DISK", "lrecl=1 recfm=n");
rc3 = fcopy("&inF.", "&outF.");
if ^fexist("&outF.") then put "WARNING: UnZIP failed.";
put i= file=;
put (rc:) (=);
rcY = filename("&inF.");
rcZ = filename("&outF.");
end;
did = dclose(did);
run;
%mend getSASfilesFromEGP;
%getSASfilesFromEGP(
C:\Users\bart\Desktop\Project.egp
,C:\Users\bart\Desktop\TEST123
)
... View more