<?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: Macros (do loop) to fetch files from different location path.. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Macros-do-loop-to-fetch-files-from-different-location-path/m-p/423589#M104184</link>
    <description>&lt;P&gt;Parts of your code refer to macro variables that don't exist. Consider a few issues with the code below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First, the name in a FILENAME statement (T_&amp;amp;I.) can only refer to one file at a time. It can't refer to both the INVMAST file and the RETUMAST file.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second, there is no such macro variable as &amp;amp;DIR_PATH11.&amp;nbsp; But that is what this code resolves into when &amp;amp;I is 1:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;amp;&amp;amp;DIR_PATH1&amp;amp;I..&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Perhaps you meant to use &amp;amp;&amp;amp;DIR_PATH_&amp;amp;I.. instead (although what you meant to do is up to you).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally, note that you likely need three dots not two in that expression.&amp;nbsp; As it stands now, the resolution process removes all dots before INVMAST and RETUMAST.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now that's for starters.&amp;nbsp; Once you eliminate the known errors, it is possible that others will surface.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;!-- Google Tag Manager --&gt;&lt;!-- End Google Tag Manager --&gt;&lt;/P&gt;
&lt;DIV class="lia-page"&gt;&lt;CENTER&gt;
&lt;DIV class="MinimumWidthContainer"&gt;
&lt;DIV class="min-width-wrapper"&gt;
&lt;DIV class="min-width"&gt;
&lt;DIV class="lia-content"&gt;
&lt;DIV class="lia-quilt lia-quilt-reply-page lia-quilt-layout-one-column lia-top-quilt"&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main-content"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV class="lia-panel lia-panel-section lia-component-editor"&gt;
&lt;DIV class="lia-decoration-border"&gt;
&lt;DIV class="lia-decoration-border-content"&gt;
&lt;DIV&gt;
&lt;DIV class="lia-panel-content-wrapper"&gt;
&lt;DIV class="lia-panel-content"&gt;
&lt;DIV class="lia-message-view message-uid-423547" id="messageview" data-lia-message-uid="423547"&gt;
&lt;DIV&gt;
&lt;DIV class="lia-js-resize-images lia-component-forums-widget-board-message-view"&gt;
&lt;DIV data-message-id="423547"&gt;
&lt;DIV class="lia-panel-message-root lia-message-board lia-panel-message lia-js-data-messageUid-423547"&gt;
&lt;DIV class="lia-panel-message-content"&gt;
&lt;DIV class="lia-decoration-border"&gt;
&lt;DIV class="lia-decoration-border-content"&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV class="lia-quilt lia-quilt-forum-message lia-quilt-layout-forum-message"&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-forum-message-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-20 lia-quilt-column-right lia-quilt-column-main-right"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-right"&gt;
&lt;DIV class="lia-message-body" id="messagebodydisplay_0"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;
&lt;SPAN class="token statement"&gt;FILENAME&lt;/SPAN&gt; T_&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;I&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"&amp;amp;&amp;amp;DIR_PATH1&amp;amp;I..INVMAST.DBF"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token statement"&gt;FILENAME&lt;/SPAN&gt; T_&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;I&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"&amp;amp;&amp;amp;DIR_PATH1&amp;amp;I..RETUMAST.DBF";&lt;/SPAN&gt;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/CENTER&gt;&lt;/DIV&gt;</description>
    <pubDate>Tue, 26 Dec 2017 14:32:36 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2017-12-26T14:32:36Z</dc:date>
    <item>
      <title>Macros (do loop) to fetch files from different location path..</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-do-loop-to-fetch-files-from-different-location-path/m-p/423547#M104173</link>
      <description>&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to fetch two files each for different location&amp;nbsp; &amp;nbsp;( different folders for each location) based on a given condition and have written the following code for it. The macros section is running successfully without any errors but i'm not getting any result.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/*To fetch the list of locations*/&lt;BR /&gt;Proc Import Out= Location Datafile= "C:\Foxpro\LOCATION.DBF"
dbms=dbfmemo Replace;
Run;
Data Location1;
Set Location;
Where ACTIVE = 'Y';
Run;&lt;BR /&gt;Proc Sql;
Select Count(*) INTO :CNT From Location1;
Quit;
%Put &amp;amp;CNT;
/*Identifying Path for each location folder*/
Proc Sql;
Select LOCA_CODE, LOCA_NAME, ZONE, 'C:\Foxpro\xxxx\'||DIR_PATH as DIR_PATH
INTO: LOCA_CODE1 - :LOCA_CODE%LEFT(%TRIM(&amp;amp;CNT)),
: LOCA_NAME1 - :LOCA_NAME%LEFT(%TRIM(&amp;amp;CNT)),
: ZONE1 - :ZONE%LEFT(%TRIM(&amp;amp;CNT)),
: DIR_PATH1 - :DIR_PATH%LEFT(%TRIM(&amp;amp;CNT))
From Location1;
Quit;&lt;BR /&gt;/* no error no result section */
&lt;EM&gt;&lt;STRONG&gt;%MACRO LOOP_LOAD;
%DO I = 1 %TO &amp;amp;CNT;
FILENAME T_&amp;amp;I. "&amp;amp;&amp;amp;DIR_PATH1&amp;amp;I..INVMAST.DBF";
FILENAME T_&amp;amp;I. "&amp;amp;&amp;amp;DIR_PATH1&amp;amp;I..RETUMAST.DBF";

