📄 execute.sas
字号:
%macro execute(prog= );
%let lib = %sysget(SRCLIB);
%if (&sysscp eq WIN) %then %do;
%if (%bquote(&lib) eq ) %then %do;
%let lib = %sysget(SASROOT);
%if (%qsubstr(&lib, 1, 1) eq %str(%")) %then
%let lib = %qsubstr(&lib, 2, %length(&lib)-2);
%let lib = &lib\srclib;
%end;
%else %do;
%if (%qsubstr(&lib, 1, 1) eq %str(%")) %then
%let lib = %qsubstr(&lib, 2, %length(&lib)-2);
%end;
%let program = &lib\&prog;
%if (%index(&program, %str( )) ne 0) %then
%let program = %str(%")&program%str(%");
%let setup = &path..set;
%if (%index(&setup, %str( )) ne 0) %then
%let setup = %str(%")&setup%str(%");
options noxwait;
data _null_;
%if (&mode eq ) %then
call system("&program &setup /sas")%str(;);
%else
call system("&program &setup /&mode /sas")%str(;);
run;
%end;
%else %do;
%if (%bquote(&lib) eq ) %then
%let lib = %sysget(SASROOT)/srclib;
%if (&mode eq and &sysenv eq BACK) %then %let mode = batch;
data _null_;
%if (&mode eq ) %then
call system("&lib/&prog &path..set /sas")%str(;);
%else
call system("&lib/&prog &path..set /&mode /sas")%str(;);
run;
%end;
%if (&sysrc gt 1) %then %let msg = Abnormal termination of &prog.. Check log.;
%mend execute;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -