when i copy the egp projects from dev to prod, i still see the dev server name and the file path on the moved egp project on prod environment. i know that we can go to the property of each object in egp project and change the server and file references. But at my work we hav N number of projects, if i attempt to do this manually, it will be consuming lot of time. I am welcoming your suggestions from you all. Any utility to export the project to prod, so that the projects can hav the production file references. Please revert me back
For raw data files, you are either going to need to change the references one-by-one., or use macro variables todefin the part that is different between development or production. For SAS datasets, use the LIBNAME approach and then you just need ot change that reference than the location of every SAS dataset.
A real DEV, TEST and PROD environment should be separated but "identical". The server names and all filenames should be the same. If this is not the case then don't expect fast solutions.
It's the beauty of SAS EG that you can have several servers available and chose per node on which server you want to run your code.
Libnames and Filenames can be set environment specific in the metadata or in the autoexec. This way your EG code will be environment independent.
What you are asking for is kind of a migration/deployment tool which allows re-mapping. Such a migration tool exists for migrating SAS EG 4.1 to SAS EG 4.2 projects.
To have something similare for moving SAS EG projects from one environment to another sounds actually quite interesting. It doesn't exist as much as I know but is may be an enhancement worth proposing to SAS. There is somewhere a link on the SAS site to do so.
"Libnames and Filenames can be set environment specific in the metadata or in the autoexec. This way your EG code will be environment independent."
Please share the specifics of how you do this in Enterprise Guide. Earlier discussions indicate that there is no analogue to 'autoexec.sas' that can be context specific. Such a capability would be helpful in a lot of types of activities.
SAS application "launch" can also be controlled/managed using the SAS CONFIG option INITSTMT= (IS= for short) and invoking a piece of SAS code that makes use of SAS AUTOMATIC variables to set the "environment conditions", as needed by your SAS application (pertaining to all sorts of possibilities, some of which are LIBNAME and FILENAME declarations set during SAS session invocation).
Suggest searching the SAS support website for references to INITSTMT, both for SAS-hosted documentation references and SGF/SUGI conference paper references.
As Enterprise Guide is a client the definitions have to be made on the server. And there are of course autoexec.sas on the server where one can define whatever is needed (SAS Admin task) for a specific environment.
Another way is to use the SAS Metadata Repository and define libraries there (per environment). Just connect to the environment specific repository and it will work.
A third option would be to have all environment specific definitions in an autocall macro (i.e. %init_env) and call this macro at the beginning of each EG project. This approach has the advantage that a SAS Admin could open one of the autocall libraries (a directory) to a user group so that they can define and maintain their own environment macro.