%LET LOCA_CODE1 = &amp;amp;&amp;amp;LOCA_CODE1&amp;amp;I.;
%LET LOCA_NAME1 = &amp;amp;&amp;amp;LOCA_NAME1&amp;amp;I.;
%LET ZONE1 = &amp;amp;&amp;amp;ZONE1&amp;amp;I.;
%LET DIR_PATH1 = &amp;amp;&amp;amp;DIR_PATH1&amp;amp;I.;

%PUT &amp;amp;LOCA_CODE1;
%PUT &amp;amp;LOCA_NAME1;
%PUT &amp;amp;ZONE1;
%PUT &amp;amp;DIR_PATH1;

PROC IMPORT OUT = INVMAST_&amp;amp;I. DATAFILE = "T_&amp;amp;I."
DBMS = DBFMEMO REPLACE;
Run;

PROC IMPORT OUT = RETUMAST_&amp;amp;I. DATAFILE = "T_&amp;amp;I."
DBMS = DBFMEMO REPLACE;
Run;

DATA INVMAST_&amp;amp;I.;
SET INVMAST_&amp;amp;I.;
_LOCA_CODE1 = "&amp;amp;LOCA_CODE1";
_LOCA_NAME1 = "&amp;amp;LOCA_NAME1";
_ZONE1 = "&amp;amp;ZONE1";
RUN;

DATA RETUMAST_&amp;amp;I.;
SET INVMAST_&amp;amp;I.;
_LOCA_CODE1 = "&amp;amp;LOCA_CODE1";
_LOCA_NAME1 = "&amp;amp;LOCA_NAME1";
_ZONE1 = "&amp;amp;ZONE1";
RUN;
%END;
%MEND LOOP_LOAD;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Please help in identifying as to where I'm going wrong and what&amp;nbsp; I should do.&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Sanat&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Dec 2017 12:47:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-do-loop-to-fetch-files-from-different-location-path/m-p/423547#M104173</guid>
      <dc:creator>sklal</dc:creator>
      <dc:date>2017-12-26T12:47:32Z</dc:date>
    </item>
    <item>
      <title>Re: Macros (do loop) to fetch files from different location path..</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-do-loop-to-fetch-files-from-different-location-path/m-p/423589#M104184</link>
      <description>&lt;P&gt;Parts of your code refer to macro variables that don't exist. Consider a few issues with the code below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First, the name in a FILENAME statement (T_&amp;amp;I.) can only refer to one file at a time. It can't refer to both the INVMAST file and the RETUMAST file.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second, there is no such macro variable as &amp;amp;DIR_PATH11.&amp;nbsp; But that is what this code resolves into when &amp;amp;I is 1:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;amp;&amp;amp;DIR_PATH1&amp;amp;I..&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Perhaps you meant to use &amp;amp;&amp;amp;DIR_PATH_&amp;amp;I.. instead (although what you meant to do is up to you).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally, note that you likely need three dots not two in that expression.&amp;nbsp; As it stands now, the resolution process removes all dots before INVMAST and RETUMAST.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now that's for starters.&amp;nbsp; Once you eliminate the known errors, it is possible that others will surface.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;!-- Google Tag Manager --&gt;&lt;!-- End Google Tag Manager --&gt;&lt;/P&gt;
&lt;DIV class="lia-page"&gt;&lt;CENTER&gt;
&lt;DIV class="MinimumWidthContainer"&gt;
&lt;DIV class="min-width-wrapper"&gt;
&lt;DIV class="min-width"&gt;
&lt;DIV class="lia-content"&gt;
&lt;DIV class="lia-quilt lia-quilt-reply-page lia-quilt-layout-one-column lia-top-quilt"&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main-content"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV class="lia-panel lia-panel-section lia-component-editor"&gt;
&lt;DIV class="lia-decoration-border"&gt;
&lt;DIV class="lia-decoration-border-content"&gt;
&lt;DIV&gt;
&lt;DIV class="lia-panel-content-wrapper"&gt;
&lt;DIV class="lia-panel-content"&gt;
&lt;DIV class="lia-message-view message-uid-423547" id="messageview" data-lia-message-uid="423547"&gt;
&lt;DIV&gt;
&lt;DIV class="lia-js-resize-images lia-component-forums-widget-board-message-view"&gt;
&lt;DIV data-message-id="423547"&gt;
&lt;DIV class="lia-panel-message-root lia-message-board lia-panel-message lia-js-data-messageUid-423547"&gt;
&lt;DIV class="lia-panel-message-content"&gt;
&lt;DIV class="lia-decoration-border"&gt;
&lt;DIV class="lia-decoration-border-content"&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV class="lia-quilt lia-quilt-forum-message lia-quilt-layout-forum-message"&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-forum-message-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-20 lia-quilt-column-right lia-quilt-column-main-right"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-right"&gt;
&lt;DIV class="lia-message-body" id="messagebodydisplay_0"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;
&lt;SPAN class="token statement"&gt;FILENAME&lt;/SPAN&gt; T_&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;I&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"&amp;amp;&amp;amp;DIR_PATH1&amp;amp;I..INVMAST.DBF"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token statement"&gt;FILENAME&lt;/SPAN&gt; T_&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;I&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"&amp;amp;&amp;amp;DIR_PATH1&amp;amp;I..RETUMAST.DBF";&lt;/SPAN&gt;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/CENTER&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 26 Dec 2017 14:32:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-do-loop-to-fetch-files-from-different-location-path/m-p/423589#M104184</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-12-26T14:32:36Z</dc:date>
    </item>
  </channel>
</rss>

