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 !!
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.