Thanks for your response KSharp. I'm not sure if I followed tho. I thought the %str masks the value before it is resolved and it won't mask the resolved value. That's why we needed the bquote. Below is an example that I read from another Sesug article: %Let A = X,X ; %Let B = Y%Str(&A)Y ; %Put %Substr( %str(&B) , 4 , 1 ); In the third line, I'm masking &B with the %str function and it gives me error message: 56 %Let A = X,X ; 57 %Let B = Y%Str(&A)Y ; 58 %Put %Substr( %str(&B) , 4 , 1 ); ERROR: Macro function %SUBSTR has too many arguments. I'm assuming this is because %str doesn't mask the resolved value which is YX,XY. The extra comma makes it an error in the %substr function. Now, if I switch it to bquote which I believe masks the resolved value, it works: %Let A = X,X ;
%Let B = Y%Str(&A)Y ;
%Put %Substr( %bquote(&B) , 4 , 1 ); Can I assume the %str doesn't mask the resolved value? If yes, the previous example: %str(&var) shouldn't work because it doesn't mask the resolved value EQ. Can someone clarify on this? I'm confused...
... View more