I have requirement to write the SAS macros which connects to oracle database and do certain operations (Integrate logical file, delete logical files,merge files etc) . But these macros needs not be exposed to the domain experts -though he should be able to use it to create the SAS program around it.
I have few questions
1) Can SAS macros be secured/hidden, so that user does not get to know SQL tables ?
2) Is there a centralized repository where SAS programs and macros can be stored?
3) Can we restrict the ability to write the macros to certain users? is there any role based authentication built into SAS?
Macros may be compiled and only the compiled image presented in a read only file system. I had a system set up like this back in V6.12 so I don't remember the exact syntax. A search on the compiled macro facility should give you the information you are looking for.
Stored compiled macros were found to be fairly transparent, e.g. by using the
%copy statement users can see what's in there. So starting with SAS 9.1.3 (I think) we implemented Stored Secure macros.
To use this feature, add /store /secure to the %macro statement. This causes the contents of the macro to be encrypted when stored on disk. It is then decrypted when executing. See the doc page below for more details. Hope this helps.