<?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 in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749553#M235565</link>
    <description>Thank you Bremser for your response, by mistake I copied wrong subject line, sorry for the inconvenience.&lt;BR /&gt;I have restarted the EG, still am getting the same error. there are no unbalanced quotes also in the code.</description>
    <pubDate>Tue, 22 Jun 2021 14:17:03 GMT</pubDate>
    <dc:creator>grnreddy06</dc:creator>
    <dc:date>2021-06-22T14:17:03Z</dc:date>
    <item>
      <title>NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749521#M235550</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am trying to run the below code inside a macro.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;data PREMIUM_QTR_I (drop=DOB);&lt;BR /&gt;set wcheck.PREMIUM_WL_MASTER_DATA_MC (keep=UID IDENTIFICATION_NUMBERS PASSPORTS DOB COUNTRIES LISTNAME);&lt;BR /&gt;QID=substr(substr(IDENTIFICATION_NUMBERS,find(IDENTIFICATION_NUMBERS," { QA-NID } " ) + 8,17),1,11);&lt;BR /&gt;DOB_YEAR=SUBSTR(STRIP(DOB),1,4);&lt;BR /&gt;format DOB_YEAR $4.;&lt;BR /&gt;PASSPORTS=UPCASE(SCAN(PASSPORTS,1));&lt;BR /&gt;DOB1=DOB;&lt;BR /&gt;where LISTNAME="QA_LIST" and IDENTIFICATION_NUMBERS is not null or PASSPORTS is not null&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;Then I got the below note error :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;_&lt;BR /&gt;49&lt;BR /&gt;4 ! ;&lt;BR /&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;Kindly help to resolve this issue, even I restarted the EG, though no use again am getting the same error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jun 2021 13:41:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749521#M235550</guid>
      <dc:creator>grnreddy06</dc:creator>
      <dc:date>2021-06-22T13:41:03Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749530#M235551</link>
      <description>&lt;P&gt;This is usually the consequence of having unbalanced quotes upstream in the code. The simplest solution: start a new SAS session and submit the code there.&lt;/P&gt;
&lt;P&gt;The NOTE is often accompanied by "The quoted string has become more than 262 characters long".&lt;/P&gt;
&lt;P&gt;If the problem persists, submit your code in single steps, so you can catch the place where the problem first appears.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please use a DESCRIPTIVE subject line in the future. A single underline(!) is not descriptive at all and shines a very bad light on your mental setup. I edited your post.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jun 2021 13:45:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749530#M235551</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-06-22T13:45:01Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749553#M235565</link>
      <description>Thank you Bremser for your response, by mistake I copied wrong subject line, sorry for the inconvenience.&lt;BR /&gt;I have restarted the EG, still am getting the same error. there are no unbalanced quotes also in the code.</description>
      <pubDate>Tue, 22 Jun 2021 14:17:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749553#M235565</guid>
      <dc:creator>grnreddy06</dc:creator>
      <dc:date>2021-06-22T14:17:03Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749633#M235615</link>
      <description>&lt;P&gt;Let's start from the ground up.&lt;/P&gt;
&lt;P&gt;Start a new SAS session, do not load any code, but run something simple like&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data class;
set sashelp.class;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This is to verify that you do not have something toxic in your startup code.&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jun 2021 04:41:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749633#M235615</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-06-24T04:41:48Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749742#M235676</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/386916"&gt;@grnreddy06&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am trying to run the below code inside a macro.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;data PREMIUM_QTR_I (drop=DOB);&lt;BR /&gt;set wcheck.PREMIUM_WL_MASTER_DATA_MC (keep=UID IDENTIFICATION_NUMBERS PASSPORTS DOB COUNTRIES LISTNAME);&lt;BR /&gt;QID=substr(substr(IDENTIFICATION_NUMBERS,find(IDENTIFICATION_NUMBERS," { QA-NID } " ) + 8,17),1,11);&lt;BR /&gt;DOB_YEAR=SUBSTR(STRIP(DOB),1,4);&lt;BR /&gt;format DOB_YEAR $4.;&lt;BR /&gt;PASSPORTS=UPCASE(SCAN(PASSPORTS,1));&lt;BR /&gt;DOB1=DOB;&lt;BR /&gt;where LISTNAME="QA_LIST" and IDENTIFICATION_NUMBERS is not null or PASSPORTS is not null&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;Then I got the below note error :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;_&lt;BR /&gt;49&lt;BR /&gt;4 ! ;&lt;BR /&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;Kindly help to resolve this issue, even I restarted the EG, though no use again am getting the same error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Copy the text for the entire data step plus all the notes and warnings. Paste the copied text into a text box opened on the forum with the &amp;lt;/&amp;gt; icon.&lt;/P&gt;
&lt;P&gt;That particular message places an _ on the line below where the issue is found.&lt;/P&gt;
&lt;P&gt;An example of code that will generate that note:&lt;/P&gt;
&lt;PRE&gt;179  data _null_;
180    y=3;
181    put "how to generate a 49-169 note"y;
           ------------------------------
           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.

