here is how I would do it: This code would get a list of all Tables in the Data dictionary that start with "S": NOTE: a LIST of Char variables should be quoted; a numeric list would not. proc sql noprint; select distinct quote(trim(memname)) into :tblList separated by "," from sashelp.vtable where memname like "S%: and libname eq 'MAPS'; quit; %put &tblList; run; ... and this is the log for the PUT statement: (always a great idea to display incrementally what is be created, so put to the log liberally). "SALVADO2","SALVADOR","SAMERIC2","SAMERICA","SANMARI2","SANMARIN","SAUDIAR2","SAUDIARA","SERBIA" ,"SERBIA2","SINGAPO2","SINGAPOR","SLOVAKI2","SLOVAKIA","SLOVENI2","SLOVENIA","SPACIFIC","SPAIN", "SPAIN2","SRILANK2","SRILANKA","STATES","SURINAM2","SURINAME","SWEDEN","SWEDEN2","SWITZER2","SWITZERL","SYRIA","SYRIA2" then, you can use it successfully as a FILTER in another PROC SQL step (or within the same PROC SQL and the next SELECT statement...) where n1.name IN ( &TBLLIST and n1.libname IN ( &NEXTLIST ); NOTE: it's already quoted, so you do not need to quote the whole list again.
... View more