Modifying a macro. Error: The %DO statement is not valid in open code

Accepted Solution Solved
Reply
N/A
Posts: 1
Accepted Solution

Modifying a macro. Error: The %DO statement is not valid in open code

I am trying to modify a macro (http://www.agreestat.com/software/AgreeStat_2SAS.sas) by adding a DO LOOP but am getting an error: The %DO statement is not valid in open code. Really not sure why ..

%macro acboot;

%do M=1 %to &REPS;

data boot_input;

set &bootdata;

where replicate=&M;

run;

%let inputfile=boot_input;

<Macro Code>

<Macro Code>

<Macro Code>

%end;

%mend acboot;

Firstly, I get an error when I compile the macro (There is no matching %DO statement for the %END. This statement will be ignored). This is for the %end inserted right at the end of the code.

And then I get the %DO statement error when I run the macro.


Accepted Solutions
Solution
‎07-23-2015 02:47 PM
Super User
Super User
Posts: 6,844

Re: Modifying a macro. Error: The %DO statement is not valid in open code

That error is usually a side effect of missing semi-colons, unbalanced quotes or unbalanced comments or other problems that result in SAS not seeing the %MACRO statement.

Start over with a fresh SAS session.

View solution in original post


All Replies
Solution
‎07-23-2015 02:47 PM
Super User
Super User
Posts: 6,844

Re: Modifying a macro. Error: The %DO statement is not valid in open code

That error is usually a side effect of missing semi-colons, unbalanced quotes or unbalanced comments or other problems that result in SAS not seeing the %MACRO statement.

Start over with a fresh SAS session.

🔒 This topic is solved and locked.

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

Discussion stats
  • 1 reply
  • 822 views
  • 0 likes
  • 2 in conversation