<?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: Issue while invoking the macro function in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Issue-while-invoking-the-macro-function/m-p/74259#M16015</link>
    <description>I do not have a complete explanation for you,  but I believe your problem is that&lt;BR /&gt;
byte(0) returns null, and sysfunc is getting a string with containing a null. &lt;BR /&gt;
&lt;BR /&gt;
You can get the same error message submitting these two lines:&lt;BR /&gt;
&lt;BR /&gt;
%let badstr=%sysfunc(cats(,1));&lt;BR /&gt;
%put &amp;amp;badstr;</description>
    <pubDate>Thu, 08 Apr 2010 19:41:50 GMT</pubDate>
    <dc:creator>martha_sas</dc:creator>
    <dc:date>2010-04-08T19:41:50Z</dc:date>
    <item>
      <title>Issue while invoking the macro function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Issue-while-invoking-the-macro-function/m-p/74258#M16014</link>
      <description>When I tried to invoke the macro function below, it throws an error saying &lt;BR /&gt;
"%SYSEVALF function has no expression to evaluate...."&lt;BR /&gt;
&lt;BR /&gt;
%macro concat_ctrl(contstr=,i=);&lt;BR /&gt;
%do %while(&amp;amp;i &amp;lt; 32);&lt;BR /&gt;
%let contstr = %sysfunc(cats(&amp;amp;contstr,%sysfunc(byte(&amp;amp;i))));&lt;BR /&gt;
%put &amp;amp;contstr &amp;amp;i;&lt;BR /&gt;
%let i=%eval(&amp;amp;i+1);&lt;BR /&gt;
%end;&lt;BR /&gt;
%mend concat_ctrl;&lt;BR /&gt;
%concat_ctrl(contstr=%sysfunc(byte(0)), i=1);&lt;BR /&gt;
&lt;BR /&gt;
But I am able to invoke the macro function above with difference values as below...&lt;BR /&gt;
&lt;BR /&gt;
%macro concat_ctrl(contstr=,i=);&lt;BR /&gt;
%do %while(&amp;amp;i &amp;lt; 72);&lt;BR /&gt;
%let contstr = %sysfunc(cats(&amp;amp;contstr,%sysfunc(byte(&amp;amp;i))));&lt;BR /&gt;
%put &amp;amp;contstr &amp;amp;i;&lt;BR /&gt;
%let i=%eval(&amp;amp;i+1);&lt;BR /&gt;
%end;&lt;BR /&gt;
%mend concat_ctrl;&lt;BR /&gt;
%concat_ctrl(contstr=%sysfunc(byte(65)), i=66);&lt;BR /&gt;
&lt;BR /&gt;
Could you help me out to overcome this issue?</description>
      <pubDate>Thu, 08 Apr 2010 11:11:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Issue-while-invoking-the-macro-function/m-p/74258#M16014</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2010-04-08T11:11:50Z</dc:date>
    </item>
    <item>
      <title>Re: Issue while invoking the macro function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Issue-while-invoking-the-macro-function/m-p/74259#M16015</link>
      <description>I do not have a complete explanation for you,  but I believe your problem is that&lt;BR /&gt;
byte(0) returns null, and sysfunc is getting a string with containing a null. &lt;BR /&gt;
&lt;BR /&gt;
You can get the same error message submitting these two lines:&lt;BR /&gt;
&lt;BR /&gt;
%let badstr=%sysfunc(cats(,1));&lt;BR /&gt;
%put &amp;amp;badstr;</description>
      <pubDate>Thu, 08 Apr 2010 19:41:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Issue-while-invoking-the-macro-function/m-p/74259#M16015</guid>
      <dc:creator>martha_sas</dc:creator>
      <dc:date>2010-04-08T19:41:50Z</dc:date>
    </item>
  </channel>
</rss>

