<?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: How to pass a global variable to urlencode in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904025#M357177</link>
    <description>&lt;P&gt;You need to use double quotes for the SAS macro variable to resolve.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Patrick_0-1700517554334.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/90069i2CF31190B3AD49E8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Patrick_0-1700517554334.png" alt="Patrick_0-1700517554334.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let globalVar = 201080;

data  test;
    original_string = urlencode("&amp;lt;SMF_REPLY&amp;gt;&amp;lt;SMF_REQUEST_ID&amp;gt;aaa&amp;lt;/SMF_REQUEST_ID&amp;gt;&amp;lt;SMF_RETURN_CODE&amp;gt;1&amp;lt;/SMF_RETURN_CODE&amp;gt;&amp;lt;SMF_RETURN_MESSAGE&amp;gt;&amp;amp;globalVar&amp;lt;/SMF_RETURN_MESSAGE&amp;gt;&amp;lt;/SMF_REPLY&amp;gt;");
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 20 Nov 2023 22:02:31 GMT</pubDate>
    <dc:creator>Patrick</dc:creator>
    <dc:date>2023-11-20T22:02:31Z</dc:date>
    <item>
      <title>How to pass a global variable to urlencode</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904006#M357169</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;I try to pass a global variable in the urlencode function and get an invalid link, I run the following code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let globalVar = 201080;

data  test;
    original_string = urlencode('&amp;lt;SMF_REPLY&amp;gt;&amp;lt;SMF_REQUEST_ID&amp;gt;aaa&amp;lt;/SMF_REQUEST_ID&amp;gt;&amp;lt;SMF_RETURN_CODE&amp;gt;1&amp;lt;/SMF_RETURN_CODE&amp;gt;&amp;lt;SMF_RETURN_MESSAGE&amp;gt;&amp;amp;globalVar&amp;lt;/SMF_RETURN_MESSAGE&amp;gt;&amp;lt;/SMF_REPLY&amp;gt;');
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If I enter the number itself 201080 I will get a proper link.&lt;/P&gt;
&lt;P&gt;my question is how to pass a global variable to the urlencode function?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I get a valid link:&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;urlencode('&amp;lt;SMF_REPLY&amp;gt;&amp;lt;SMF_REQUEST_ID&amp;gt;aaa&amp;lt;/SMF_REQUEST_ID&amp;gt;&amp;lt;SMF_RETURN_CODE&amp;gt;1&amp;lt;/SMF_RETURN_CODE&amp;gt;&amp;lt;SMF_RETURN_MESSAGE&amp;gt;&lt;STRONG&gt;201080&lt;/STRONG&gt;&amp;lt;/SMF_RETURN_MESSAGE&amp;gt;&amp;lt;/SMF_REPLY&amp;gt;')&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;thanks.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Nov 2023 20:22:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904006#M357169</guid>
      <dc:creator>shlomiohana</dc:creator>
      <dc:date>2023-11-20T20:22:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass a global variable to urlencode</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904025#M357177</link>
      <description>&lt;P&gt;You need to use double quotes for the SAS macro variable to resolve.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Patrick_0-1700517554334.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/90069i2CF31190B3AD49E8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Patrick_0-1700517554334.png" alt="Patrick_0-1700517554334.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let globalVar = 201080;

data  test;
    original_string = urlencode("&amp;lt;SMF_REPLY&amp;gt;&amp;lt;SMF_REQUEST_ID&amp;gt;aaa&amp;lt;/SMF_REQUEST_ID&amp;gt;&amp;lt;SMF_RETURN_CODE&amp;gt;1&amp;lt;/SMF_RETURN_CODE&amp;gt;&amp;lt;SMF_RETURN_MESSAGE&amp;gt;&amp;amp;globalVar&amp;lt;/SMF_RETURN_MESSAGE&amp;gt;&amp;lt;/SMF_REPLY&amp;gt;");
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Nov 2023 22:02:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904025#M357177</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2023-11-20T22:02:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass a global variable to urlencode</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904119#M357213</link>
      <description>This is not good i get an error because the full urlencode is:&lt;BR /&gt;&lt;BR /&gt;original_string = urlencode('&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&amp;lt;SMF_REPLY&amp;gt;&amp;lt;SMF_REQUEST_ID&amp;gt;aaa&amp;lt;/SMF_REQUEST_ID&amp;gt;&amp;lt;SMF_RETURN_CODE&amp;gt;1&amp;lt;/SMF_RETURN_CODE&amp;gt;&amp;lt;SMF_RETURN_MESSAGE&amp;gt;&amp;amp;globalVar&amp;lt;/SMF_RETURN_MESSAGE&amp;gt;&amp;lt;/SMF_REPLY&amp;gt;'&lt;BR /&gt;</description>
      <pubDate>Tue, 21 Nov 2023 15:28:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904119#M357213</guid>
      <dc:creator>shlomiohana</dc:creator>
      <dc:date>2023-11-21T15:28:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass a global variable to urlencode</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904127#M357214</link>
      <description>&lt;P&gt;Below code should do as long as you don't expect an ampersand or percent sign in your source string that shouldn't get interpreted as a macro token.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let globalVar = 201080;

data test;
  length original_string $300;
  original_string = 
    '&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&amp;lt;SMF_REPLY&amp;gt;&amp;lt;SMF_REQUEST_ID&amp;gt;aaa&amp;lt;/SMF_REQUEST_ID&amp;gt;&amp;lt;SMF_RETURN_CODE&amp;gt;1&amp;lt;/SMF_RETURN_CODE&amp;gt;&amp;lt;SMF_RETURN_MESSAGE&amp;gt;&amp;amp;globalVar&amp;lt;/SMF_RETURN_MESSAGE&amp;gt;&amp;lt;/SMF_REPLY&amp;gt;';
  original_string=urlencode(strip(resolve(original_string)));
  put original_string;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The encoded string will be longer than the original string. Make sure that your variable has a length defined that's sufficient for the encoded string.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or this way will also work&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
  length original_string $300;
  original_string = cats(
    '&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&amp;lt;SMF_REPLY&amp;gt;&amp;lt;SMF_REQUEST_ID&amp;gt;aaa&amp;lt;/SMF_REQUEST_ID&amp;gt;&amp;lt;SMF_RETURN_CODE&amp;gt;1&amp;lt;/SMF_RETURN_CODE&amp;gt;&amp;lt;SMF_RETURN_MESSAGE&amp;gt;'
    ,"&amp;amp;globalVar&amp;lt;/SMF_RETURN_MESSAGE&amp;gt;&amp;lt;/SMF_REPLY&amp;gt;"
    );
  original_string=urlencode(strip(original_string));
  put original_string;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Nov 2023 15:55:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-pass-a-global-variable-to-urlencode/m-p/904127#M357214</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2023-11-21T15:55:21Z</dc:date>
    </item>
  </channel>
</rss>

