DATA Step, Macro, Functions and more

Question on updating a existing macro variable macro using proc SQL

Accepted Solution Solved
Reply
Contributor
Posts: 31
Accepted Solution

Question on updating a existing macro variable macro using proc SQL

Hi ,

I have an issue with a macro variable.  When i run it for first time, it runs fine ... in the 2nd run when i change the input year, it still retains the value from previous run. although i do see taht the correct row is fetched (since I have not mentioned noprint its displaying the result.)   but the log shows the macro is still retaining a year from the prev run..

PROC SQL ;
SELECT TRIM(MAX(NAME)) into :Max_date
FROM DICTIONARY.COLUMNS
WHERE LIBNAME='WORK' AND MEMNAME = 'ADDT_LOOKUP'
AND substr(NAME,1,5) = "D&YEAR.";
QUIT;

Accepted Solutions
Solution
‎04-02-2014 12:13 PM
Contributor
Posts: 31

Re: Question on updating a existing macro variable macro using proc SQL

Hi Reeza,

Thank you for your response.   I have found the reason.

Earlier i was using the call execute which was causing this issue.

DATA _NULL_ ;

       Set MSAFrmt.regions_list ;

       call execute('%FETCH_RECORDS('||Orgnm||")");

Run;


Now instead of using the sas data step if i directly call the macro   %FETCH_RECORDS(co)  it does not give this issue.


Thanks again.

Smiley Happy

View solution in original post


All Replies
Contributor
Posts: 31

Re: Question on updating a existing macro variable macro using proc SQL

I have tried using  %symdel and then recreate it but it does not work  Smiley Sad

Super User
Posts: 17,868

Re: Question on updating a existing macro variable macro using proc SQL

Post your full log with the %put statements between each call.

Use option mprint and symbolgen to see what is occurring.

Solution
‎04-02-2014 12:13 PM
Contributor
Posts: 31

Re: Question on updating a existing macro variable macro using proc SQL

Hi Reeza,

Thank you for your response.   I have found the reason.

Earlier i was using the call execute which was causing this issue.

DATA _NULL_ ;

       Set MSAFrmt.regions_list ;

       call execute('%FETCH_RECORDS('||Orgnm||")");

Run;


Now instead of using the sas data step if i directly call the macro   %FETCH_RECORDS(co)  it does not give this issue.


Thanks again.

Smiley Happy

☑ This topic is SOLVED.

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

Discussion stats
  • 3 replies
  • 213 views
  • 0 likes
  • 2 in conversation