BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
arunrami
Pyrite | Level 9

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)
1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

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.

 

View solution in original post

8 REPLIES 8
andreas_lds
Jade | Level 19

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.

arunrami
Pyrite | Level 9
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 🙂

 

 

Kurt_Bremser
Super User

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.

arunrami
Pyrite | Level 9

It's totally wierd , after restarting the EG , it works fine !!!!!!!!!!!!!!! Thnx

Kurt_Bremser
Super User

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.

arunrami
Pyrite | Level 9

great. thnx

Kurt_Bremser
Super User

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.

 

arunrami
Pyrite | Level 9

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-wordmark-2025-midnight.png

Register Today!

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.


Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 8 replies
  • 4153 views
  • 4 likes
  • 3 in conversation