Hello All,
I want to extract the following execution property of a Stored Process.
I have tried Proc STP; list group=executtion; run; but could only get the following properties:
How can I find out the server type on which the SP is to be executed?
Note: I want to produce a SAS data set listing all properties of SAS Stored Process, including the above property I mentioned.
Thanks in Advance,
Anjali
Here you go:
%let path_to_my_stp="/some/path/mySTP";
data _null_;
length uri type serveruri $256.;
path="&path_to_my_stp";
if metadata_pathobj("",path,"StoredProcess",type,uri)>0 then
call symputx('uri',uri);
run;
data associations;
keep assoc assocuri name;
length assoc assocuri name $256;
rc1=1;n1=1;
do while(rc1>0);
/* Walk through all possible associations of this object. */
rc1=metadata_getnasl("&uri",n1,assoc);
rc2=1;n2=1;
do while(rc2>0);
/* Walk through all the associations on this machine object. */
rc2=metadata_getnasn("&uri",trim(assoc),n2,assocuri);
if (rc2>0) then do;
rc3=metadata_getattr(assocuri,"Name",name);
output;
end;
call missing(name,assocuri);
put arc= rc2=;
n2+1;
end;
n1+1;
end;
run;
proc sort data=associations;
by assoc name;
run;
data attrprop;
keep type name value;
length type $4 name $256 value $32767;
rc1=1;n1=1;type='Prop';
do while(rc1>0);
rc1=metadata_getnprp("&uri",n1,name,value);
if rc1>0 then output;
n1+1;
end;
rc1=1;n1=1;type='Attr';
do while(rc1>0);
rc1=metadata_getnatr("&uri",n1,name,value);
if rc1>0 then output;
n1+1;
end;
run;
proc sort data=attrprop;
by type name;
run;
By the way - the above code was taken from our free SAS 9 web application for exploring metadata - you can check it out and deploy it yourself, it's the web equivalent of METABROWSE: https://github.com/Boemska/metanav
On the off-chance that you're extracting all these details so you can make your own STP, programmatically - let me save you some time:
https://github.com/sasjs/core/blob/main/meta/mm_createstp.sas
Hello Allan,
Thank you so much for your quick reply.
I executed the provided code, it is giving me all properties except the one I mentioned, which is to see the how a particular stored process is configured to execute on which server - Workspace, SP or default.
Thanks in Advance,
Anjali
I suggest deploying the metanav application to see how to extract this info: https://github.com/Boemska/metanav
You can try running this using PROC HTTP, and then use DATA step code to parse the HTML that is returned:
http://server:port/SASStoredProcess/guest?_debug=list
It provides some of the properties of all stored processes on the system. Execute the URL using a Web browser to see the properties that are returned.
Vince DelGobbo
SAS R&D
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!
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.