<?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: Reduce redundant code in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132966#M27065</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What about....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; if day(dd) le &amp;amp;max_daya. then day_group="&amp;amp;max_daya.";&lt;/P&gt;&lt;P&gt; if day(dd) le &amp;amp;max_dayb. then day_group="&amp;amp;max_dayb.";&lt;/P&gt;&lt;P&gt; if day(dd) le &amp;amp;max_dayc. then day_group="&amp;amp;max_dayc.";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Perhaps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; if day(dd) le &amp;amp;&amp;amp;max_day&amp;amp;output. then day_group="&amp;amp;&amp;amp;max_day&amp;amp;output.";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where are those variables?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 Jun 2012 11:29:56 GMT</pubDate>
    <dc:creator>data_null__</dc:creator>
    <dc:date>2012-06-06T11:29:56Z</dc:date>
    <item>
      <title>Reduce redundant code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132963#M27062</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help, I want to perform the same function for 3 different data sets. Is there a way to do this without having to create 3 separate data sets? Can I use a macro?&lt;/P&gt;&lt;P&gt;Eg:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;data a;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set sum1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dd=datepart(day);&lt;/P&gt;&lt;P&gt;&amp;nbsp; month=month(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp; year=year(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp; month=month(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if day(dd) le &amp;amp;max_daya. then day_group="&amp;amp;max_daya.";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class le 97 then group='c' ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class gt 97 and class le 99 then group='02b';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class in (97,98,99) then group='A';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class ge 100 then group='H';&lt;/P&gt;&lt;P&gt;&amp;nbsp; cost=cost/100;&lt;/P&gt;&lt;P&gt;&amp;nbsp; vatexcl=cost/1.14;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format dd date.;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data b;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set sum2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dd=datepart(day);&lt;/P&gt;&lt;P&gt;&amp;nbsp; month=month(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp; year=year(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp; month=month(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if day(dd) le &amp;amp;max_dayb. then day_group="&amp;amp;max_daya.";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class le 97 then group='c' ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class gt 97 and class le 99 then group='02b';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class in (97,98,99) then group='A';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class ge 100 then group='H'';&lt;/P&gt;&lt;P&gt;&amp;nbsp; cost=cost/100;&lt;/P&gt;&lt;P&gt;&amp;nbsp; vatexcl=cost/1.14;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format dd date.;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data c;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set sum3;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dd=datepart(day);&lt;/P&gt;&lt;P&gt;&amp;nbsp; month=month(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp; year=year(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp; month=month(dd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if day(dd) le &amp;amp;max_dayc. then day_group="&amp;amp;max_daya.";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class le 97 then group='c' ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class gt 97 and class le 99 then group='02b';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class in (97,98,99) then group='A';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if class ge 100 then group='H';&lt;/P&gt;&lt;P&gt;&amp;nbsp; cost=cost/100;&lt;/P&gt;&lt;P&gt;&amp;nbsp; vatexcl=cost/1.14;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format dd date.;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jun 2012 09:31:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132963#M27062</guid>
      <dc:creator>Havi</dc:creator>
      <dc:date>2012-06-06T09:31:10Z</dc:date>
    </item>
    <item>
      <title>Re: Reduce redundant code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132964#M27063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes you can do that..&lt;/P&gt;&lt;P&gt;%macro Test(output,input);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;data &amp;amp;output;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; set &amp;amp;input;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; dd=datepart(day);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; month=month(dd);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; year=year(dd);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; month=month(dd);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; if day(dd) le &amp;amp;max_daya. then day_group="&amp;amp;max_daya.";&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; if class le 97 then group='c' ;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; if class gt 97 and class le 99 then group='02b';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; if class in (97,98,99) then group='A';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; if class ge 100 then group='H';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; cost=cost/100;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; vatexcl=cost/1.14;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; format dd date.;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;run;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%mend test;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%test(a,sum1);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%test(b,Sum2);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%test(c,Sum3);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Thanks,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Shiva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jun 2012 09:46:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132964#M27063</guid>
      <dc:creator>shivas</dc:creator>
      <dc:date>2012-06-06T09:46:37Z</dc:date>
    </item>
    <item>
      <title>Re: Reduce redundant code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132965#M27064</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Shivas&lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jun 2012 09:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132965#M27064</guid>
      <dc:creator>Havi</dc:creator>
      <dc:date>2012-06-06T09:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: Reduce redundant code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132966#M27065</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What about....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; if day(dd) le &amp;amp;max_daya. then day_group="&amp;amp;max_daya.";&lt;/P&gt;&lt;P&gt; if day(dd) le &amp;amp;max_dayb. then day_group="&amp;amp;max_dayb.";&lt;/P&gt;&lt;P&gt; if day(dd) le &amp;amp;max_dayc. then day_group="&amp;amp;max_dayc.";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Perhaps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; if day(dd) le &amp;amp;&amp;amp;max_day&amp;amp;output. then day_group="&amp;amp;&amp;amp;max_day&amp;amp;output.";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where are those variables?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jun 2012 11:29:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132966#M27065</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2012-06-06T11:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: Reduce redundant code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132967#M27066</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Shivas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I could really use your help. Please advise on the below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to automate programs by adding them to my crontab to run daily.&lt;BR /&gt;Instead of adding in several entries for the different programs to my crontab, how do I create a macro/program that has all the program calls in it(the different program names)&lt;BR /&gt;Also before running the program each day I want the macro to check if the previous days data ran successfully and if the log dependancy for today is met before kicking of the jobs.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Eg: Prog02may2012.sas can only run if the Prog01may2012.sas ran successfully. Also the dependancy "extract.log.ok" needs to be met before I run any programs. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this makes sense.&lt;BR /&gt;Thanks, appreciate it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Jun 2012 15:19:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reduce-redundant-code/m-p/132967#M27066</guid>
      <dc:creator>Havi</dc:creator>
      <dc:date>2012-06-20T15:19:33Z</dc:date>
    </item>
  </channel>
</rss>

