Oddly, Patrick's solution didn't work for me. Here's what *did* work: %MACRO Fix_Table_Encoding(SrcTbl, Test=Y);
proc contents data = &SrcTbl; run;
%IF &Test = Y %THEN %GOTO AllDone;
proc sql;
CREATE TABLE Temp AS SELECT * FROM &SrcTbl;
DROP TABLE &SrcTbl;
CREATE TABLE &SrcTbl AS SELECT * FROM Temp;
quit;
proc contents data = &SrcTbl; run;
%AllDone:
%MEND Fix_Table_Encoding;
%MACRO FixHelpers;
%LOCAL Tables TblCount tnx TblName;
%LET Tables=;
LIBNAME HLP META LIBRARY = "IE Reporting Helpers HELPERS" metaout = data;
proc sql;
SELECT
cats('HLP', '.', MEMNAME)
INTO : Tables separated by '|'
FROM SASHELP.VSTABLE
WHERE LIBNAME = 'HLP'
;
quit;
%LET TblCount = %sysfunc(countw(&Tables, |));
%DO tnx = 1 %TO &TblCount;
%LET TblName = %scan(&Tables, &tnx, |);
%PUT Working table &TblName;
%Fix_Table_Encoding(&TblName, Test=N);
%END;
LIBNAME HLP CLEAR;
%MEND FixHelpers;
%FixHelpers;
... View more