I have already read these documents ..when you replied back i was qick to copy open code in macro and it gave error - however i realized it was giving error because I forgot to put semi-colons in %str i.e.
%macro temp;
%let line=%nrbquote(a%str(;)b%str(;)c);
%let line_length=%length(%sysfunc(tranwrd(&line,%str(a),%str(k))));
%mend temp;
%temp;
Now it will not give error.
however I expect an error because %sysfunc(.. will unquote result whiich actually containts semi colon. if you replace
%let line_length=%length(%sysfunc(tranwrd(&line,%str(a),%str(k))));
by %let line_length=%sysfunc(tranwrd(&line,%str(a),%str(k)));
it will give error because unquoting is occuring.
So I am not clear what does %length do so that there is no error?
... View more