Dear SASian ,
I am getting below error note while executing my sample macro . It seems everything is ok with the code and syntax , no error on it.
Can any one help me out what's the issue here..??
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommended.
/*sample*/
data A;
ename = 'Arun';
eage = '34';
run;
%macro Employee(name,age);
proc print data= A;
var &name &age;
run;
%mend Employee;
%Employee(ename,eage)
You code runs perfectly fine from EG, see this log:
1 Das SAS System 07:33 Thursday, April 25, 2019 1 ;*';*";*/;quit;run; 2 OPTIONS PAGENO=MIN; 3 %LET _CLIENTTASKLABEL='Program'; 4 %LET _CLIENTPROCESSFLOWNAME='Process Flow'; 5 %LET _CLIENTPROJECTPATH=''; 6 %LET _CLIENTPROJECTPATHHOST=''; 7 %LET _CLIENTPROJECTNAME=''; 8 %LET _SASPROGRAMFILE=''; 9 %LET _SASPROGRAMFILEHOST=''; 10 11 ODS _ALL_ CLOSE; 12 OPTIONS DEV=ACTIVEX; 13 GOPTIONS XPIXELS=0 YPIXELS=0; 14 ODS LISTING GPATH=&sasworklocation; 15 FILENAME EGSR TEMP; 16 ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR 17 STYLE=Default 18 STYLESHEET=(URL="file:///C:/Program%20Files%20(x86)/SASHome/x86/SASEnterpriseGuide/7.1/Styles/Default.css") 19 NOGTITLE 20 NOGFOOTNOTE 21 GPATH=&sasworklocation 22 ENCODING=UTF8 23 options(rolap="on") 24 ; NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR 25 26 GOPTIONS ACCESSIBLE; 27 data A; 28 ename = 'Arun'; 29 eage = '34'; 30 run; NOTE: The data set WORK.A has 1 observations and 2 variables. NOTE: DATA statement used (Total process time): real time 0.02 seconds cpu time 0.00 seconds 31 32 %macro Employee(name,age); 33 proc print data= A; 34 var &name &age; 35 run; 36 %mend Employee; 37 38 %Employee(ename,eage) NOTE: There were 1 observations read from the data set WORK.A. NOTE: The PROCEDURE PRINT printed page 1. NOTE: PROZEDUR PRINT used (Total process time): real time 0.05 seconds cpu time 0.01 seconds 39 40 GOPTIONS NOACCESSIBLE; 41 %LET _CLIENTTASKLABEL=; 42 %LET _CLIENTPROCESSFLOWNAME=; 2 Das SAS System 07:33 Thursday, April 25, 2019 43 %LET _CLIENTPROJECTPATH=; 44 %LET _CLIENTPROJECTPATHHOST=; 45 %LET _CLIENTPROJECTNAME=; 46 %LET _SASPROGRAMFILE=; 47 %LET _SASPROGRAMFILEHOST=; 48 49 ;*';*";*/;quit;run; 50 ODS _ALL_ CLOSE; 51 52 53 QUIT; RUN; 54
So your problem comes from another piece of code. Inspect the code you executed before this.
Please post the complete log in the windows opened by clicking on the {i}-button. Activate the options mprint and symbolgen before you re-run the code. I can't see any error, but it's still really early in the morning and i had no coffee.
1 The SAS System Wednesday 24 April 2019 10:49:00 AM
1 ;*';*";*/;quit;run;
2 OPTIONS PAGENO=MIN;
3 %LET _CLIENTTASKLABEL='Program';
4 %LET _CLIENTPROCESSFLOWNAME='Process Flow';
5 %LET _CLIENTPROJECTPATH='';
6 %LET _CLIENTPROJECTPATHHOST='';
7 %LET _CLIENTPROJECTNAME='';
8 %LET _SASPROGRAMFILE='';
9 %LET _SASPROGRAMFILEHOST='';
10
11 ODS _ALL_ CLOSE;
12 OPTIONS DEV=ACTIVEX;
_________________________________
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommended.
13 GOPTIONS XPIXELS=0 YPIXELS=0;
14 FILENAME EGSR TEMP;
15 ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR
16 STYLE=HtmlBlue
17 STYLESHEET=(URL="file:///C:/ProgramData/App-V/3D1E589E-1601-4421-83FE-6B20398E0657/70D64657-CB4B-47F5-8882-A3E87EAB88
17 ! DD/Root/VFS/ProgramFilesX86/SASHome/x86/SASEnterpriseGuide/7.1/Styles/HtmlBlue.css")
17 STYLESHEET=(URL="file:///C:/ProgramData/App-V/3D1E589E-1601-4421-83FE-6B20398E0657/70D64657-CB4B-47F5-8882-A3E87EAB88
17 ! DD/Root/VFS/ProgramFilesX86/SASHome/x86/SASEnterpriseGuide/7.1/Styles/HtmlBlue.css"
_
49
17 ! )
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommended.
18 NOGTITLE
19 NOGFOOTNOTE
20 GPATH=&sasworklocation
21 ENCODING=UTF8
22 options(rolap="on")
23 ;
24
25 GOPTIONS ACCESSIBLE;
26 data A;
27 ename = 'Arun';
28 eage = '34';
29 run;
30
31 %macro Employee(name=,age=);
32 proc print data= A;
33 var &name &age;
34 run;
35 %mend Employee;
36
37 %Employee(name=ename,age=eage);
38
39 GOPTIONS NOACCESSIBLE;
40 %LET _CLIENTTASKLABEL=;
41 %LET _CLIENTPROCESSFLOWNAME=;
42 %LET _CLIENTPROJECTPATH=;
43 %LET _CLIENTPROJECTPATHHOST=;
2 The SAS System Wednesday 24 April 2019 10:49:00 AM
44 %LET _CLIENTPROJECTNAME=;
45 %LET _SASPROGRAMFILE=;
46 %LET _SASPROGRAMFILEHOST=;
47
48 ;*';*";*/;quit;run;
49 ODS _ALL_ CLOSE;
50
51
52 QUIT; RUN;
53
note : working fine with sas studio, problem is with my sas eg !!!
hope you can solve it after your coffee 🙂
You have something unbalanced (parentheses, quotes, unfinished statement) upstream in the code.
Close your SAS session and run all your code piece by piece in a new one, until the effect starts. Then inspect the immediately preceding code for the mistake.
It's totally wierd , after restarting the EG , it works fine !!!!!!!!!!!!!!! Thnx
If you can, you need to go back through the code(s) you sent before; the problem is somewhere in there.
It can be that you marked part of the code and used "Run Selection", and missed to mark a closing bracket or similar. In conjunction with macro triggers this might cause the "magic cleanup":
;*';*";*/;quit;run;
to not do its job successfully.
great. thnx
You code runs perfectly fine from EG, see this log:
1 Das SAS System 07:33 Thursday, April 25, 2019 1 ;*';*";*/;quit;run; 2 OPTIONS PAGENO=MIN; 3 %LET _CLIENTTASKLABEL='Program'; 4 %LET _CLIENTPROCESSFLOWNAME='Process Flow'; 5 %LET _CLIENTPROJECTPATH=''; 6 %LET _CLIENTPROJECTPATHHOST=''; 7 %LET _CLIENTPROJECTNAME=''; 8 %LET _SASPROGRAMFILE=''; 9 %LET _SASPROGRAMFILEHOST=''; 10 11 ODS _ALL_ CLOSE; 12 OPTIONS DEV=ACTIVEX; 13 GOPTIONS XPIXELS=0 YPIXELS=0; 14 ODS LISTING GPATH=&sasworklocation; 15 FILENAME EGSR TEMP; 16 ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR 17 STYLE=Default 18 STYLESHEET=(URL="file:///C:/Program%20Files%20(x86)/SASHome/x86/SASEnterpriseGuide/7.1/Styles/Default.css") 19 NOGTITLE 20 NOGFOOTNOTE 21 GPATH=&sasworklocation 22 ENCODING=UTF8 23 options(rolap="on") 24 ; NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR 25 26 GOPTIONS ACCESSIBLE; 27 data A; 28 ename = 'Arun'; 29 eage = '34'; 30 run; NOTE: The data set WORK.A has 1 observations and 2 variables. NOTE: DATA statement used (Total process time): real time 0.02 seconds cpu time 0.00 seconds 31 32 %macro Employee(name,age); 33 proc print data= A; 34 var &name &age; 35 run; 36 %mend Employee; 37 38 %Employee(ename,eage) NOTE: There were 1 observations read from the data set WORK.A. NOTE: The PROCEDURE PRINT printed page 1. NOTE: PROZEDUR PRINT used (Total process time): real time 0.05 seconds cpu time 0.01 seconds 39 40 GOPTIONS NOACCESSIBLE; 41 %LET _CLIENTTASKLABEL=; 42 %LET _CLIENTPROCESSFLOWNAME=; 2 Das SAS System 07:33 Thursday, April 25, 2019 43 %LET _CLIENTPROJECTPATH=; 44 %LET _CLIENTPROJECTPATHHOST=; 45 %LET _CLIENTPROJECTNAME=; 46 %LET _SASPROGRAMFILE=; 47 %LET _SASPROGRAMFILEHOST=; 48 49 ;*';*";*/;quit;run; 50 ODS _ALL_ CLOSE; 51 52 53 QUIT; RUN; 54
So your problem comes from another piece of code. Inspect the code you executed before this.
you are right , previous piece of code had run; instead of quit; for proc sql. but it's strange why it affects this piece of code even though it ran independetly !!
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.
Ready to level-up your skills? Choose your own adventure.