32 ,outds=work.mm_gettables
38 length uri serveruri conn_uri domainuri libname ServerContext AuthDomain
39 path_schema usingpkguri type tableuri $256
id $17
40 libdesc $200 libref engine $8 IsDBMSLibname $1
43 keep libname libdesc libref engine ServerContext path_schema AuthDomain tableuri
44 tablename IsPreassigned IsDBMSLibname id;
45 call missing (of _all_);
48 rc= metadata_getattr(uri,
"Name", libname);
50 put
'The library is not defined in this metadata repository.';
53 rc= metadata_getattr(uri,
"Desc", libdesc);
54 rc= metadata_getattr(uri,
"Libref", libref);
55 rc= metadata_getattr(uri,
"Engine", engine);
56 rc= metadata_getattr(uri,
"IsDBMSLibname", IsDBMSLibname);
57 rc= metadata_getattr(uri,
"IsPreassigned", IsPreassigned);
58 rc= metadata_getattr(uri,
"Id", Id);
61 rc= metadata_getnasn(uri,
"DeployedComponents", 1, serveruri);
62 if rc > 0 then rc2= metadata_getattr(serveruri,
"Name", ServerContext);
63 else ServerContext=
'';
67 if IsDBMSLibname=
"1" and
"&getauth"=
'YES' then
do;
68 rc= metadata_getnasn(uri,
"LibraryConnection", 1, conn_uri);
70 rc2= metadata_getnasn(conn_uri,
"Domain", 1, domainuri);
71 if rc2>0 then rc3= metadata_getattr(domainuri,
"Name", AuthDomain);
76 rc=metadata_getnasn(uri,
"UsingPackages", 1, usingpkguri);
78 rc=metadata_resolve(usingpkguri,type,
id);
79 if type=
'Directory' then
80 rc=metadata_getattr(usingpkguri,
"DirectoryName", path_schema);
81 else if type=
'DatabaseSchema' then
82 rc=metadata_getattr(usingpkguri,
"Name", path_schema);
83 else path_schema=
"unknown";
88 if type=
'DatabaseSchema' then
do;
90 ntab=metadata_getnasn(usingpkguri,
"Tables", t, tableuri);
91 if ntab>0 then
do t=1 to ntab;
94 ntab=metadata_getnasn(usingpkguri,
"Tables", t, tableuri);
95 tabrc= metadata_getattr(tableuri,
"Name", tablename);
98 else put
'Library ' libname
' has no tables registered';
100 else if type in (
'Directory',
'SASLibrary') then do;
102 ntab=metadata_getnasn(uri, "Tables", t, tableuri);
103 if ntab>0 then do t=1 to ntab;
106 ntab=metadata_getnasn(uri, "Tables", t, tableuri);
107 tabrc= metadata_getattr(tableuri, "Name", tablename);
110 else put 'Library ' libname ' has no tables registered';
115 by tablename tableuri;