/******************************************************************************************************************/ /* Set the metadata options to match your environment. */ /* Save this program to the your home directory (cd ~ or cd !HOME). Name it GetSoftwareandServerComponents.sas */ /* On Unix systems run the code using a command like the following: */ /* /SASFoundation/9.4/sas ~/GetSoftwareandServerComponents.sas -log ~/GetSoftwareandServerComponents.log */ /* Replace with the actual location SAS is installed on your system. */ /* Retrieve and send the *TWO* XML files created named: GetSoftwareComponents.xml and GetServerComponents.xml */ /* By default they are placed in your home directory (~ or !HOME). */ /* 11/6/2015 - fix missing close on and added sysdate to xml file name */ /* 11/24/2015 - improved GetMetadataObjects to extract more information, including modeled properties */ /* 3/27/2017 - improved extract for Server components to retrieve information more helpful for debugging BRT */ /* 6/29/2017 - added logic to extract port numbers on server objects */ /******************************************************************************************************************/ options metaserver='hostname' metaport=8561 metaprotocol='bridge' metauser='sasadm@saspw' metapass='password' metarepository='Foundation' ; %let mshost=%sysfunc(getoption(METASERVER)) ; %let response=out=response; %macro setf ; %if %index (&SYSSCP, WIN) %then %do ; filename response "%USERPROFILE%\GetSoftwareComponents_&mshost._&syssite._&sysdate9..xml"; filename server "%USERPROFILE%\GetServerComponents_&mshost._&syssite._&sysdate9..xml"; %end; %else %do; filename response "$HOME/GetSoftwareComponents_&mshost._&syssite._&sysdate9..xml"; filename server "$HOME/GetServerComponents_&mshost._&syssite._&sysdate9..xml"; %end; %mend ; %setf ; filename request temp; data _null_; file request; input; *_infile_ = resolve(_infile_); put _infile_ ' '; cards4; $METAREPOSITORY SoftwareComponent SAS 2453 ;;;; run; proc metadata in=request verbose &response; run; %let server=out=server; filename request temp; data _null_; file request; input; *_infile_ = resolve(_infile_); put _infile_ ' '; cards4; $METAREPOSITORY ServerComponent SAS 2453 ;;;; run; proc metadata in=request verbose &server; run;