<?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: Local Vs Global Symbol Tables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182698#M34787</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is documented behavior.&amp;nbsp; It is because your macro did not create a local environment, so SYMPUT() stored the the new variable in the first environment that if found. Notice that if you nest this macro call inside of a another executing macro that does define a scope then the variable will be created there.&amp;nbsp; It also makes a difference if the variable already exists or not.&amp;nbsp; Try this little example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;%macro&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;STRONG&gt;&lt;EM&gt;varscope&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; data _null_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput(&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: purple; background: white;"&gt;'test'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: purple; background: white;"&gt;'VARSCOPE'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;%put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; _user_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;%mend&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; varscope;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;%macro&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;STRONG&gt;&lt;EM&gt;outer&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;%local&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; outer ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; %&lt;STRONG&gt;&lt;EM&gt;varscope&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;%mend&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;%symdel&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; test ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;%&lt;STRONG&gt;&lt;EM&gt;outer&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;%&lt;STRONG&gt;&lt;EM&gt;varscope&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;%&lt;STRONG&gt;&lt;EM&gt;outer&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 17 Jul 2014 12:54:34 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2014-07-17T12:54:34Z</dc:date>
    <item>
      <title>Local Vs Global Symbol Tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182692#M34781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the following macro:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro varscope;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;set xxx.yyy end=final;&lt;/P&gt;&lt;P&gt;call symputx('localtype'||left(_n_), Customer_Type);&lt;/P&gt;&lt;P&gt;if final then call symputx('localn',_n_);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%put _user_;&lt;/P&gt;&lt;P&gt;%mend varscope;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%varscope;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the log i see that the macro variables are stored in the global symbol table. Why is that? According to the theory if a macro variable is created withing a specific macro like the varscope it should be placed in a local symbol table. Why in this case the macro variables are storeed in the global symbol table?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jul 2014 09:11:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182692#M34781</guid>
      <dc:creator>andreas_zaras</dc:creator>
      <dc:date>2014-07-17T09:11:08Z</dc:date>
    </item>
    <item>
      <title>Re: Local Vs Global Symbol Tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182693#M34782</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Let me try that again.&amp;nbsp; Default is global scope for macro variables.&amp;nbsp; If you look at the help documentation:&lt;/P&gt;&lt;P&gt;&lt;A class="active_link" href="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a002295697.htm"&gt;http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a002295697.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will see there is an optional parameter - for symbol table which will allow you to store locally or globally.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jul 2014 09:22:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182693#M34782</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-07-17T09:22:06Z</dc:date>
    </item>
    <item>
      <title>Re: Local Vs Global Symbol Tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182694#M34783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your answer. I am reading the course notes of the course SAS Macro language 1 and it says the following:&lt;/P&gt;&lt;P&gt;Local macro variables can be created by the following within a macro definition:&lt;/P&gt;&lt;P&gt;%let statement&lt;/P&gt;&lt;P&gt;data step symputx routine&lt;/P&gt;&lt;P&gt;proc sql select statement into clause&lt;/P&gt;&lt;P&gt;% local statement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to the above since in my example i create the macro variable within a macro program using the data step symputx it should be included in a local symbol table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Am i thinking something worng?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thnaks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jul 2014 09:32:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182694#M34783</guid>
      <dc:creator>andreas_zaras</dc:creator>
      <dc:date>2014-07-17T09:32:42Z</dc:date>
    </item>
    <item>
      <title>Re: Local Vs Global Symbol Tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182695#M34784</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, I don't know about that course or its notes. &lt;/P&gt;&lt;P&gt;The %local is correct.&lt;/P&gt;&lt;P&gt;The call symputx is also correct, but you have to remember that the default operation for that function, i.e. the value for table if you don't specify otherwise, will be G for global give or take some rules on the SYMPUT function. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As for the %let and select into, I don't know off the top of my head, would need to check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TBH I don't think many actually care about scope as long as they can access it when wanted.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jul 2014 09:48:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182695#M34784</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-07-17T09:48:31Z</dc:date>
    </item>
    <item>
      <title>Re: Local Vs Global Symbol Tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182696#M34785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;call symput() places values in the "nearest"&amp;nbsp; environment where that name is found (locals are nested within the global environment)&lt;/P&gt;&lt;P&gt;When the name is not found, call symput() creates a &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;macro variable in the nearest environment that exists. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;A %local in a macro ensures it has it's own environment, and macro parameters will establish an environment for the macro too.&lt;/P&gt;&lt;P&gt;A macro with no local environment would create macro variables in the "calling environment" - when macros are nested, that might not mean creating in global.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;call symputX creates as directed by the 3rd parameter (F, G or L) G and L are as you would expect. For F I have clipped the online doc below&lt;/P&gt;&lt;P class="xis-listValueDescription"&gt;&lt;/P&gt;&lt;TABLE cellpadding="0" cellspacing="0" summary="list of values"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xis-value"&gt;F&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;specifies that if the macro variable exists in any symbol table, CALL SYMPUTX uses the version in the most local symbol table in which it exists. If the macro variable does not exist, CALL SYMPUTX stores the variable in the most local symbol table. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="xis-note"&gt;&lt;A id="n0p2h191xzvajbn1jdowx3rutlah"&gt;&lt;/A&gt;&lt;SPAN class="xis-noteGenText"&gt;Note: &lt;/SPAN&gt;If you omit &lt;SPAN class="xis-userSuppliedValue"&gt;symbol-table&lt;/SPAN&gt; or if &lt;SPAN class="xis-userSuppliedValue"&gt;symbol-table&lt;/SPAN&gt; is blank, CALL SYMPUTX stores the macro variable in the same symbol table as does the CALL SYMPUT routine. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jul 2014 10:08:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182696#M34785</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2014-07-17T10:08:37Z</dc:date>
    </item>
    <item>
      <title>Re: Local Vs Global Symbol Tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182697#M34786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Interesting and a possible pitfall. But it is documented. &lt;A href="http://support.sas.com/documentation/cdl/en/mcrolref/64754/HTML/default/viewer.htm#p09y28i2d1kn8qn1p1icxchz37p3.htm" title="http://support.sas.com/documentation/cdl/en/mcrolref/64754/HTML/default/viewer.htm#p09y28i2d1kn8qn1p1icxchz37p3.htm"&gt;SAS(R) 9.4 Macro Language: Reference&lt;/A&gt; (Symput)&amp;nbsp; : SYMPUT puts the macro variable in the most local nonempty symbol table.&lt;BR /&gt;Your macro has not defined any local variables, the local sysmbol table is empty it will move to the next non-empty one.&amp;nbsp; That is the global table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tested this with:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data test;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Customer_Type= "someone" ;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;%macro varscope;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let scopetest = macro let; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _null_;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set work.test end=final;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('localtype'||left(_n_), Customer_Type);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if final then call symputx('localn', _n_);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put _user_;&lt;BR /&gt; %mend varscope;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Without the scopetest it is creating you macrodefs as global. Adding just the local scoptest with that let is causing a non empty local table.&lt;/P&gt;&lt;P&gt;Run this in a clean SAS session and all you macro-vars are local scope.&lt;/P&gt;&lt;P&gt;Do not forget to reset you SAS session or undefine (symdel) the macro-vars as symput will use the visible existing defnitions.&lt;BR /&gt;That was an other maybe cause. Running the datastep out of the macro causing them global. The scope will not switch. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jul 2014 10:15:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182697#M34786</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2014-07-17T10:15:59Z</dc:date>
    </item>
    <item>
      <title>Re: Local Vs Global Symbol Tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182698#M34787</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is documented behavior.&amp;nbsp; It is because your macro did not create a local environment, so SYMPUT() stored the the new variable in the first environment that if found. Notice that if you nest this macro call inside of a another executing macro that does define a scope then the variable will be created there.&amp;nbsp; It also makes a difference if the variable already exists or not.&amp;nbsp; Try this little example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;%macro&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;STRONG&gt;&lt;EM&gt;varscope&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; data _null_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput(&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: purple; background: white;"&gt;'test'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: purple; background: white;"&gt;'VARSCOPE'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;%put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; _user_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;%mend&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; varscope;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;%macro&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;STRONG&gt;&lt;EM&gt;outer&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;%local&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; outer ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; %&lt;STRONG&gt;&lt;EM&gt;varscope&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;%mend&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;%symdel&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; test ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;%&lt;STRONG&gt;&lt;EM&gt;outer&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;%&lt;STRONG&gt;&lt;EM&gt;varscope&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;%&lt;STRONG&gt;&lt;EM&gt;outer&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jul 2014 12:54:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Local-Vs-Global-Symbol-Tables/m-p/182698#M34787</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2014-07-17T12:54:34Z</dc:date>
    </item>
  </channel>
</rss>

