34 ,outds=work.mm_gettables
40 length uri serveruri conn_uri domainuri libname ServerContext AuthDomain
41 path_schema usingpkguri type tableuri $256
id $17
42 libdesc $200 libref engine $8 IsDBMSLibname IsPreassigned $1
45 keep libname libdesc libref engine ServerContext path_schema AuthDomain
46 tableuri tablename IsPreassigned IsDBMSLibname id;
47 call missing (of _all_);
50 rc= metadata_getattr(uri,
"Name", libname);
52 put
'The library is not defined in this metadata repository.';
55 rc= metadata_getattr(uri,
"Desc", libdesc);
56 rc= metadata_getattr(uri,
"Libref", libref);
57 rc= metadata_getattr(uri,
"Engine", engine);
58 rc= metadata_getattr(uri,
"IsDBMSLibname", IsDBMSLibname);
59 rc= metadata_getattr(uri,
"IsPreassigned", IsPreassigned);
60 rc= metadata_getattr(uri,
"Id", Id);
63 rc= metadata_getnasn(uri,
"DeployedComponents", 1, serveruri);
64 if rc > 0 then rc2= metadata_getattr(serveruri,
"Name", ServerContext);
65 else ServerContext=
'';
69 if IsDBMSLibname=
"1" and
"&getauth"=
'YES' then
do;
70 rc= metadata_getnasn(uri,
"LibraryConnection", 1, conn_uri);
72 rc2= metadata_getnasn(conn_uri,
"Domain", 1, domainuri);
73 if rc2>0 then rc3= metadata_getattr(domainuri,
"Name", AuthDomain);
78 rc=metadata_getnasn(uri,
"UsingPackages", 1, usingpkguri);
80 rc=metadata_resolve(usingpkguri,type,
id);
81 if type=
'Directory' then
82 rc=metadata_getattr(usingpkguri,
"DirectoryName", path_schema);
83 else if type=
'DatabaseSchema' then
84 rc=metadata_getattr(usingpkguri,
"Name", path_schema);
85 else path_schema=
"unknown";
90 if type=
'DatabaseSchema' then
do;
92 ntab=metadata_getnasn(usingpkguri,
"Tables", t, tableuri);
93 if ntab>0 then
do t=1 to ntab;
96 ntab=metadata_getnasn(usingpkguri,
"Tables", t, tableuri);
97 tabrc= metadata_getattr(tableuri,
"Name", tablename);
100 else put
'Library ' libname
' has no tables registered';
102 else if type in (
'Directory',
'SASLibrary') then do;
104 ntab=metadata_getnasn(uri, "Tables", t, tableuri);
105 if ntab>0 then do t=1 to ntab;
108 ntab=metadata_getnasn(uri, "Tables", t, tableuri);
109 tabrc= metadata_getattr(tableuri, "Name", tablename);
112 else put 'Library ' libname ' has no tables registered';
117by tablename tableuri;