<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS rel in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868367#M42716</link>
    <description>&lt;P&gt;Add spaces before your "at" characters in your program on PUT statements. Example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;put '{ "Name" :"' Name +(-1)'",' @;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 05 Apr 2023 21:50:07 GMT</pubDate>
    <dc:creator>SASKiwi</dc:creator>
    <dc:date>2023-04-05T21:50:07Z</dc:date>
    <item>
      <title>NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS release</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868366#M42715</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I received this notes and I don't know how to solve it.&amp;nbsp; I don't like the red line into the log.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data class;
set sashelp.class;
run;
filename dest1 "/finsys/bicoe/BICOE/CR_SR_Prj/LEGO_2358_Qualtrics/test/json_class.txt";
%macro test;
DATA _NULL_;
    file print PS=32767;
    set class end=lastrec;
    if _N_ eq 1 then do;
        put '{';
    end;
    put '{ "Name" :"' Name +(-1)'",'@;
    put ' "Sex" :"'Sex +(-1)'",'@;
    put ' "Age" :"'Age +(-1)','@;
    put ' "Height" :"'Height +(-1)'",'@;
    put ' "embeddedData" : {'@;
	put '}'@;
    put '"Weight":"'Weight +(-1)'",'@;
    if lastrec eq 1 then do;
        put '}';
    end;
    else do;
        put ',';
    end;
RUN;
%mend test;
%test;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS release. Inserting white space &lt;BR /&gt;between a quoted string and the succeeding identifier is recommended.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How to solve that issue ?&lt;/P&gt;</description>
      <pubDate>Wed, 05 Apr 2023 21:42:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868366#M42715</guid>
      <dc:creator>alepage</dc:creator>
      <dc:date>2023-04-05T21:42:44Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS rel</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868367#M42716</link>
      <description>&lt;P&gt;Add spaces before your "at" characters in your program on PUT statements. Example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;put '{ "Name" :"' Name +(-1)'",' @;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Apr 2023 21:50:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868367#M42716</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2023-04-05T21:50:07Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS rel</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868370#M42717</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Same issue:

data class;
set sashelp.class;
run;
filename dest1 "/finsys/bicoe/BICOE/CR_SR_Prj/LEGO_2358_Qualtrics/test/json_class.txt";
%macro test;
DATA _NULL_;
    file print PS=32767;
    set class end=lastrec;
    if _N_ eq 1 then do;
        put '{';
    end;
    put '{ "Name" :"' Name +(-1)'",';
    put ' "Sex" :"'Sex +(-1)'",';
    put ' "Age" :"'Age +(-1)',' ;
    put ' "Height" :"'Height +(-1)'",' ;
    put ' "embeddedData" : {' ;
	put '}';
    put '"Weight":"'Weight +(-1)'",' ;
    if lastrec eq 1 then do;
        put '}';
    end;
    else do;
        put ',';
    end;
RUN;
%mend test;
%test;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Apr 2023 22:01:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868370#M42717</guid>
      <dc:creator>alepage</dc:creator>
      <dc:date>2023-04-05T22:01:17Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS rel</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868372#M42718</link>
      <description>&lt;P&gt;I believe we have suggested a time or two to post the LOG when you have questions that involve the content of the log.&lt;/P&gt;
&lt;P&gt;Like this:&lt;/P&gt;
&lt;PRE&gt;404  %macro test;
405  DATA _NULL_;
406      file print PS=32767;
407      set class end=lastrec;
408      if _N_ eq 1 then do;
409          put '{';
410      end;
411      put '{ "Name" :"' Name +(-1)'",'@;
412      put ' "Sex" :"&lt;FONT size="6" color="#FF0000"&gt;&lt;STRONG&gt;'S&lt;/STRONG&gt;&lt;/FONT&gt;ex +(-1)'",'@;
             -----------
             49
413      put ' "Age" :"&lt;FONT size="6" color="#FF0000"&gt;&lt;STRONG&gt;'A&lt;/STRONG&gt;&lt;/FONT&gt;ge +(-1)','@;
             -----------
             49
414      put ' "Height" :"&lt;FONT size="6" color="#FF0000"&gt;&lt;STRONG&gt;'H&lt;/STRONG&gt;&lt;/FONT&gt;eight +(-1)'",'@;
             --------------
             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.

415      put ' "embeddedData" : {'@;
416     put '}'@;
417      put '"Weight":"&lt;FONT size="6" color="#FF0000"&gt;&lt;STRONG&gt;'W&lt;/STRONG&gt;&lt;/FONT&gt;eight +(-1)'",'@;
             ------------
             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.

418      if lastrec eq 1 then do;
419          put '}';
420      end;
421      else do;
422          put ',';
423      end;
424  RUN;
425  %mend test;
NOTE: The macro TEST completed compilation without errors.
      7 instructions 528 bytes.
