DATA Step, Macro, Functions and more

Passing text with "D and & in macro

Occasional Contributor
Posts: 9

Passing text with "D and & in macro

Hello all,

     I have made one link format and applied it to one variable. Now i want to pass this variable in macro.

The value of variable is as follows:


The value of Path_name is :

<a href='javascript:goToObject("Director?_directive=GRC_FinancialImpact&handle=10314|")'> 10314</a>

I want to pass it in macro variable. I tried %str and %nrstr but still it is giving error. Any solution??



Not applicable
Posts: 1

Re: Passing text with "D and & in macro

Posted in reply to rakshit_shah

I believe %SUPERQ will mask the & and " allowing you to pass the string through without attempting to resolve the & reference. To use %Superquote the path will be stored in a macro variable then referenced.

data _null_;

call symput('mv1','Smith&Jones');

call symput('mv2','%macro abc;');

run; %let testmv1=%superq(mv1);

%let testmv2=%superq(mv2);

%put Macro variable TESTMV1 is &testmv1;

%put Macro variable TESTMV2 is &testmv2;

When this program executes, these lines are written to the SAS log:

Macro variable TESTMV1 is Smith&Jones

Macro variable TESTMV2 is %macro abc;

Super User
Posts: 10,761

Re: Passing text with "D and & in macro

Posted in reply to rakshit_shah

In your path_name, there are several unmatched single or double quote , you should put % before it to avoid error message.

%let path=%nrstr(<a href=%'javascript:goToObject(%"Director?_directive=GRC_FinancialImpact&handle=10314|%")%'> 10314</a>) ;

%put &path;


Ask a Question
Discussion stats
  • 2 replies
  • 3 in conversation