sasjs run¶
The sasjs run
command enables developers to submit SAS code for execution from the commandline.
The log will be returned as a file in the current directory. The source file must have a ".sas" extension.
Note - an additional variable macro variable will be added by the adapter, with the value of the target appLoc and the filename (equivalent to %let _program=/My/AppLoc/runfilename.sas;
). This is actually added as a session variable, so will not be visible in the logs.
Prerequisites¶
Before using this command, you will need to install the SASJS CLI and add a deployment target.
Syntax¶
sasjs run <sourcecode> [additional arguments]
<sourcecode>
can be a local file path or a file on a web server.
Using Github Urls¶
If using a URL from github, be sure to link to the raw version of the file, eg: https://raw.githubusercontent.com/sasjs/core/main/base/mf_getattrc.sas
As opposed to: https://github.com/sasjs/core/blob/main/base/mf_getattrc.sas
If you click the links above you will see the difference. Whenever <sourcecode>
begins with http://
or https://
we simply fetch the contents from the URL - so the raw value should be SAS code and nothing else.
You can find the raw version by clicking on the 'raw' button when viewing the program on github (next to the 'blame' button)
Additional arguments may include:
--target
(alias-t
) - the target environment in which to deploy the services. If not specified, default target will be used, mentioned insasjsconfig.json
. The target can exist either in the local project configuration or in the global.sasjsrc
file.
Examples¶
Running some local SAS code:
# create minimal SAS program
cat > ./somecode.sas <<'EOL'
%put hello from SASjs;
EOL
# run the SAS code on the target
sasjs run somecode.sas -t myTarget
Running some SAS code from github:
sasjs run https://raw.githubusercontent.com/sasjs/template_jobs/master/includes/someprogram.sas -t viya
Roadmap¶
We plan to support the following:
- keeping sessions alive
- directing log output
- extracting items from the session
If there are items you are looking for, or have problems / ideas, do raise an issue.