426  %test;

&lt;/PRE&gt;
&lt;P&gt;Place a space between any closing quote and any character immediately after unless using 'd (date) 'dt (datetime) 't (time) or 'n (name literal indicator). That is what the message is about. Currently your code has 'A 'S 'H 'W each of these triggering the warning that there may be a chance that the next release of SAS code might treat those differently than the result when you used them this time.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the change:&lt;/P&gt;
&lt;PRE&gt;427  %macro test;
428  DATA _NULL_;
429      file print PS=32767;
430      set class end=lastrec;
431      if _N_ eq 1 then do;
432          put '{';
433      end;
434      put '{ "Name" :"' Name +(-1)'",'@;
435      put ' "Sex" :"' Sex +(-1)'",'@;
436      put ' "Age" :"' Age +(-1)','@;
437      put ' "Height" :"' Height +(-1)'",'@;
438      put ' "embeddedData" : {'@;
439     put '}'@;
440      put '"Weight":"' Weight +(-1)'",'@;
441      if lastrec eq 1 then do;
442          put '}';
443      end;
444      else do;
445          put ',';
446      end;
447  RUN;
448  %mend test;
NOTE: The macro TEST completed compilation without errors.
      7 instructions 532 bytes.
449  %test;

&lt;/PRE&gt;
&lt;P&gt;No warnings.&lt;/P&gt;
&lt;P&gt;And results:&lt;/P&gt;
&lt;PRE&gt;{                                                                                                 
{ "Name" :"Alfred", "Sex" :"M", "Age" :"14, "Height" :"69", "embeddedData" : {}"Weight":"112.5",, 
{ "Name" :"Alice", "Sex" :"F", "Age" :"13, "Height" :"56.5", "embeddedData" : {}"Weight":"84",,   
{ "Name" :"Barbara", "Sex" :"F", "Age" :"13, "Height" :"65.3", "embeddedData" : {}"Weight":"98",, 
{ "Name" :"Carol", "Sex" :"F", "Age" :"14, "Height" :"62.8", "embeddedData" : {}"Weight":"102.5",,
{ "Name" :"Henry", "Sex" :"M", "Age" :"14, "Height" :"63.5", "embeddedData" : {}"Weight":"102.5",,
{ "Name" :"James", "Sex" :"M", "Age" :"12, "Height" :"57.3", "embeddedData" : {}"Weight":"83",,   
{ "Name" :"Jane", "Sex" :"F", "Age" :"12, "Height" :"59.8", "embeddedData" : {}"Weight":"84.5",,  
{ "Name" :"Janet", "Sex" :"F", "Age" :"15, "Height" :"62.5", "embeddedData" : {}"Weight":"112.5",,
{ "Name" :"Jeffrey", "Sex" :"M", "Age" :"13, "Height" :"62.5", "embeddedData" : {}"Weight":"84",, 
{ "Name" :"John", "Sex" :"M", "Age" :"12, "Height" :"59", "embeddedData" : {}"Weight":"99.5",,    
{ "Name" :"Joyce", "Sex" :"F", "Age" :"11, "Height" :"51.3", "embeddedData" : {}"Weight":"50.5",, 
{ "Name" :"Judy", "Sex" :"F", "Age" :"14, "Height" :"64.3", "embeddedData" : {}"Weight":"90",,    
{ "Name" :"Louise", "Sex" :"F", "Age" :"12, "Height" :"56.3", "embeddedData" : {}"Weight":"77",,  
{ "Name" :"Mary", "Sex" :"F", "Age" :"15, "Height" :"66.5", "embeddedData" : {}"Weight":"112",,   
{ "Name" :"Philip", "Sex" :"M", "Age" :"16, "Height" :"72", "embeddedData" : {}"Weight":"150",,   
{ "Name" :"Robert", "Sex" :"M", "Age" :"12, "Height" :"64.8", "embeddedData" : {}"Weight":"128",, 
{ "Name" :"Ronald", "Sex" :"M", "Age" :"15, "Height" :"67", "embeddedData" : {}"Weight":"133",,   
{ "Name" :"Thomas", "Sex" :"M", "Age" :"11, "Height" :"57.5", "embeddedData" : {}"Weight":"85",,  
{ "Name" :"William", "Sex" :"M", "Age" :"15, "Height" :"66.5", "embeddedData" : {}"Weight":"112",}

 

&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Apr 2023 22:22:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/NOTE-49-169-The-meaning-of-an-identifier-after-a-quoted-string/m-p/868372#M42718</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2023-04-05T22:22:34Z</dc:date>
    </item>
  </channel>
</rss>

