<?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: re: Error Message Variable not on File in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/re-Error-Message-Variable-not-on-File/m-p/186466#M35316</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From your SAS code piece, file WORK.TABLERANGES is sourced from a DATA step that inputs with a SET dates_info ab;&amp;nbsp; specified.&amp;nbsp; Neither of those two files has a SAS variable with the name you are getting for the SAS ERROR.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 27 Feb 2015 20:07:06 GMT</pubDate>
    <dc:creator>sbb</dc:creator>
    <dc:date>2015-02-27T20:07:06Z</dc:date>
    <item>
      <title>re: Error Message Variable not on File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/re-Error-Message-Variable-not-on-File/m-p/186465#M35315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I am getting an error message that the variable is not on File work.Tableranges. I modified a sas program I use thats uses the actual fiscal year dates which works just fine. I have included the code and output as well as the log with the error meesage. The modified code seems to work up to the point where the TableRanges is created. Not too sure whats happening after that point. Any suggestions would be greatly appreciated. Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%INCLUDE 'U:\SAS Templates\rac.sas';&lt;/P&gt;&lt;P&gt;LIBNAME myproj 'C:\Dps';&lt;/P&gt;&lt;P&gt;DATA _NULL_;&lt;BR /&gt;&amp;nbsp; fromdate = strip(put(intnx('year.4',today(),-3,'B'),yymmddn8.));&lt;BR /&gt;&amp;nbsp; todate = strip(put(intnx('year.4',today(),-1,'E'),yymmddn8.));&lt;BR /&gt; CALL Symput ('fromdate', fromdate); &lt;BR /&gt; CALL Symput ('todate', todate); &lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;DATA Dates;&lt;BR /&gt;&amp;nbsp; startday = 20040401; &lt;BR /&gt;&amp;nbsp; date&amp;nbsp; = input(put(startday,8.),yymmdd8.);&lt;BR /&gt; FORMAT date date9.;&lt;BR /&gt;&amp;nbsp; endDay = intnx("YEAR.4", today(), -2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DO WHILE(date &amp;lt;= endDay);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; OUTPUT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; date = intnx("YEAR", date, 1, "SAME");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END;&lt;BR /&gt; DROP endDay;&lt;BR /&gt; FORMAT date yymmddn8.;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;startday date&lt;BR /&gt;20040401 20040401&lt;BR /&gt;20040401 20050401&lt;BR /&gt;20040401 20060401&lt;BR /&gt;20040401 20070401&lt;BR /&gt;20040401 20080401&lt;BR /&gt;20040401 20090401&lt;BR /&gt;20040401 20100401&lt;BR /&gt;20040401 20110401&lt;BR /&gt;20040401 20120401&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt; CREATE TABLE Dates_Info AS &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT Dates.date, &lt;BR /&gt;&amp;nbsp; (input(substr(put(Dates.date,yymmddn8.),1,6),8.)) LABEL="FirstDay" AS FirstDay, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (input(substr(put(INTNX('Year.4', Dates.date, 0,'E'),yymmddn8.),1,6),8.)) AS LastDay, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SUBSTR(put(Dates.date,yymmddn8.),3,2)) AS Class1, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SUBSTR(put(INTNX('Year.4', Dates.date, 0,'E'),yymmddn8.),3,2)) AS Class2, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (case when (input(put(Dates.date,yymmddn8.),yymmddn8.)) &amp;lt;= 20070401&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; then catt('myproj.sar',(SUBSTR(put(Dates.date,yymmddn8.),3,2)),(SUBSTR(put(INTNX('Year.4', Dates.date, 0,&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; 'E'),yymmddn8.),3,2)))&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; else catt('myproj.pdp',(SUBSTR(put(Dates.date,yymmddn8.),3,2)),(SUBSTR(put(INTNX('Year.4', Dates.date, 0,&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; 'E'),yymmddn8.),3,2)))&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; end) AS Class format=$32.,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (case when (input(put(Dates.date,yymmddn8.),yymmddn8.)) = 20040401&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; then catt('myproj.dura',(SUBSTR(put(Dates.date,yymmddn8.),3,2)),(SUBSTR(put(INTNX('Year.4', Dates.date, 0,&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; 'E'),yymmddn8.),3,2)))&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; when (input(put(Dates.date,yymmddn8.),yymmddn8.)) &amp;lt;= 20070401&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; then catt('myproj.durb',(SUBSTR(put(Dates.date,yymmddn8.),3,2)),(SUBSTR(put(INTNX('Year.4', Dates.date, 0,&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; 'E'),yymmddn8.),3,2)))&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; else catt('myproj.durc',(SUBSTR(put(Dates.date,yymmddn8.),3,2)),(SUBSTR(put(INTNX('Year.4', Dates.date, 0,&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; 'E'),yymmddn8.),3,2)))&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; end) AS Class3 format=$32.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM WORK.DATES;&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;date FirstDay LastDay Class1 Class2 Class Class3&lt;BR /&gt;20040401 200404 200503 04 05 myproj.sar0405 myproj.dura0405&lt;BR /&gt;20050401 200504 200603 05 06 myproj.sar0506 myproj.durb0506&lt;BR /&gt;20060401 200604 200703 06 07 myproj.sar0607 myproj.durb0607&lt;BR /&gt;20070401 200704 200803 07 08 myproj.sar0708 myproj.durb0708&lt;BR /&gt;20080401 200804 200903 08 09 myproj.pdp0809 myproj.durc0809&lt;BR /&gt;20090401 200904 201003 09 10 myproj.pdp0910 myproj.durc0910&lt;BR /&gt;20100401 201004 201103 10 11 myproj.pdp1011 myproj.durc1011&lt;BR /&gt;20110401 201104 201203 11 12 myproj.pdp1112 myproj.durc1112&lt;BR /&gt;20120401 201204 201303 12 13 myproj.pdp1213 myproj.durc1213&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt; CREATE TABLE Current AS &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT&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; MAX(Dates_Info.LastDay) AS MAX_of_date&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM WORK.Dates_Info;&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt;DATA Current;&lt;BR /&gt; SET Current;&lt;BR /&gt;&amp;nbsp; MAX_of_date = MAX_of_date || '01';&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;DATA Current;&lt;BR /&gt; SET Current;&lt;BR /&gt;&amp;nbsp; FirstDay = input(strip(substr(put(intnx('Month',input(put(MAX_of_date,8.),yymmdd8.),1,'B'),yymmddn8.),1,6)),6.);&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;MAX_of_date FirstDay&lt;BR /&gt;20130301 201304&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;DATA ab;&lt;BR /&gt; SET Current; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastDay = input(strip(substr(put(intnx('Month',today(),-1,'E'),yymmddn8.),1,6)),6.);&lt;BR /&gt;&amp;nbsp; Class = 'rac.Cend';&lt;BR /&gt;&amp;nbsp; Class3 = 'rac.Nonj';&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;MAX_of_date FirstDay LastDay Class Class3&lt;BR /&gt;20130301 201304 201501 rac.Cend rac.Nonj&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;DATA TableRanges (DROP=date Class1 Class2 MAX_of_date);&lt;BR /&gt; SET dates_info ab;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;FirstDay LastDay Class Class3&lt;BR /&gt;200404 200503 myproj.sar0405 myproj.dura0405&lt;BR /&gt;200504 200603 myproj.sar0506 myproj.durb0506&lt;BR /&gt;200604 200703 myproj.sar0607 myproj.durb0607&lt;BR /&gt;200704 200803 myproj.sar0708 myproj.durb0708&lt;BR /&gt;200804 200903 myproj.pdp0809 myproj.durc0809&lt;BR /&gt;200904 201003 myproj.pdp0910 myproj.durc0910&lt;BR /&gt;201004 201103 myproj.pdp1011 myproj.durc1011&lt;BR /&gt;201104 201203 myproj.pdp1112 myproj.durc1112&lt;BR /&gt;201204 201303 myproj.pdp1213 myproj.durc1213&lt;BR /&gt;201304 201501 rac.Cend rac.Nonj&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;PROC SQL NOPRINT;&lt;BR /&gt; SELECT Class &lt;BR /&gt;&amp;nbsp; INTO :tableList separated by ' '&amp;nbsp; &lt;BR /&gt; FROM TableRanges&lt;BR /&gt; WHERE input(substr(put(LastDay,8.),1,6),6.) &amp;gt;= input(substr(put(&amp;amp;fromDate,8.),1,6),6.) and input(substr(put(FirstDay,8.),1,6),6.) &amp;lt;= input(substr(put(&amp;amp;toDate,8.),1,6),6.);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt; PROC SQL NOPRINT;&lt;BR /&gt; SELECT catx(' ','date_processed_ym between', input(substr(put(&amp;amp;fromDate,8.),1,6),6.),'and',input(substr(put(&amp;amp;toDate,8.),1,6),6.)) &lt;BR /&gt;&amp;nbsp; INTO :wherelist separated by ' OR ' &lt;BR /&gt; FROM TableRanges&lt;BR /&gt; WHERE input(substr(put(LastDay,8.),1,6),6.) &amp;gt;= input(substr(put(&amp;amp;fromDate,8.),1,6),6.) and input(substr(put(FirstDay,8.),1,6),6.) &amp;lt;= input(substr(put(&amp;amp;toDate,8.),1,6),6.);&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt;%LET wherelist = &amp;amp;wherelist;&lt;/P&gt;&lt;P&gt;DATA Summary4;&lt;BR /&gt; SET &amp;amp;tableList; &lt;BR /&gt;&amp;nbsp; WHERE (("&amp;amp;wherelist")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND (date_processed_ym between (input(substr(&amp;amp;fromDate,1.6),6.)) and (input(substr(&amp;amp;toDate,1,6),6.)))&lt;BR /&gt;&amp;nbsp; AND (sid=1));&lt;BR /&gt;&amp;nbsp; DROP ref_num rec_id;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOG With Error Message:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;109&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET wherelist = &amp;amp;wherelist;&lt;BR /&gt;111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;112&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA Summary4;&lt;BR /&gt;113&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET &amp;amp;tableList; &lt;BR /&gt;114&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE (("&amp;amp;wherelist")&lt;BR /&gt;115&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND (date_processed_ym between (input(substr(&amp;amp;fromDate,1.6),6.)) and&lt;BR /&gt;115&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! (input(substr(&amp;amp;toDate,1,6),6.)))&lt;BR /&gt;116&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND (sid=1));&lt;BR /&gt;ERROR: Variable date_processed_ym is not on file WORK.TABLERANGES.&lt;BR /&gt;117&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DROP ref_num rec_id;&lt;BR /&gt;118&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUN;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Feb 2015 19:23:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/re-Error-Message-Variable-not-on-File/m-p/186465#M35315</guid>
      <dc:creator>twildone</dc:creator>
      <dc:date>2015-02-27T19:23:13Z</dc:date>
    </item>
    <item>
      <title>Re: re: Error Message Variable not on File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/re-Error-Message-Variable-not-on-File/m-p/186466#M35316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From your SAS code piece, file WORK.TABLERANGES is sourced from a DATA step that inputs with a SET dates_info ab;&amp;nbsp; specified.&amp;nbsp; Neither of those two files has a SAS variable with the name you are getting for the SAS ERROR.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Feb 2015 20:07:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/re-Error-Message-Variable-not-on-File/m-p/186466#M35316</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2015-02-27T20:07:06Z</dc:date>
    </item>
  </channel>
</rss>

