BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
kruzewski
Calcite | Level 5

Is it possible to either mask the sas code of a stored process for an EG user OR prevent them from looking at its metadata while still allowing them to run it...?

1 ACCEPTED SOLUTION

Accepted Solutions
Quentin
Super User

Hi,

On the server, you can compile the macro and store the definition in a permanent macro catalog.  In v9.2, you can even encrypt the compiled catalog, but that may be overkill for your needs.

See http://support.sas.com/techsup/technote/ts739.pdf, search for SECURE.

So the only thing on the server the user needs read access to is the encrypted macro catalog holding the definition of %KillSession().

Pretty sure that should work for you.

Not sure what you will put as the definition of %KillSession(), or how the stored process server or workspace server will feel to have somebody else killing jobs...

--Q.

The Boston Area SAS Users Group is hosting free webinars!
Next up: Lisa Mendez & Richann Watson present Get Tipsy with Debugging Tips for SAS® Code: The After Party on Wednesday Jul 16.
Register now at https://www.basug.org/events.

View solution in original post

5 REPLIES 5
Quentin
Super User

Hi,

I suppose one way to hide the "source code" of a stored process would be to have the actual stored process be just a macro call.  Then macro definition could be stored in another file, or even a compiled macro catalog, or similar.

--Q.

The Boston Area SAS Users Group is hosting free webinars!
Next up: Lisa Mendez & Richann Watson present Get Tipsy with Debugging Tips for SAS® Code: The After Party on Wednesday Jul 16.
Register now at https://www.basug.org/events.
kruzewski
Calcite | Level 5

wouldn't the user still need access to the "source code" of the macro?....btw, I wanted to create a SP which would allow an end user to kill their own sessions if something hangs, BUT I don't want them to know how to run an x command on the windows server...

Quentin
Super User

Hi,

On the server, you can compile the macro and store the definition in a permanent macro catalog.  In v9.2, you can even encrypt the compiled catalog, but that may be overkill for your needs.

See http://support.sas.com/techsup/technote/ts739.pdf, search for SECURE.

So the only thing on the server the user needs read access to is the encrypted macro catalog holding the definition of %KillSession().

Pretty sure that should work for you.

Not sure what you will put as the definition of %KillSession(), or how the stored process server or workspace server will feel to have somebody else killing jobs...

--Q.

The Boston Area SAS Users Group is hosting free webinars!
Next up: Lisa Mendez & Richann Watson present Get Tipsy with Debugging Tips for SAS® Code: The After Party on Wednesday Jul 16.
Register now at https://www.basug.org/events.
kruzewski
Calcite | Level 5

I just key it off of &sysuser. so they they are only able to kill their own

kruzewski
Calcite | Level 5

...and thanks!

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 5 replies
  • 2016 views
  • 0 likes
  • 2 in conversation