/** @file mm_getroles.sas @brief Creates a table containing a list of roles @details Usage: %mm_getroles() @param [out] outds= (work.mm_getroles) The dataset to create that contains the list of roles @returns outds dataset containing all roles, with the following columns: - uri - name @warning The following filenames are created and then de-assigned: filename sxlemap clear; filename response clear; libname _XML_ clear; @version 9.3 @author Allan Bowe **/ %macro mm_getroles( outds=work.mm_getroles )/*/STORE SOURCE*/; filename response temp; options noquotelenmax; proc metadata in= '$METAREPOSITORY IdentityGroupSAS388 ' out=response; run; filename sxlemap temp; data _null_; file sxlemap; put ''; put "/GetMetadataObjects/Objects/IdentityGroup"; put ""; put ''; put "/GetMetadataObjects/Objects/IdentityGroup/@Id"; put ""; put "characterstring32"; put ''; put "/GetMetadataObjects/Objects/IdentityGroup/@Name"; put ""; put "characterstring256"; put ''; put "/GetMetadataObjects/Objects/IdentityGroup/@Desc"; put ""; put "characterstring500"; put '
'; run; libname _XML_ xml xmlfileref=response xmlmap=sxlemap; proc sort data= _XML_.roles out=&outds; by rolename; run; filename sxlemap clear; filename response clear; libname _XML_ clear; %mend mm_getroles;