Hi,
I was checking my SAS Enterprise Guide which connects to our SASApp. When i run proc options and see the CONFIG option, I see multiple config files appended. I would like to inquire on the following:
- Are the config files executed sequentially?
- If a certain option was set on the first config file, and set again on the succeeding config file, will it overwrite the setting or ignore the setting on the succeeding file?
Thanks!
The simple answer is no. If you examine the config folders in more detail you will see there is an implicit hierarchy going on.
For example: D:\SAS\Config\Lev2\SASApp2\WorkspaceServer\sasv9.cfg - this config is only applicable to Workspace server sessions for the SASApp2 SAS application server.
Compare that to this one: D:\SAS\Config\Lev2\SASApp2\sasv9.cfg - this config applies to all session types for SASApp2 so is higher in the hierarchy than the previous one.
D:\Program Files\SAS\SASFoundation\9.4\sasv9.cfg - this applies to ALL SAS sessions including SASApp2 plus any other SAS application servers.
Read the documentation for a more detailed explanation:
The simple answer is no. If you examine the config folders in more detail you will see there is an implicit hierarchy going on.
For example: D:\SAS\Config\Lev2\SASApp2\WorkspaceServer\sasv9.cfg - this config is only applicable to Workspace server sessions for the SASApp2 SAS application server.
Compare that to this one: D:\SAS\Config\Lev2\SASApp2\sasv9.cfg - this config applies to all session types for SASApp2 so is higher in the hierarchy than the previous one.
D:\Program Files\SAS\SASFoundation\9.4\sasv9.cfg - this applies to ALL SAS sessions including SASApp2 plus any other SAS application servers.
Read the documentation for a more detailed explanation:
Thanks to everyone for all the enlightening responses!
SAS Technical Support in France has drafted some time ago a lengthy and detailed explanation about the sequence of config/autoexec files dependency calls involved in the SAS workspace session launching. Even though it's in French, I strongly advise to look at page 6, there is a tree-like hierarchy showing the dependence over time and folders which is more visual ('visuality' being, absolutely speaking, in the eyes of the beholder) than the bone dry tabular form :
See bottom of page 6 :
https://www.sas.com/offices/europe/france/services/support/articles/US2013_Q3_Environnement.pdf
The document is so useful it should have been to be translated to English for a broader audience imho.
A few years ago,SAS Press used to announce an upcoming book about SAS & its environment (Autoexec, config, system options etc.) by the legendary SAS "Macro maven" Ron Fehd but this didn't show up to this day, unfortunately, although it's a topic of paramount importance for SAS techies.
Edit : the expression "Autoexec du Workspace" literally reads "Autoexec of the Workspace" , "démarré/démarrage" means "Started/Start" HTH
You might find the answers here:
Order of Precedence for Processing SAS Configuration Files
good luck
Your config files are located in a directory tree in your sasconf (or whatever you named it during the configuration step of the SAS installation) directory, usually starting at directory Lev1.
In Lev1, there is a file called level_env.sh, a shell script that sets important environment variables used in the shell scripts (higher on in the directory tree) that start servers; an extension file level_env_usermods.sh exists in which you can put customizations.
Your application server configuration is located in the SASApp subdirectory (if you didn't change the name during configuration).
There you find another shell script, appservercontext_env.sh, which references the level_env.sh mentioned earlier; there's also a _usermods for that.
You also find a appserver_autoexec.sas and sasv9.cfg, which contain the basic common configuration for SASApp.
Now lets switch to one of the server configuration directories, ie WorkspaceServer. There you find the shell script that is referenced in your Workspace Server definition in the metadata (Management Console).
That shell script first sources the appservercontext_env.sh, which in itself sources level_env.sh. Environment variables are created in the sequence level_env - appservercontext_env - WorkspaceServer.sh; all those reference _usermods files, and the last setting for a particular environment variable will take precedence.
The shell script also builds a sequence of cfg files, starting at the SASApp directory, so that the local file will take precedence over those closer to root. Therefore configuration options are set in the sequence SASApp/sasv9.cfg - SASApp/sasv9_usermods.cfg - SASApp/WorkspaceServer/sasv9.cfg - SASApp/WorkspaceServer/sasv9_usermods.cfg. The final appearance of a setting takes precedence.
The same is done with the autoexec files, so that you get a sequence SASApp/appserver_autoexec.sas - SASApp/appserver_autoexec_usermods.sas - SASApp/WorkspaceServer/autoexec.sas - SASApp/WorkspaceServer/autoexec_usermods.sas.
Once again, the final setting takes precedence.
HTH
Hello @milts,
I think you have been nicely answered by @SASKiwi and @Kurt_Bremser and @MauroR_ (that's the exact link Mauro).
Let me summarize, hopefully it will help:
Hope it helps,
Kind regards,
Juan
And if you want to see how a particular option was set, use PROC OPTIONS with the VALUE option. Example for MEMSIZE:
proc options option=memsize value ; run; SAS (r) Proprietary Software Release 9.4 TS1M4 Option Value Information For SAS Option MEMSIZE Value: 2147483648 Scope: SAS Session How option value set: Config File Config file name: C:\PROGRA~1\SASHome\SASFOU~1\9.4\nls\u8\sasv9.cfg
I would recommend reading this: SAS(R) 9.4 Intelligence Platform: System Administration Guide - Configuration Files for SAS Servers
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.
SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.
Find more tutorials on the SAS Users YouTube channel.