I have SAS stored process that ceates DBF file from SAS data set rr_udf_value and finds its size (F_SIZE):
filename dbfout "/SASInside/DBF/myfile";
proc export data=rr_udf_value outfile=dbfout dbms=dbf replace;
run;
%let f_nm=/SASInside/DBF/myfile.DBF;
%let rc=%sysfunc(filename(onefile, &f_nm.));
%let fid=%sysfunc(fopen(&onefile));
%let F_SIZE=%sysfunc(finfo(&fid,File Size (bytes)));
%put &F_SIZE;
The problem is that the variable F_SIZE is empty in STP log. But if after execution of STP I run commands
%let f_nm=/SASInside/DBF/myfile.DBF;
%let rc=%sysfunc(filename(onefile, &f_nm.));
%let fid=%sysfunc(fopen(&onefile));
%let F_SIZE=%sysfunc(finfo(&fid,File Size (bytes)));
%put FSIZE=&F_SIZE;
manually, everithing is OK: F_SIZE=17342.
Why F_SIZE is not initialized while running STP, and how could I fix it?
Thanks in advance!
Not sure. Could you get file size by DICTIONARY ?
filename x '/folders/myfolders/x.xlsx';
proc sql;
select * from dictionary.EXTFILES where Fileref='X';
quit;
Xia Keshan
Not sure. Could you get file size by DICTIONARY ?
filename x '/folders/myfolders/x.xlsx';
proc sql;
select * from dictionary.EXTFILES where Fileref='X';
quit;
Xia Keshan
Thank you very much, Xia! Your approach works good!
P.S. I found that my approach also can work if I switch STP option "Server type" to "Workspace server only". But I will use your approach because it doesn't require switching server type and much more simple.
Best whishes,
Dmitry
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.