<?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: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331848#M271974</link>
    <description>&lt;P&gt;It is definitely NOT storing the macro quoting. You can see this for yourself by looking at the value you can see in the dictionary tables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let x=%bquote(Don't);
%global /readonly y=%bquote(Don't);
data _null_;
  set sashelp.vmacro;
  where scope='GLOBAL' and name in ('X','Y');
  put name= value = $hex20. ;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Results&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;name=X value=04446F6E117408202020
name=Y value=446F6E27742020202020&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You will need to just be careful where you REFERENCE the value of the global macro variable you have created that has unbalanced quotes.&lt;/P&gt;
&lt;P&gt;Or you could take more care in defining the global macro variable so that the stored value does not require macro quoting.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;1    %global /readonly a=%qsysfunc(dequote('%bquote(Don''t)')) ;
2    %put Actual value = |%superq(a)| ;
Actual value = |%bquote(Don't)|
3    %put Resolves to  = |&amp;amp;a| ;
Resolves to  = |Don't|&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 11 Feb 2017 18:31:58 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2017-02-11T18:31:58Z</dc:date>
    <item>
      <title>Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331778#M271964</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to create a read-only macro variable. &amp;nbsp;I can create a non-read-only macro variable that does what I need&amp;nbsp;to do, but I prefer that the variable be read-only. &amp;nbsp;This&amp;nbsp;is what I have that works:&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt; 1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 55         
 56         *works;
 57         %LET path1=%NRBQUOTE(/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete
 57       ! Guide to the SAS Macro Language);
 58         %LET path1test=&amp;amp;path1/test/location;
 59         %PUT &amp;amp;=path1test;
 PATH1TEST=/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete Guide to the SAS Macro 
 Language/test/location
 60         
 61         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 73         &lt;/PRE&gt;&lt;/DIV&gt;&lt;P&gt;I'm unable to&amp;nbsp;create&amp;nbsp;a read-only variable using the&amp;nbsp;following&amp;nbsp;%GLOBAL statement however:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt; 1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 55         
 56         *doesn't work;
 57         %GLOBAL / READONLY path2=%STR(%NRBQUOTE(/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS
 57       ! 9/Carpenter's Complete Guide to the SAS Macro Language));
 58         %LET path2test=&amp;amp;path2/test/location;
 59         %PUT &amp;amp;=path2test;
 60         
 61         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 62         ODS HTML CLOSE;
 63         &amp;amp;GRAPHTERM; ;*';*";*/;RUN;QUIT;
 64         QUIT;RUN;
 65         ODS HTML5 (ID=WEB) CLOSE;
 66         
 67         ODS RTF (ID=WEB) CLOSE;
 68         ODS PDF (ID=WEB) CLOSE;
 69         FILENAME _GSFNAME;
 70         DATA _NULL_;
 71         RUN;
 72         OPTIONS NOTES STIMER SOURCE SYNTAXCHECK;&lt;/PRE&gt;&lt;P&gt;Does anybody know what I'm doing wrong?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Vic&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2017 04:32:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331778#M271964</guid>
      <dc:creator>rararayayayay</dc:creator>
      <dc:date>2017-02-11T04:32:01Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331786#M271965</link>
      <description>&lt;P&gt;PS I'm running SAS University Edition.&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2017 08:15:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331786#M271965</guid>
      <dc:creator>rararayayayay</dc:creator>
      <dc:date>2017-02-11T08:15:47Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331789#M271966</link>
      <description>&lt;P&gt;There is no readonly option for macro variables. Macro variables can be set anytime/anywhere.&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2017 09:04:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331789#M271966</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-02-11T09:04:23Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331796#M271967</link>
      <description>&lt;P&gt;See: &amp;nbsp;&lt;A href="https://support.sas.com/resources/papers/proceedings15/SAS1575-2015.pdf" target="_blank"&gt;https://support.sas.com/resources/papers/proceedings15/SAS1575-2015.pdf&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2017 11:06:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331796#M271967</guid>
      <dc:creator>rararayayayay</dc:creator>
      <dc:date>2017-02-11T11:06:43Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331801#M271968</link>
      <description>&lt;P&gt;When you make a macro variable read only, after that you cannot change the value of that macro variable.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But in your test code, you are not testing whether you can change the value of of a read only macro variable.&amp;nbsp; First you make PATH2 and it is read only.&amp;nbsp; Then you make PATH2TEST and happen to resolve PATH2 in that assignment statement.&amp;nbsp; That is&amp;nbsp;all allowed.&amp;nbsp; If you tried to change the value of PATH2, it should error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, this works:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;33         %GLOBAL / READONLY path2=/some/location ;
34         %LET path2test=&amp;amp;path2/with/subdirectory ;
35         %put &amp;amp;=Path2 &amp;amp;=Path2test ;
PATH2=/some/location PATH2TEST=/some/location/with/subdirectory&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But if you try to assign a new value to path2 it fails:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;37         %let path2=/some/other/location ;
ERROR: The variable PATH2 was declared READONLY and cannot be modified or re-declared.&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 11 Feb 2017 12:36:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331801#M271968</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2017-02-11T12:36:52Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331815#M271969</link>
      <description>&lt;P&gt;Sorry, I didn't make my problem easy to reproduce.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;No, I'm not trying to change the value of a read-only variable, and I can get the %GLOBAL statement with the READONLY option to work for most strings. &amp;nbsp;But when I use&amp;nbsp;a particaular string that&amp;nbsp;has an&amp;nbsp;unmatched apostrophe, I&amp;nbsp;have problems. &amp;nbsp;The string in question is&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete Guide to the SAS Macro Language&lt;/CODE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What's strange is that I&amp;nbsp;don't have any&amp;nbsp;problems when using&amp;nbsp;a&amp;nbsp;%LET statement.&amp;nbsp;&amp;nbsp;I mask the string with a macro quoting function and it works.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%LET path1=%NRBQUOTE(/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete Guide to the SAS Macro Language);
%PUT &amp;amp;=path1;&lt;BR /&gt;%LET path1test=&amp;amp;path1/test/location; &lt;BR /&gt;%PUT &amp;amp;=path1test;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;yields&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;56         %LET path1=%NRBQUOTE(/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete
 56       ! Guide to the SAS Macro Language);
 57         %PUT &amp;amp;=path1;
 PATH1=/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete Guide to the SAS Macro Language
 58         %LET path1test=&amp;amp;path1/test/location;
 59         %PUT &amp;amp;=path1test;
 PATH1TEST=/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete Guide to the SAS Macro Language/test/location&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;But if I use the same string with a %GLOBAL&amp;nbsp;/ READONLY macro-variable=value; statement&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%GLOBAL / READONLY path2=%NRBQUOTE(/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete Guide to the SAS Macro Language);
%PUT &amp;amp;=path2;
%LET path2test=&amp;amp;path2/test/location;
%PUT &amp;amp;=path2test;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;it doesn't work, and I get this junk:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; 56         %GLOBAL / READONLY path2=%NRBQUOTE(/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS
 56       ! 9/Carpenter's Complete Guide to the SAS Macro Language);
 57         %PUT &amp;amp;=path2;
 58         %LET path2test=&amp;amp;path2/test/location;
 59         %PUT &amp;amp;=path2test;
 60         
 61         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 62         ODS HTML CLOSE;
 63         &amp;amp;GRAPHTERM; ;*';*";*/;RUN;QUIT;
 PATH2=/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter's Complete Guide to the SAS Macro 
 Language;%LET path2test=&amp;amp;path2/test/location;%PUT &amp;amp;=path2test;OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;ODS HTML 
 CLOSE;&amp;amp;GRAPHTERM; ;*'
 64         QUIT;RUN;
 65         ODS HTML5 (ID=WEB) CLOSE;
 66         
 67         ODS RTF (ID=WEB) CLOSE;
 68         ODS PDF (ID=WEB) CLOSE;
 NOTE: ODS PDF(WEB) printed no output. 
       (This sometimes results from failing to place a RUN statement before the ODS PDF(WEB) CLOSE statement.)
 69         FILENAME _GSFNAME;
 NOTE: Fileref _GSFNAME has been deassigned.
 70         DATA _NULL_;
 71         RUN;
 
 NOTE: DATA statement used (Total process time):
       real time           0.01 seconds
       cpu time            0.01 seconds
       
 
 72         OPTIONS NOTES STIMER SOURCE SYNTAXCHECK;
 73  &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does that make any sense to you?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Vic&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2017 14:08:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331815#M271969</guid>
      <dc:creator>rararayayayay</dc:creator>
      <dc:date>2017-02-11T14:08:12Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331820#M271970</link>
      <description>Sorry,missed your point. Does it work with:&lt;BR /&gt;%GLOBAL / READONLY path2=%Str(/folders/myfolders/sasuser.v94/2 SAS Certified Advanced Programmer for SAS 9/Carpenter%'s Complete Guide to the SAS Macro Language);&lt;BR /&gt;&lt;BR /&gt;?&lt;BR /&gt;I think %str is the proper quoting function to use outside of a macro definition, even though it requires marking the quote with a %. But agree %nrbquote() should work.&amp;nbsp;&lt;BR /&gt;Apparently something about readonly &amp;nbsp;is unquoting the value, which seems bad. So you end up with an unmatched single quote mark. &amp;nbsp;I'm away from sas but will play with this later.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sat, 11 Feb 2017 14:30:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331820#M271970</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2017-02-11T14:30:58Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331829#M271971</link>
      <description>&lt;P&gt;Okay, came back to playing with it, and I think you should send this in to tech support.&amp;nbsp; Looks like /readonly is not honoring the macro quoting.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I ran this in EG with SAS 9.4M3, and didn't work:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%global /readonly y=%str(Carpenter%'s) ;
%put y=&amp;amp;y ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Reaching for straws, I tried %SUPERQ, but it didn't help:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let x=%str(Carpenter%'s) ;
%put x=&amp;amp;x ;
%global /readonly y=%superq(x);
%put y=&amp;amp;y ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And trying it in a macro caused an ugly "CALL tech support" error:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro try(dummy) ;
 %global /readonly Z=%str(Carpenter%'s) ;
%mend try ;

%try()&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Perhaps because EG gets tripped up by the unmatched quote and then not seeing the %mend and even EG's magic string doesn't save it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Seems buggy to me.&amp;nbsp; Unless of course it's documented somewhere that you can't use quoting functions with /readonly.&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2017 15:49:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331829#M271971</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2017-02-11T15:49:23Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331846#M271972</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/101252"&gt;@rararayayayay&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;See: &amp;nbsp;&lt;A href="https://support.sas.com/resources/papers/proceedings15/SAS1575-2015.pdf" target="_blank"&gt;https://support.sas.com/resources/papers/proceedings15/SAS1575-2015.pdf&lt;/A&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I stand corrected. Well, we're finally upgrading from 9.2 to 9.4 next month. READONLY was introduced with 9.3, so I never encountered it.&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2017 17:11:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331846#M271972</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-02-11T17:11:11Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331847#M271973</link>
      <description>Good morning Quentin, thanks for your help. I'm going to submit the macro quoting issue to tech support right now. The last error you're getting appears to be a known issue -- &lt;A href="http://support.sas.com/kb/58/357.html" target="_blank"&gt;http://support.sas.com/kb/58/357.html&lt;/A&gt;. Bye &lt;span class="lia-unicode-emoji" title=":waving_hand:"&gt;👋&lt;/span&gt;.</description>
      <pubDate>Sat, 11 Feb 2017 17:57:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331847#M271973</guid>
      <dc:creator>rararayayayay</dc:creator>
      <dc:date>2017-02-11T17:57:50Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331848#M271974</link>
      <description>&lt;P&gt;It is definitely NOT storing the macro quoting. You can see this for yourself by looking at the value you can see in the dictionary tables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let x=%bquote(Don't);
%global /readonly y=%bquote(Don't);
data _null_;
  set sashelp.vmacro;
  where scope='GLOBAL' and name in ('X','Y');
  put name= value = $hex20. ;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Results&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;name=X value=04446F6E117408202020
name=Y value=446F6E27742020202020&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You will need to just be careful where you REFERENCE the value of the global macro variable you have created that has unbalanced quotes.&lt;/P&gt;
&lt;P&gt;Or you could take more care in defining the global macro variable so that the stored value does not require macro quoting.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;1    %global /readonly a=%qsysfunc(dequote('%bquote(Don''t)')) ;
2    %put Actual value = |%superq(a)| ;
Actual value = |%bquote(Don't)|
3    %put Resolves to  = |&amp;amp;a| ;
Resolves to  = |Don't|&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Feb 2017 18:31:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331848#M271974</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-02-11T18:31:58Z</dc:date>
    </item>
    <item>
      <title>Re: Question About Macro Quoting in a %GLOBAL / READONLY macro-variable=value; Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331855#M271975</link>
      <description>Thank you Tom.</description>
      <pubDate>Sat, 11 Feb 2017 19:08:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Question-About-Macro-Quoting-in-a-GLOBAL-READONLY-macro-variable/m-p/331855#M271975</guid>
      <dc:creator>rararayayayay</dc:creator>
      <dc:date>2017-02-11T19:08:27Z</dc:date>
    </item>
  </channel>
</rss>