182  run;&lt;BR /&gt;&lt;BR /&gt;how to generate a 49-169 note3&lt;BR /&gt;
&lt;/PRE&gt;
&lt;P&gt;See the underscores under the text "how to generate a 49-169 note"? The main message windows on this forum reformat text to remove multiple blanks in many cases so what you pasted doesn't have all those spaces that might tell us where the issue actually happened.&lt;/P&gt;
&lt;P&gt;SAS has several bits of code where a letter immediately following quoted text is treated specially. a D would mean a "date" value if properly formatted,T time, DT datetime, X a Hex coded numeric value. So the note is not an error &lt;STRONG&gt;now&lt;/STRONG&gt; but in the future quoted text followed immediately with a Y might stand for some specific type of other data. What SAS is warning you to do is simply place a space between the quoted text and the Y.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My &lt;STRONG&gt;guess&lt;/STRONG&gt; is that perhaps you actually have code of&lt;/P&gt;
&lt;PRE&gt;where LISTNAME="QA_LIST"and IDENTIFICATION_NUMBERS is not null or PASSPORTS is not null&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jun 2021 22:13:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749742#M235676</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-06-22T22:13:39Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749754#M235681</link>
      <description>&lt;P&gt;Also, it would make the intent of your program more clear if you put parentheses in your WHERE statement.&amp;nbsp; Do you mean&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;where (LISTNAME="QA_LIST" and IDENTIFICATION_NUMBERS is not null) or PASSPORTS is not null&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;or&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;where LISTNAME="QA_LIST" and (IDENTIFICATION_NUMBERS is not null or PASSPORTS is not null)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It's not ambiguous to the SAS parser, but it might be ambiguous to humans, especially a human who also uses other languages where the order of operations is different.&amp;nbsp; And how sure are you that the order of operations is the same in a WHERE statement, a similar IF statement, a WHERE clause in SQL, and an assignment statement?&amp;nbsp; There are at least two operators that have a different meaning in a WHERE statement than in an IF statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another possible source of misunderstanding is the location of your WHERE statement.&amp;nbsp; Suppose you have code like this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data in;
    infile cards;
    input listname $8.;
cards4;
QA_LIST
qa_list
;;;;
data out ;
    set in;
    listname = upcase(listname);
    where LISTNAME="QA_LIST" ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;How many observations will be in OUT?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(As an exercise for the reader, how will the results be different if that code is run inside a macro vs. in open code?)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jun 2021 23:32:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749754#M235681</guid>
      <dc:creator>JackHamilton</dc:creator>
      <dc:date>2021-06-22T23:32:33Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749779#M235695</link>
      <description>&lt;P&gt;I don't see anything in your code that will generate this message: there is always a space after the quotes.&lt;/P&gt;
&lt;P&gt;Please turn option mprint on and post the full log for this step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also when pasting code, use the appropriate icon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jun 2021 03:23:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/749779#M235695</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2021-06-24T03:23:59Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/750063#M235858</link>
      <description>&lt;P&gt;I occasionally get that message.&amp;nbsp; It usually doesn't have an obvious cause, and it's always inside a macro.&amp;nbsp; I wonder if the macro processor is not handling quoting/unquoting correctly under some obscure circumstances, so the SAS parser sees something like&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;x = "myvalue"&amp;lt;invisible-macro-quoting-character&amp;gt;;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;then thinks that the quoting character is trying to be an identifier character, and objects.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jun 2021 00:55:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/750063#M235858</guid>
      <dc:creator>JackHamilton</dc:creator>
      <dc:date>2021-06-24T00:55:25Z</dc:date>
    </item>
    <item>
      <title>Re: NOTE 49-169</title>
      <link>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/750703#M236166</link>
      <description>Sure Kurt, thank you for your response.</description>
      <pubDate>Sun, 27 Jun 2021 18:03:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/NOTE-49-169/m-p/750703#M236166</guid>
      <dc:creator>grnreddy06</dc:creator>
      <dc:date>2021-06-27T18:03:36Z</dc:date>
    </item>
  </channel>
</rss>

