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
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.