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;