title: %SCAN with M modifier giving incorrect results
body: <p>Can anyone please suggest why do the below two codes have different outputs?</p>
  
  <p>I have a macro var FILETYPE which resolves to  ,File // missing first value.</p>
  
  <pre><code>%let b=%scan("&amp;filetype",1,",",M);
  %put &amp;b;
  %let c=%scan("&amp;filetype",2,",",M);
  %put &amp;c;
  %let d=%scan("&amp;filetype",3,",",M);
  %put &amp;d;
  %mend;
  %tt;`
  </code></pre>
  
  <p>I get the following output:</p>
  
  <pre><code>SYMBOLGEN:  Macro variable FILETYPE resolves to ,File
  SYMBOLGEN:  Macro variable B resolves to 
  
  SYMBOLGEN:  Macro variable FILETYPE resolves to ,File
  SYMBOLGEN:  Macro variable C resolves to 
  
  SYMBOLGEN:  Macro variable FILETYPE resolves to ,File
  SYMBOLGEN:  Macro variable D resolves to File
  File
  </code></pre>
  
  <p>When macro var C should have resolved to File , but its still NULL and D gets the value File.</p>
  
  <p>The same logic in a plain datastep works correctly.</p>
  
  <pre><code>data a;
  b=scan("&amp;filetype",1,',','M');
  c=scan("&amp;filetype",2,',','M');
  run;
  Output :
  b=blank
  c=File
  </code></pre>
  
  <p>Can someone please suggest how come the SCAN function with M modifier work okay in data step but not in macro?</p>