Desktop productivity for business analysts and programmers

%IF not working

Accepted Solution Solved
Reply
New Contributor
Posts: 2
Accepted Solution

%IF not working

[ Edited ]

Hi,

I've been trying to do the following however the macro that I create with the IF statement fails to work. Can someone tell me what I'm doing wrong:

 

%let type=motor;

%macro test3;

%if &type=motor %then %let type1=car;

%mend;

%test3;

%put &type1.;

 

Thanks


Accepted Solutions
Solution
‎02-10-2016 09:47 AM
Super User
Posts: 5,365

Re: %IF not working

Macro variables don't last forever.  Your new variable TYPE1 is automatically deleted once your macro finishes executing.  You have a couple of ways to change the result.

 

You could define TYPE1 as global, meaning it will last after the macro finishes.  To do that, add this statement:

 

%global type1;

 

You could add it either before running the macro, or inside the macro but before the %IF statement.

 

Alternatively, you could move the %PUT statement inside the macro.

 

Good luck.

View solution in original post


All Replies
Solution
‎02-10-2016 09:47 AM
Super User
Posts: 5,365

Re: %IF not working

Macro variables don't last forever.  Your new variable TYPE1 is automatically deleted once your macro finishes executing.  You have a couple of ways to change the result.

 

You could define TYPE1 as global, meaning it will last after the macro finishes.  To do that, add this statement:

 

%global type1;

 

You could add it either before running the macro, or inside the macro but before the %IF statement.

 

Alternatively, you could move the %PUT statement inside the macro.

 

Good luck.

New Contributor
Posts: 2

Re: %IF not working

Thanks Smiley Happy worked perfectly.

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 278 views
  • 2 likes
  • 2 in conversation