32 %
if &mDebug=1 %then %let mD=;
33 %
else %let mD=%str(*);
34 %&mD.put Executing mm_assignlib.sas;
37 %
if &mAbort=1 %then %let mAbort=;
38 %
else %let mAbort=%str(*);
40 %
if %sysfunc(libref(&libref)) %then %
do;
41 %local mf_abort msg; %let mf_abort=0;
43 length lib_uri LibName $200;
44 call missing(of _all_);
45 nobj=metadata_getnobj(
"omsobj:SASLibrary?@Libref='&libref'",1,lib_uri);
47 rc=metadata_getattr(lib_uri,
"Name",LibName);
49 call symputx(
'LIB',libname,
'L');
51 else if nobj>1 then
do;
52 call symputx(
'mf_abort',1);
53 call symputx(
'msg',
"More than one library with libref=&libref");
56 call symputx(
'mf_abort',1);
57 call symputx(
'msg',
"Library &libref not found in metadata");
60 %mf_abort(iftrue= (&mf_abort=1)
64 libname &libref meta library=
"&lib";
65 %
if %sysfunc(libref(&libref)) %then %
do;
66 %mf_abort(msg=mm_assignlib macro could not assign &libref
67 ,mac=mm_assignlib.sas);
71 %&mD.put NOTE: Library &libref is already assigned;