I would like to be able to start EG with a different set of options for LAN use versus remote use. I've found the EG startup options using "<path>SEGuide.exe /?" in a command window. The "/listoptions" option produces a long list of option settings that can be used as startup options. For example:
SEGuide.exe /option:autoDisplayGenDataOrResults=TRUE /option:graphDevice=ActiveX
Apparently, each option has to be set as a separate "/option" specification, I wasn't able to list several options separted by ";". Also, 1 or 0 didn't work as booleans, it has to be true of false.
However, the startup option I'm really interested in is the following:
/option:@AlternateOptionFileName - Specific an alternative options configuration file for use. Format: @"/Path/Name".
(It should be "specify" but this is what was reported in the startup options)
Unfortunately, I can't get the configuration file to work. I've placed some startup options in a text file and started EG with
SEGuide.exe" /option:@"\\<server>\private\jhendrickx\SASEG.profile"
This has no impact on the settings but did create a file SASEG.profile.xml. This file had the same contents as %appdata%\SAS\EnterpriseGuide\4.3\profile.xml. I tried modifying this file and using it as startup file but that had no impact.
So, has anyone else figured out how to get the startup file to work? There's no documentation I can find anywhere.
I'm using EG 4.3 with SAS 9.2 under WinXP.
You're correct - this process for command-line options is not documented. It was added mainly to allow users to override certain options at startup, primarily for the use case of creating different shortcuts to the SEGuide.exe command for different purposes. The syntax and "doc" is a bit "programmer-y", and so it's not a publicly supported feature.
If you want to give it a try, create a copy of the EGOptions.xml file WITH an XML file extension. Change a simple option value in the file and launch the process like this:
SEGuide.exe /option:@"C:\temp\EGOptions.xml"
EG will read the options from the file, but it will might also overwrite the file (if it can) when you close EG (with any options that you change in the UI).
Here is another command-line option that you might also be interested in:
Using SAS Enterprise Guide with different SAS environments - The SAS Dummy
Chris
Well, I gave it a try but it doesn't work for me. The settings are not read at EG startup but are written at EG shutdown. Either manually editing (in my case) C:\etc\EGOptions.xml or changing the settings with the GUI in EG makes no difference. If I change options in a session without using /option:@ then those setting will be used next time I start EG with /option:@ and those settings will be written to C:\etc\EGOptions.xml. Does this option work as intended for anyone else?
I wish I could use this to connect directly to our netezza server when I open it like it does when I use base SAS All the data I use is there and I would like to be able to just select the table I want instead of pointing it to netezza each time...
Marilyn,
For that scenario, you might find the Autoexec process flow helpful.
You asked for it: the Autoexec process flow - The SAS Dummy
Or the Tools->Options->SAS Program->Submit SAS code when server is connected option.
Chris
Thanks Chris. This works for me. I was able to make changes in a different EGOptions.xml file, specify it on the command line as described, and I checked the options via EG once it started to see that the different options I set where there. The changes surfaced in EG.
I could see creating a different shortcut for EG to start with the different options.
Great! Glad this helped.
Chris, you say:
If you want to give it a try, create a copy of the EGOptions.xml file WITH an XML file extension. Change a simple option value in the file and launch the process like this:
I'm using EG 7.15 and maybe they did away with the EGOPTION.xml file. Also, I'm mildly confused when you say "create a copy of the EGOptions.xml file WITH an XML file extension" - doesn't it already have an xml file extension.
Anyway, the basic problem is I want to change a startup system option for EG 7.15 - are there any instructions for that?
Thanks! Keith
If the SAS startup option you want to apply can only be done when SAS is started then it needs to be added to the SAS server AUTOEXEC or CONFIG EG is connecting to.
Chris,
I am the SAS admin and I'd like to create a new macro variable from the value of _CLIENTMACHINE. So, when my users first open up EG this new macro is created. We are running the Grid in Linux. I have over 800 users that log into 4 Windows jump servers to connect to EG. Therefore, EG is not on each client machine. It's obviously shared across these 4 jump servers. So, putting this code in all 800 users startup autoexec profile is not very feasible.
I put my code to create this macro variable in the appserver_autoexec.usermods.sas however I've been informed the _CLIENTMACHINE is not set when EG first starts up. What this does is creates a warning message in every users SAS log which means every job on the User Activity report shows as failed.
I've been informed that I can use the xmloptions.xml file, however I can't seem to get that to work either. I've been informed to put a %include statement in the strOnServerConnectSASCode section where the %include program has my code to create my new macro. when I do this I get nothing.
Any insight or help would be greatly appreciated!!
Marc
Hi Marc,
The _CLIENTMACHINE macro variable is defined in the EG initialization code that is submitted by EG when a connection is first made to a workspace server. Therefore, you can use that macro variable in the "Submit SAS code when server is connected" option (in Tools->Options->SAS Programs), including to define your own macro variable that uses it. For example, I added this code to the "Submit SAS code when server is connected" option:
%let myMacroVar=client machine: &_CLIENTMACHINE;
Then, when I submit "%put &myMacroVar;" in a new EG session (which causes a new workspace connection), the new macro is resolved.
That option is stored in the EGOptions.xml file stored in each user's appdata location (ex. %appdata%\SAS\EnterpriseGuide\8). Yes, it is stored in the xml element named "strOnServerConnectSASCode" in each user's EGOptions.xml file. (So, you'd have to edit all the user's EGOptions.xml file to add -- you'd probably want a script.) Yes, you could include code in that option to %include your .sas file to define your macro var. To see the server initialization log, where this code executes, right-click the server in the Servers pane (after you've connected to the server), select Properties, Software, then View Initialization Log.
Casey
Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF
View now: on-demand content for SAS users
I realize this is an old thread, but would this override to the EGOptions.xml still work with EG 8.3? We're running into an issue and do not have access to update the seguide.config which requires admin privileges in our environment. Invoking from the command prompt would seem to avoid that complication. We've been directed to enable verbose logging by SAS tech support and gather logs to further investigate our original timeout issues.
Yes, the /option command line argument should work the same in EG 8.3 and EG 8.4.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Select SAS Training centers are offering in-person courses. View upcoming courses for: