<?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 Importing Multiple FTP Files in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28452#M5234</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;I've been using this as a reference (&lt;A href="http://support.sas.com/kb/24/712.html"&gt;http://support.sas.com/kb/24/712.html&lt;/A&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="padding-top: 10px; padding-bottom: 8px; font-style: normal; font-size: 11px; line-height: 1.25em; font-family: monospace; text-align: left;"&gt;&lt;BR /&gt;/* Path to files to be read are in the DATALINES.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* Each file is read in turn with the same INPUT statement.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* The END= variable is set to 1 each time the DATA step&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* comes to the end of a file.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* Read the name of the file to be read from the DATALINES and&amp;nbsp; */&lt;BR /&gt;/* store it in FIL2READ.&amp;nbsp; The file is then read in the DO WHILE */&lt;BR /&gt;/* loop.&amp;nbsp; At the end of the file, the DO loop ends, control&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* passes back to the top of DATA step and the process starts&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* over again until all files have been read.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* The argument "dummy" in the INFILE statement is a place-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* holder used in place of a file reference.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;data one;&lt;BR /&gt;&amp;nbsp; infile datalines;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; /* Ensure fully qualified path will fit in FIL2READ */&lt;BR /&gt;&amp;nbsp; length fil2read $40;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; /* Input path of file to be read from DATALINES */&lt;BR /&gt;&amp;nbsp; input fil2read $;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; infile dummy filevar=fil2read end=done;&lt;BR /&gt;&amp;nbsp; do while(not done);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input statement for files to be read */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input @1 date date9. @11 quanity item $ price totcost;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;datalines;&lt;BR /&gt;c:\temp\extfile1.txt&lt;BR /&gt;c:\temp\extfile2.txt&lt;BR /&gt;c:\temp\extfile3.txt&lt;BR /&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;proc print data=one;&lt;BR /&gt;run;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Here is the code I've written:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;/* LINK TO THE FTP */&lt;/P&gt;&lt;P&gt;FILENAME datain FTP DIR lrecl = 300&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD='/xxx/Xxx/xx/xx/xx' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOST='hostname'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER='username'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASS='passwd' ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* GET THE FTP DIRECTORY LISTING */&lt;/P&gt;&lt;P&gt;filename dirlist ftp '' ls &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD='/xxx/Xxx/xx/xx/xx' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOST='hostname'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER='username'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASS='passwd' ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* What files are in the directory */&lt;/P&gt;&lt;P&gt;data dirlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infile dirlist length=reclen;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input fname $varying200. reclen;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if upcase(fname)=: '201109'; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* PULL THE FILES IN THE DIRECTORY THAT WE ARE LOOKING FOR */&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set dirlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; infile dummy datain(fname) end=done;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do while(not done);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /* Input statement for files to be read */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST8.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST9.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Opt_in_dte&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? YYMMDD10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : $CHAR6. ;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;But using "dummy" doesn't work, because it won't take "FTPREF(filename)".&amp;nbsp; If I take out dummy, it runs but looks for "fname" on the directory instead of cycling through the file names listed in table "dirlist".&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Any thoughts?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thanks!&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 14 Oct 2011 22:45:30 GMT</pubDate>
    <dc:creator>dwish</dc:creator>
    <dc:date>2011-10-14T22:45:30Z</dc:date>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28450#M5232</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to import multiple files that are on an FTP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm stuck at the part where I'm having the data step that creates the tables go through the different files.&amp;nbsp; Since I'm pulling the files from an FTP the FTPREF(filename) convention doesn't work with the infile filevar = .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions on the best way to do this?&amp;nbsp; All the files are formatted the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Oct 2011 18:55:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28450#M5232</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-10-12T18:55:27Z</dc:date>
    </item>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28451#M5233</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why wouldn't the method work?&amp;nbsp; You can redefine the fileref as often as needed.&amp;nbsp; It would help if you posted your attempted code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Oct 2011 19:21:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28451#M5233</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-10-12T19:21:32Z</dc:date>
    </item>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28452#M5234</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;I've been using this as a reference (&lt;A href="http://support.sas.com/kb/24/712.html"&gt;http://support.sas.com/kb/24/712.html&lt;/A&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="padding-top: 10px; padding-bottom: 8px; font-style: normal; font-size: 11px; line-height: 1.25em; font-family: monospace; text-align: left;"&gt;&lt;BR /&gt;/* Path to files to be read are in the DATALINES.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* Each file is read in turn with the same INPUT statement.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* The END= variable is set to 1 each time the DATA step&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* comes to the end of a file.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* Read the name of the file to be read from the DATALINES and&amp;nbsp; */&lt;BR /&gt;/* store it in FIL2READ.&amp;nbsp; The file is then read in the DO WHILE */&lt;BR /&gt;/* loop.&amp;nbsp; At the end of the file, the DO loop ends, control&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* passes back to the top of DATA step and the process starts&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* over again until all files have been read.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* The argument "dummy" in the INFILE statement is a place-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;/* holder used in place of a file reference.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;data one;&lt;BR /&gt;&amp;nbsp; infile datalines;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; /* Ensure fully qualified path will fit in FIL2READ */&lt;BR /&gt;&amp;nbsp; length fil2read $40;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; /* Input path of file to be read from DATALINES */&lt;BR /&gt;&amp;nbsp; input fil2read $;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; infile dummy filevar=fil2read end=done;&lt;BR /&gt;&amp;nbsp; do while(not done);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input statement for files to be read */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input @1 date date9. @11 quanity item $ price totcost;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;datalines;&lt;BR /&gt;c:\temp\extfile1.txt&lt;BR /&gt;c:\temp\extfile2.txt&lt;BR /&gt;c:\temp\extfile3.txt&lt;BR /&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;proc print data=one;&lt;BR /&gt;run;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Here is the code I've written:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;/* LINK TO THE FTP */&lt;/P&gt;&lt;P&gt;FILENAME datain FTP DIR lrecl = 300&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD='/xxx/Xxx/xx/xx/xx' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOST='hostname'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER='username'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASS='passwd' ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* GET THE FTP DIRECTORY LISTING */&lt;/P&gt;&lt;P&gt;filename dirlist ftp '' ls &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD='/xxx/Xxx/xx/xx/xx' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOST='hostname'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER='username'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASS='passwd' ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* What files are in the directory */&lt;/P&gt;&lt;P&gt;data dirlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infile dirlist length=reclen;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input fname $varying200. reclen;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if upcase(fname)=: '201109'; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* PULL THE FILES IN THE DIRECTORY THAT WE ARE LOOKING FOR */&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set dirlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; infile dummy datain(fname) end=done;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do while(not done);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /* Input statement for files to be read */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST8.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST9.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Opt_in_dte&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? YYMMDD10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : $CHAR6. ;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;But using "dummy" doesn't work, because it won't take "FTPREF(filename)".&amp;nbsp; If I take out dummy, it runs but looks for "fname" on the directory instead of cycling through the file names listed in table "dirlist".&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Any thoughts?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thanks!&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Oct 2011 22:45:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28452#M5234</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-10-14T22:45:30Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28453#M5235</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You do not seem to be filtering which files to import.&amp;nbsp; Why not change your FTP to use MGET and change your INFILE to use FILENAME instead of FILEVAR .&lt;/P&gt;&lt;P&gt;This way SAS should pull all of the files from the FTP directory and set the FILENAME variable to the name of the file that is currently being read.&lt;/P&gt;&lt;P&gt;If you want I could try to dig up some old code where I used this method to download a block of files.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Oct 2011 23:38:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28453#M5235</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-10-14T23:38:19Z</dc:date>
    </item>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28454#M5236</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the response -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am actually filtering the filename.&amp;nbsp; I'd like to be able to pull a month's worth of files at a time (there's hundreds of files in the directory).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How would i get the FILENAME variable to cycle through the file names based on what's there?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any more code to look at would be great - I'd appreciate it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Oct 2011 23:51:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28454#M5236</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-10-14T23:51:14Z</dc:date>
    </item>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28455#M5237</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;I just tried MGET with the wildcard, but for some reason it's not treating the wildcard appropriately.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Here's the code I used:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FILENAME datain FTP '201109*.txt' lrecl = 300&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD='/xxx/xxx' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOST='hostname'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER='username'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASS='passwd' mget debug;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile datain ENCODING="wlatin1"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TERMSTR=LF &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DLM='|'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MISSOVER&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DSD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FIRSTOBS=2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input statement for files to be read */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INPUT PhoneNum&amp;nbsp;&amp;nbsp; : ?? BEST10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST8.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST9.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Opt_in_dte&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? YYMMDD10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : $CHAR6. ;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; run; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;And this is the error:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: &amp;lt;&amp;lt;&amp;lt; 200 Type set to A.&lt;/P&gt;&lt;P&gt;NOTE: &amp;gt;&amp;gt;&amp;gt; NLST 201109*.txt&lt;/P&gt;&lt;P&gt;NOTE: &amp;lt;&amp;lt;&amp;lt; 550 201109*.txt: No such file or directory.&lt;/P&gt;&lt;P&gt;ERROR: Physical file does not exist, 201109*.txt.&lt;/P&gt;&lt;P&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 00:13:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28455#M5237</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-10-15T00:13:45Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28456#M5238</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the first program I found I was putting the wildcards in the FILENAME statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;filename sascode ftp '*.sas' mget recfm=v&lt;/P&gt;&lt;P&gt;&amp;nbsp; cd="&amp;amp;xpath"&lt;/P&gt;&lt;P&gt;&amp;nbsp; user="&amp;amp;user"&lt;/P&gt;&lt;P&gt;&amp;nbsp; pass="&amp;amp;pass"&lt;/P&gt;&lt;P&gt;&amp;nbsp; host="&amp;amp;host"&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 00:30:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28456#M5238</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-10-15T00:30:03Z</dc:date>
    </item>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28457#M5239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The following is a rather simplified example but, hopefully, will let you see what you might be missing:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*create some test files;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; file "c:\art\test1.txt";&lt;/P&gt;&lt;P&gt;&amp;nbsp; put "1234567890";&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; file "c:\art\test2.txt";&lt;/P&gt;&lt;P&gt;&amp;nbsp; put "2345678901";&lt;/P&gt;&lt;P&gt;&amp;nbsp; put "3456789012";&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; file "c:\art\dirlist.txt";&lt;/P&gt;&lt;P&gt;&amp;nbsp; put "test1";&lt;/P&gt;&lt;P&gt;&amp;nbsp; put "test2";&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data dirlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile cards truncover;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input fname $200.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;c:\art\test1.txt&lt;/P&gt;&lt;P&gt;c:\art\test2.txt&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; /* PULL THE FILES IN THE DIRECTORY THAT WE ARE LOOKING FOR */&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set dirlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile dummy filevar=fname end=done;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do while(not done);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input statement for files to be read */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 00:30:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28457#M5239</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-10-15T00:30:56Z</dc:date>
    </item>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28458#M5240</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Strange that it's treating my wildcard as part of the filename - is there a setting/option I need to toggle?&amp;nbsp; Or do I need to use a different wildcard symbol since it's a UNIX FTP?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or does the wildcard only work with nothing preceding it, and only a .extension following it?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 00:39:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28458#M5240</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-10-15T00:39:27Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28459#M5241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Did you try checking the ftp server manually from the command prompt? Perhaps your FTP server responds slightly differently than you or SAS expect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From OS command window enter the command:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;ftp -i hostname&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then after giving it your credentials move to the source directory and retreive the files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;ftp&amp;gt; cd path&lt;/P&gt;&lt;P&gt;ftp&amp;gt; mget 201110*.txt &lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 00:40:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28459#M5241</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-10-15T00:40:34Z</dc:date>
    </item>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28460#M5242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good idea -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I get a "Permission denied" when I try to use MGET.&amp;nbsp; Using a regular FTP client (FileZilla), I can download the files just fine though.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But looking at the error I get, it looks like SAS isn't even translating the wildcard appropriately to begin with?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 00:48:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28460#M5242</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-10-15T00:48:02Z</dc:date>
    </item>
    <item>
      <title>Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28461#M5243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Art-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It works, until I try to change things to apply to the FTP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The INFILE won't treat "fname" as a variable and cycle through the different values of filenames (whether I enapsulate it in the FTPFILENAME() reference, or include the FTPFILENAMEREF() in the table of filenames).&amp;nbsp; It just simply looks for a file or FILENAME reference named "fname".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any idea how I can get around that in the data step that imports the files?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 00:56:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28461#M5243</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-10-15T00:56:12Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28462#M5244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;FileZilla is probably NOT using mget. It probably retreives the directory and then retrieves the files one by one.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAS does not translate the *, that function is being done by the remote FTP server. Are you sure they do not have embedded spaces or other things so that they do not match the pattern that you are trying to use? Try testing your pattern by using the DIR command instead of the MGET command to see if the files you want are actually there. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 01:11:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28462#M5244</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-10-15T01:11:42Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28463#M5245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Gotcha.. Running mget on the FTP lists the files I need (8 or so of them) that match the convention I'm using in SAS - it just says Permission denied for each one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;&lt;P&gt;filename dirlist ftp '' ls CD='/xxxx/xxx' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOST='hostname'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER='username'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASS='passwd';&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and &lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;&lt;P&gt;data dirlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile dirlist length=reclen;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input fname $varying200. reclen;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if upcase(fname)=: '201109'; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lists the files out as well, so they're there.&amp;nbsp; I'll check with the sysadmin about mget/additional access.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 01:15:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28463#M5245</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-10-15T01:15:31Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28464#M5246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Perhaps your server requires SFTP instead of normal FTP?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 01:28:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28464#M5246</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-10-15T01:28:11Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28465#M5247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sounds like a permission issue. You have read access to the directory so that you can see the file name, but you do not have read access to the actual files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to use the FILEVAR option with an FTP file I found that it does not honor the CD option when using the DIR option.&lt;/P&gt;&lt;P&gt;Not sure if there is another way, but you can just use the fully qualified filename in the FILEVAR variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;filename ftpdir ftp&lt;/P&gt;&lt;P&gt;&amp;nbsp; cd="&amp;amp;dname"&lt;/P&gt;&lt;P&gt;&amp;nbsp; host="&amp;amp;host"&lt;/P&gt;&lt;P&gt;&amp;nbsp; user="&amp;amp;user"&lt;/P&gt;&lt;P&gt;&amp;nbsp; pass="&amp;amp;pass"&lt;/P&gt;&lt;P&gt;&amp;nbsp; ls&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data files ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile ftpdir truncover;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input fname $200. ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;filename ftp ftp recfm=v&lt;/P&gt;&lt;P&gt;&amp;nbsp; host="&amp;amp;host"&lt;/P&gt;&lt;P&gt;&amp;nbsp; user="&amp;amp;user"&lt;/P&gt;&lt;P&gt;&amp;nbsp; pass="&amp;amp;pass"&lt;/P&gt;&lt;P&gt;&amp;nbsp; dir&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set files ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; where fname like 'x%.sas';&lt;/P&gt;&lt;P&gt;&amp;nbsp; filevar="&amp;amp;dname/"||fname;&lt;/P&gt;&lt;P&gt;&amp;nbsp; put 100*'-' / fname / 100*'-';&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile ftp filevar=filevar end=eof ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do while (not eof);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; put _infile_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; eof=0;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2011 01:54:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28465#M5247</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-10-15T01:54:56Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28466#M5248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This ended up looking for the file on the SAS server instead of the ftp. "infile ftp" with ftp referenced in a filename statement as an ftp did not work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Nov 2011 21:53:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28466#M5248</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-11-29T21:53:48Z</dc:date>
    </item>
    <item>
      <title>Re: Importing Multiple FTP Files</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28467#M5249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I figured it out. Using the FILENAME DIR ls statement, I retrieve the filenames I'm looking for in a data step with a condition. As it's pulling these file names, I call a macro that takes the current filename variable and runs it through an INFILE, after which the data is appended to a table I have created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pasting the code below for future reference for anyone else hoping to import multiple FTP files in a simple fashion:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;&lt;P&gt;/* CREATE FILE IMPORT MACRO */&lt;/P&gt;&lt;P&gt;OPTIONS MPRINT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%MACRO importFTPfiles (currentfile=);&lt;/P&gt;&lt;P&gt;&amp;nbsp; FILENAME ftpfiles FTP "&amp;amp;currentfile" lrecl = 300&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD='/directory' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOST='host'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER='user'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASS='pass!' ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; DATA currentfile;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LENGTH&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FORMAT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEST10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEST10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INFORMAT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEST10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEST10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INFILE ftpfiles&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENCODING="wlatin1"&lt;/P&gt;&lt;P&gt;&amp;nbsp; TERMSTR=LF &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DLM='|'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MISSOVER&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DSD&lt;/P&gt;&lt;P&gt;&amp;nbsp; FIRSTOBS=2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INPUT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dtv_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ?? BEST10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; PROC APPEND base=ftpimports data=currentfile;&lt;/P&gt;&lt;P&gt;&amp;nbsp; RUN;&lt;/P&gt;&lt;P&gt;%MEND importFTPfiles;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* CREATE TABLE TO HOUSE THE LATEST INCOMING RECORDS */&lt;/P&gt;&lt;P&gt;DATA tcs.ftpimports;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LENGTH&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FORMAT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEST10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEST10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INFORMAT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PhoneNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEST10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cust_acct_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEST10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CALL MISSING(of _all_);&lt;/P&gt;&lt;P&gt;&amp;nbsp; STOP;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* GET THE FTP DIRECTORY LISTING */&lt;/P&gt;&lt;P&gt;filename dirlist ftp '' ls CD='/directory' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOST='host'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER='username'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASS='passwd';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Pull listing of files, filtered and run through macro */&lt;/P&gt;&lt;P&gt;data dirlist;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile dirlist length=reclen;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input fname $varying200. reclen;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if upcase(fname)=: 'ACCOUNT201111'; &lt;/P&gt;&lt;P&gt;/* execute macro while sending each file name sequentially to the macro */&lt;/P&gt;&lt;P&gt;&amp;nbsp; call execute('%importFTPfiles(currentfile='||fname||')');&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Nov 2011 21:54:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Importing-Multiple-FTP-Files/m-p/28467#M5249</guid>
      <dc:creator>dwish</dc:creator>
      <dc:date>2011-11-29T21:54:00Z</dc:date>
    </item>
  </channel>
</rss>

