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 !!
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.