in macro quoting
%let a=%str(data new; x=1; run;); ok
but in single quotes they mention as
%let b=%str(john%'s reporting);
for semicolon it is the commonly mentions as %str(text)
but in single quotes they mention as especially % infront of single quote.
why its wrong,
%let b= %str(john's reporting);