AUTOEXEC.SAS wasn't enough for you. Yes, it's a sure-fire way to run SAS statements (such as LIBNAME assignments or macro definitions) whenever you start your SAS session, but you found it has limitations when used in configurations with lots of users who connect with SAS Enterprise Guide. Limitations such as:
- The statements in the Autoexec file will be run for everyone who connects to the server, whether they need them or not. It doesn't allow for very fine control.
- Only an administrator can change the content of the Autoexec file. If a mere-mortal end user wants to inject his own autoexec processing, he has to petition the administrator to add it on his behalf. The admin then needs to consider the impact on the other users of the system.
You were clever though: you discovered an undocumented hook in SAS Enterprise Guide 3.0 and 4.1, where you could inject your own statements and have them submitted when you connected to a SAS session. By adding content to a not-so-secret file named EGAuto.sas, you could "fool" the system into doing your bidding.
Impressed with your ingenuity, the product team removed EGAuto.sas in SAS Enterprise Guide 4.2. In its place they established a formal option that does the same thing, complete with support and documentation. Within Tools -> Options -> SAS Programs you can select Submit SAS code when server is connected, then click Edit, then enter the SAS code you want to execute on the SAS server when you connect. It's all described for you in this sasCommunity.org tip about "user-specific autoexecs", and it's all you would ever need. Right?
Wrong! It wasn't enough to provide user-specific autoexec processing. You then asked for project-specific autoexecs, so that you could specify different actions that would happen automatically when you open different SAS Enterprise Guide projects.
SAS Enterprise Guide 4.3 adds this support, and it's easy to use. Simply add a new process flow to your project (File->New->Process Flow) and name it "Autoexec". You can put anything that you want in this process flow: a program with library assignments or macro definitions, one or more "Assign Library" tasks, Upload or Download data set tasks, even custom tasks. The Autoexec process flow helps you to get everything ready for you to work with your project.
When you open a project that contains an Autoexec process flow, SAS Enterprise Guide can run that flow automatically. By default, you'll see a prompt asking if that's what you want to do.
If you don't want to see the prompt, but just want that autoexec to run, well, automatically, you can change that behavior in Tools->Options.
There. That should keep you happy for a while. Right?