BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
mgm
Fluorite | Level 6 mgm
Fluorite | Level 6

I'm having trouble calling  3 different macros in a sequence within a data _null_ step. Here is a code snippet :

DATA _NULL_;

SET DATES;

if x = 'A' then call execute ('%runA('||rebal||')');

if x = 'B' then call execute ('%runB('||rebal||')');

if x = 'C' then call execute ('%runC('||rebal||')');

run;

Essentially x is in a sequence 'A','B','C','A','B','C','A','B','C','A','B','C'. Since the execute statement runs at the end of the data step there is no guarantee that the three steps are running in the right sequence.  steps in %runB depend on %runA to complete and steps in %runC depend on %runB to complete... 

 

Let me know ?

 

1 ACCEPTED SOLUTION

Accepted Solutions
FreelanceReinh
Jade | Level 19

Hi @mgm,

 

The late Roland Rashleigh-Berry recommended to mask macro calls in CALL EXECUTE with %NRSTR in order to prevent premature execution: http://www.datasavantconsulting.com/roland/call_exec.html

 

So, you could try if 

if x = 'A' then call execute ('%nrstr(%runA('||rebal||'))');

etc. works better.

View solution in original post

1 REPLY 1
FreelanceReinh
Jade | Level 19

Hi @mgm,

 

The late Roland Rashleigh-Berry recommended to mask macro calls in CALL EXECUTE with %NRSTR in order to prevent premature execution: http://www.datasavantconsulting.com/roland/call_exec.html

 

So, you could try if 

if x = 'A' then call execute ('%nrstr(%runA('||rebal||'))');

etc. works better.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1341 views
  • 1 like
  • 2 in conversation