Hi all
I've got a problem with following simple program:
------------------------------------------------------------------------------------------------------------
%macro convertToWhere(string,from,to);
%let return=%str();
%do i=1 %to %length(&string);
%let character=%quote(%substr(&string,&i,1));
%if("&character" = "&from") %then
%let character = &to;
%let return=&return&character;
%end;
%bquote(')&return%bquote(');
%mend;
%let list=Alfred*Alice*Barbara;
%let where=%convertToWhere(&list,*,' ');
data _null_;
set SASHELP.CLASS;
where NAME in ( &where );
run;
--------------------------------------------------------------------------------------------------------------
Macro variable "where" should return text 'Alfred' 'Alice' 'Barbara' and it actually does! but I have no Idea why I get this error:
Line generated by macro variable "WHERE".
1 'Alfred' 'Alice' 'Barbara'
-
22
-
76
Syntax error while parsing WHERE clause.
When I declere variable where manually
%let where= 'Alfred' 'Alice' 'Barbara';
data step works fine.
So it seems that the problem is in converting macro...have You any idea ??
Thanks for help.
... View more