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 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 3917 views
  • 4 likes
  • 3 in conversation