<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to retrieve library names  from EBI platform in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187754#M14397</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We manage an EBI platform including 6 app servers and supporting more than 100 SAS users. As of right now we have more than 300 libraries and counting. Some of them are built and managed directly by Admin team, the rest are built by users but managed by Admin team. The way we update those libraries is to run Proc Metalib in EG:&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt; &lt;STRONG style="color: navy; background: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; background: white; font-family: 'Courier New';"&gt;metalib&lt;/STRONG&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; omr(library=”library names could be any string”);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update_rule=(delete);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; report;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="color: navy; background: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;Here is screen shot of sample libraries:&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; &lt;IMG alt="metalibrary.PNG" class="jive-image" src="https://communities.sas.com/legacyfs/online/4700_metalibrary.PNG" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now my question: is there a way or place I can pull up all those library names (or repository id for that matter) programmatically? So that this part :&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;library=”library names could be any string” &lt;/SPAN&gt;&lt;SPAN style="color: black; background: white;"&gt;can be Macro-variable-nized and Macro automation could be implemented. Right now we have to manually input those library names one for each Proc Metalib, and it is getting more and more difficult&amp;nbsp; to keep up. I am aware that there is a table named “wlibrary” located at metadata server, “C:\SAS\Config\Lev1\SASMeta\MetadataServer\MetadataRepositories\Foundation&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;”, &lt;/SPAN&gt;&lt;SPAN style="color: black; background: white;"&gt;However, I know better not to mess around it (you need to stop metadata server or unlock it before you can access to those tables).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; background: white;"&gt;Any suggestions and comments would be highly appreciated!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; background: white;"&gt;Haikuo&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 Jan 2014 16:06:31 GMT</pubDate>
    <dc:creator>Haikuo</dc:creator>
    <dc:date>2014-01-03T16:06:31Z</dc:date>
    <item>
      <title>How to retrieve library names  from EBI platform</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187754#M14397</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We manage an EBI platform including 6 app servers and supporting more than 100 SAS users. As of right now we have more than 300 libraries and counting. Some of them are built and managed directly by Admin team, the rest are built by users but managed by Admin team. The way we update those libraries is to run Proc Metalib in EG:&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt; &lt;STRONG style="color: navy; background: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; background: white; font-family: 'Courier New';"&gt;metalib&lt;/STRONG&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; omr(library=”library names could be any string”);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update_rule=(delete);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; report;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="color: navy; background: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;Here is screen shot of sample libraries:&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; &lt;IMG alt="metalibrary.PNG" class="jive-image" src="https://communities.sas.com/legacyfs/online/4700_metalibrary.PNG" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now my question: is there a way or place I can pull up all those library names (or repository id for that matter) programmatically? So that this part :&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;library=”library names could be any string” &lt;/SPAN&gt;&lt;SPAN style="color: black; background: white;"&gt;can be Macro-variable-nized and Macro automation could be implemented. Right now we have to manually input those library names one for each Proc Metalib, and it is getting more and more difficult&amp;nbsp; to keep up. I am aware that there is a table named “wlibrary” located at metadata server, “C:\SAS\Config\Lev1\SASMeta\MetadataServer\MetadataRepositories\Foundation&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;”, &lt;/SPAN&gt;&lt;SPAN style="color: black; background: white;"&gt;However, I know better not to mess around it (you need to stop metadata server or unlock it before you can access to those tables).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; background: white;"&gt;Any suggestions and comments would be highly appreciated!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; background: white;"&gt;Haikuo&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2014 16:06:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187754#M14397</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2014-01-03T16:06:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve library names  from EBI platform</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187755#M14398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Wow! Interesting question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you find the answer, please post, as I'd love to see it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try shooting a reference to this off to the Metacoda gang...they know this stuff inside out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll send it off to a friend who's really good with this stuff also.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck!&lt;/P&gt;&lt;P&gt;&amp;nbsp; Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2014 16:38:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187755#M14398</guid>
      <dc:creator>TomKari</dc:creator>
      <dc:date>2014-01-03T16:38:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve library names  from EBI platform</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187756#M14399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, Tom! That is the spirit I like.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2014 16:52:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187756#M14399</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2014-01-03T16:52:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve library names  from EBI platform</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187757#M14400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;is it as simple as&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;select * from sashelp.vslib;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2014 17:28:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187757#M14400</guid>
      <dc:creator>DBailey</dc:creator>
      <dc:date>2014-01-03T17:28:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve library names  from EBI platform</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187758#M14401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, David. I sure wish it were that simple &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;. &lt;/P&gt;&lt;P&gt;There are some issues remained running your code:&lt;/P&gt;&lt;P&gt;1. Only gets "Assigned" libraries.&lt;/P&gt;&lt;P&gt;2. Only gets Librefs(8 char), not library names per EBI system&lt;/P&gt;&lt;P&gt;3. Only gets those Librefs assigned to certain App servers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If we have assigned all the libraries first (put aside performance overhead on the servers), then we would have already known the library names.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2014 17:40:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187758#M14401</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2014-01-03T17:40:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve library names  from EBI platform</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187759#M14402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;works for our instance:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="1116"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="287"&gt;name&lt;/TD&gt;&lt;TD width="78"&gt;libref&lt;/TD&gt;&lt;TD width="55"&gt;engine&lt;/TD&gt;&lt;TD width="393"&gt;path&lt;/TD&gt;&lt;TD width="173"&gt;mdschemaname&lt;/TD&gt;&lt;TD width="130"&gt;schema&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;MDMUP07&lt;/TD&gt;&lt;TD class="xl63"&gt;MDMUP07&lt;/TD&gt;&lt;TD class="xl63"&gt;ORACLE&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;MDMUP07&lt;/TD&gt;&lt;TD class="xl63"&gt;MDM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;RevLib3&lt;/TD&gt;&lt;TD class="xl63"&gt;REVLIB3&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/RevLib3&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;StarLMK&lt;/TD&gt;&lt;TD class="xl63"&gt;STARLMK&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/StarLMK&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;Cubelib&lt;/TD&gt;&lt;TD class="xl63"&gt;CUBELIB&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/Biju/Cubelib&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;ChnGrw&lt;/TD&gt;&lt;TD class="xl63"&gt;CHNGRW&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/ChnGrw&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;RRRLib&lt;/TD&gt;&lt;TD class="xl63"&gt;RRRLIB&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/RRRLib&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;TMDM&lt;/TD&gt;&lt;TD class="xl63"&gt;TMDM&lt;/TD&gt;&lt;TD class="xl63"&gt;ORACLE&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;TMDM&lt;/TD&gt;&lt;TD class="xl63"&gt;MDM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;RevLib2&lt;/TD&gt;&lt;TD class="xl63"&gt;REVLIB2&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/RevLib2&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;SASApp1 - SASDATA&lt;/TD&gt;&lt;TD class="xl63"&gt;SASDATA&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;Data&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;RCLIB&lt;/TD&gt;&lt;TD class="xl63"&gt;RCLIB&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/Rachel&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;CardAso&lt;/TD&gt;&lt;TD class="xl63"&gt;CARDASO&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/CardAso&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;RevLib&lt;/TD&gt;&lt;TD class="xl63"&gt;REVLIB&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/RevLib&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;CCLIB&lt;/TD&gt;&lt;TD class="xl63"&gt;CCLIB&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/CCLib&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;VCCLib&lt;/TD&gt;&lt;TD class="xl63"&gt;VCCLIB&lt;/TD&gt;&lt;TD class="xl63"&gt;BASE&lt;/TD&gt;&lt;TD class="xl63"&gt;//sasuser/MichaelC/MCLib/VCCLib&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;CORP_RPT&lt;/TD&gt;&lt;TD class="xl63"&gt;CORP_RPT&lt;/TD&gt;&lt;TD class="xl63"&gt;SQLSVR&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;CORP_RPT&lt;/TD&gt;&lt;TD class="xl63"&gt;DBO&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;scraped from sas support:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;options metaserver="metadataserver"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; metaport=8561&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; metauser="admin user"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; metapass="admin pw"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; metarepository="Foundation";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data metadata_libraries;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; length&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; liburi upasnuri $256&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name $128&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type id $17&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libref engine $8&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; path mdschemaname schema $256;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; keep&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libref&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; engine&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; path&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mdschemaname&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; schema;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call missing(liburi,upasnuri,name,engine,libref);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; nlibobj=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; librc=metadata_getnobj("omsobj:SASLibrary?@Id contains '.'",nlibobj,liburi);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do while (librc&amp;gt;0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Get Library attributes */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc=metadata_getattr(liburi,'Name',name);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc=metadata_getattr(liburi,'Engine',engine);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc=metadata_getattr(liburi,'Libref',libref);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* The METADATA_GETNASN function specifies to get objects associated to the&lt;/P&gt;&lt;P&gt;library via the UsingPackages association. The n argument specifies to return the&lt;/P&gt;&lt;P&gt;first associated object for that association type. upasnuri is an output variable.&lt;/P&gt;&lt;P&gt;It will store the URI of the associated metadata object, if one is found.&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uprc=metadata_getnasn(liburi,'UsingPackages',n,upasnuri);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* When a UsingPackages association is found, the METADATA_RESOLVE function&lt;/P&gt;&lt;P&gt;is called to resolve the URI to an object on the metadata server. The CALL MISSING&lt;/P&gt;&lt;P&gt;routine assigns missing values to output variables.&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if uprc &amp;gt; 0 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(type,id,path,mdschemaname,schema);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc=metadata_resolve(upasnuri,type,id);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* If type='Directory', the METADATA_GETATTR function is used to get its&lt;/P&gt;&lt;P&gt;path and output the record */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if type='Directory' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc=metadata_getattr(upasnuri,'DirectoryName',path);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* If type='DatabaseSchema', the METADATA_GETATTR function is used to get&lt;/P&gt;&lt;P&gt;the name and schema, and output the record */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if type='DatabaseSchema' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc=metadata_getattr(upasnuri,'Name',mdschemaname);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc=metadata_getattr(upasnuri,'SchemaName',schema);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Check to see if there are any more Directory objects */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uprc=metadata_getnasn(liburi,'UsingPackages',n,upasnuri);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end; /* if uprc &amp;gt; 0 */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Look for another library */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nlibobj+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; librc=metadata_getnobj("omsobj:SASLibrary?@Id contains '.'",nlibobj,liburi);&lt;/P&gt;&lt;P&gt;&amp;nbsp; end; /* do while (librc&amp;gt;0) */&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Print the metadata_libraries data set */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=metadata_libraries; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2014 18:52:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187759#M14402</guid>
      <dc:creator>DBailey</dc:creator>
      <dc:date>2014-01-03T18:52:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve library names  from EBI platform</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187760#M14403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nice. I am not very familiar with those metadata functions, but this looks overwhelmingly promising to me. Will report back and mark correct answer after I try it out. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again, David&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2014 19:07:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187760#M14403</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2014-01-03T19:07:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve library names  from EBI platform</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187761#M14404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tom,&lt;/P&gt;&lt;P&gt;here is something back from SAS tech support, in case you are interested:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi Haikuo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have attached a program, get_all_LibrariesAndServerContext.sas, which queries the metadata server for all SASLibrary objects. It returns a SAS data set containing the Library Name and the Server Context(s) to which the library is associated, as well as other data.&lt;/P&gt;&lt;P&gt;You can use this data set as input to a macro to generate PROC METALIB code.&lt;/P&gt;&lt;P&gt;I hope this is helpful. If you have follow-up questions, or need clarification, please respond to this email.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jan 2014 16:31:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-retrieve-library-names-from-EBI-platform/m-p/187761#M14404</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2014-01-06T16:31:10Z</dc:date>
    </item>
  </channel>
</rss>

