BookmarkSubscribeRSS Feed
THALLA_REDDY
Obsidian | Level 7

Hi Team,

I have created a Project in SAS Enterprise Guide with 2 Process Flows added in it. In the First process Flow I have created some PROMPTS and they are added in a program to get the inputs from user while running the Project. And the Inputs taken from user from the PROMTS in first process flow need to be passed into second process flow where the user will write actual code in second process flow. And we don't want all the users to see the code what was in first process flow. So do we have any option to hide a process flow in a SAS EG Project ?

 

thanks in advance,

Thalla

5 REPLIES 5
TomKari
Onyx | Level 15

Hi, Thalia

 

That's an interesting requirement, and I can see what you're trying to do, but I'm afraid I can't see any way to accomplish it either using Enterprise Guide or any of the other SAS tools. Hopefully someone more inspired than me will have an idea!

 

Tom

SASKiwi
PROC Star

What is your purpose for hiding the first process flow? Is it to stop users changing it or is it some other reason? If it is simply to stop users changing it then one possibility would be to convert the process into a SAS server stored SAS macro program that is called by your EG project. By using options like NOSOURCE you can ensure that the code being run is not visible in the EG log.

THALLA_REDDY
Obsidian | Level 7

Hi Thanks for your response, Yes one reason is I don't want the users to change it and the second reason is want the second process flow to be opened by default for the users to work with their codes instead of closing the first process flow and opening the second process flow. Can please provide more details about converting a process flow into a SAS server stored SAS macro program and calling it in the project with NOSOURCE option ?

 

thanks in advance

Thalla

SASKiwi
PROC Star

@THALLA_REDDY  - The high-level approach would be to convert your first process flow into a SAS program using EG's export to SAS code function. Then replace the first process flow to a single SAS code node that looks something like this:

%include '\\MyServerName\MyServerFolder\MySASMacroProgram.sas'

Then your MySASMacroProgram.sas file would contain this:

options nosource nomprint;

%macro MySASMacro;
< SAS statements>
%mend MySASMacro;

%MySASMacro;

The good part about using macro is it can reference your EG project's input parameters.

Kurt_Bremser
Super User

Since users are intended to change the project (by adapting the second process flow), there's really no way to keep them from changing anything that is in the project.

Store the initial project file in such a way that it cant't be changed/overwritten by anyone but you (network share with permissions), so you don't lose it as a reference.

If you use a stored process to acquire the inputs, you need to make it store the results in a manner that the later second process flow can pick them up from a permanent library. STP's run from a generic user (sassrv) and clear their whole environment (WORK, memory) immediately after execution.

I suggest that you start with a good look at the Developer's Guide, and work yourself into the field by starting with simple STP's to get a feel for how the infrastructure works.

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

SAS Enterprise Guide vs. SAS Studio

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 1513 views
  • 0 likes
  • 4 in conversation