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; |
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.
I have tried using %symdel and then recreate it but it does not work
Post your full log with the %put statements between each call.
Use option mprint and symbolgen to see what is occurring.
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.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.