Convert Your SAS Programs into Enterprise Guide Projects
Users who are moving from a traditional SAS programming role to Enterprise Guide have the option to import their existing SAS Programs. This can be achieved in a number of ways.
The most basic way to include a SAS program within an Enterprise Guide project is to add the program to a process flow this can be achieved via File -> Open -> Program (note, program is listed as "Code" in EG 4.1 and earlier). This adds the SAS program as a program (or code) node within the process flow. This can be linked to other Enterprise Guide tasks as part of a process flow; any outputs generated by the code will also be displayed as part of the process flow and can be used as the input to standard Enterprise Guide tasks.
Consider the following:
By default the SAS program will still be stored as an external .sas file (the one that was opened) and will appear in the process flow as a link. This means that any changes made to the program outside of Enterprise Guide will directly affect the Enterprise Guide project (this may be desirable). It is possible however to permanently import the code thus removing any external links.
Users of Enterprise Guide 4.3 or higher have the option of analysing the SAS program. This feature can be accessed via Program -> Analyze or selecting the Analyze option within the code editor. Running the analysis produces a list of the different Proc and Data steps that appear within the program, once complete the option to create a process flow is presented.
This allows the individual Proc and Data steps within the program to be separated out into individual program nodes which are placed within a new process flow. The collection of program nodes are linked together to create a process flow that performs the same task as the original program.
This generates the following results:
There are pros and cons to both approaches, and here we will discuss just a few related to change control.
If change management is enforced in your metadata repository then custom transformations are subject to the same change control as all your other DI Studio related metadata like jobs and tables. As such change control is effectively in place for your custom transformation code as the history of the metadata item will capture the details of any changes made. This also means that in order to update the transformation it must be checked out whilst no job that uses it is in use. Any deployed jobs which use the transformation will need to be re-deployed following the update to the transformation.
Storing the code as an external macro bypasses any change control in place on the custom transformation as the code can be edited outside of the DI Studio environment, however the macro is then available for use in other applications such as SAS Enterprise Guide. Deployed jobs which use the macro should only need to be re-deployed if the macro call itself has changed.
Whether these are pros or cons depend on your approach to change control.