74%
if %mf_isblank(&root) %then %let root=/;
76%
if %str(&types)=EXPORTABLE %then %
do;
77 data;run;%local tempds; %let tempds=&syslast;
78 %mm_getpublictypes(outds=&tempds)
80 select publictype into: types separated by
' ' from &tempds;
84* use a temporary fileref to hold the response;
85filename response temp;
88 '<GetMetadataObjects><Reposid>$METAREPOSITORY</Reposid>
89 <Type>Tree</Type><Objects/><NS>SAS</NS>
91 <XMLSelect search="*[@TreeType='BIP Folder']"/>
92 <Options/></GetMetadataObjects>'
104filename sxlemap temp;
107 put
'<SXLEMAP version="1.2" name="SASObjects"><TABLE name="SASObjects">';
108 put
"<TABLE-PATH syntax='XPath'>/GetMetadataObjects/Objects/Tree";
110 put
'<COLUMN name="pathuri">';
111 put
"<PATH syntax='XPath'>/GetMetadataObjects/Objects/Tree/@Id</PATH>";
112 put
"<TYPE>character</TYPE><DATATYPE>string</DATATYPE><LENGTH>64</LENGTH>";
113 put
'</COLUMN><COLUMN name="name">';
114 put
"<PATH syntax='XPath'>/GetMetadataObjects/Objects/Tree/@Name</PATH>";
115 put
"<TYPE>character</TYPE><DATATYPE>string</DATATYPE><LENGTH>256</LENGTH>";
116 put
'</COLUMN></TABLE></SXLEMAP>';
118libname _XML_ xml xmlfileref=response xmlmap=sxlemap;
121 length metauri pathuri $64 name $256 path $1024
122 publictype MetadataUpdated MetadataCreated $32;
123 set _XML_.SASObjects;
124 keep metauri name publictype MetadataUpdated MetadataCreated path;
125 length parenturi pname $128 ;
126 call missing(parenturi,pname);
130 do while (metadata_getnasn(tmpuri,
"ParentTree",1,parenturi)>0);
131 rc=metadata_getattr(parenturi,
"Name",pname);
132 path=cats(
'/',pname,path);
138 %
if "&types"=
"ALL" or (
"&types" ne
"ALL" and
"&types" ne
"Folder") %then %
do;
140 do while (metadata_getnasn(pathuri,
"Members",n,metauri)>0);
142 call missing(name,publictype,MetadataUpdated,MetadataCreated);
143 rc=metadata_getattr(metauri,
"Name", name);
144 rc=metadata_getattr(metauri,
"MetadataUpdated", MetadataUpdated);
145 rc=metadata_getattr(metauri,
"MetadataCreated", MetadataCreated);
146 rc=metadata_getattr(metauri,
"PublicType", PublicType);
147 %
if "&types" ne
"ALL" %then %
do;
148 if publictype in (%mf_getquotedstr(&types)) then output;
154 rc=metadata_resolve(pathuri,pname,tmpuri);
155 metauri=cats(
'OMSOBJ:',pname,
'\',pathuri);
156 rc=metadata_getattr(metauri,
"Name", name);
157 rc=metadata_getattr(pathuri,
"MetadataUpdated", MetadataUpdated);
158 rc=metadata_getattr(pathuri,
"MetadataCreated", MetadataCreated);
159 rc=metadata_getattr(pathuri,
"PublicType", PublicType);
160 path=substr(path,1,length(path)-length(name)-1);
161 if publictype ne
'' then output;
169filename sxlemap clear;
170filename response clear;