While the program is running, whether it is an execute by interactive mode or batch submit, is there any way to get by batch mode or interactive mode?
Though the programmer is know it by his eyes or operation.
For example,these codes which you run in a batch submit, there is a little a problem.(a window is shown.)
dm "output; clear; odsresults; clear;";
http://support.sas.com/kb/44/705.html
To avoid this, I would want to get my "run;" is by batch submit or interactive mode for make "If statement ".
If "&mode_now" know this,I would make these "if branching".
%if &mode_now = "batch" %then %do;
%end;
%else %if &mode_now = "interactive" %then %do;
dm "output; clear; odsresults; clear;";
%end;
Best Regards!
Hi,Reeza.
Thank you so much your kindness everytime!
I confirm that &SYSENV would work what I want to grasp with the value "FORE" or "BACE".
Probably better to use DMS settng since you are explicitely using DM command.
It is possble to have SYSENV=FORE and NODMS.
NOTE: SAS initialization used:
real time 0.14 seconds
cpu time 0.02 seconds
1? %put &sysenv %sysfunc(getoption(dms)) ;
FORE NODMS
2?
Just a warning that if you batch submit on Windows, &SYSENV = FORE. I've been burnt by this many times.
The docs mention this:
Operating Environment Information: Some operating environments do not support the submission of jobs in batch mode. In this case the value of SYSENV is always FORE. For details, see the SAS documentation for your operating environment
From the docs, looks like on Windows the only setup that gives you &SYSENV=BACK is Enterprise Guide.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
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.