<?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: macro %runquit; abort if syserr NOTE: SAS went to a new line in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274724#M54865</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16961"&gt;@ChrisNZ﻿&lt;/a&gt;&amp;nbsp;The (undocomented) system option dsoptions=note2err will turn a bunch of those bad notes into errors.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unfortunately it does not catch the library does not exist note.&amp;nbsp; I keep thinking there may be a dedicted system option for turning this note into a warning or error, but I can't find it.&amp;nbsp; Would be nice. Doesn't catch merge with duplicate BY variables either.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;I tend to put more faith in log scanning than these error codes, since in log scanning I can decide to treat unusual notes as errors (I have a white list of acceptable notes, rather than&amp;nbsp;a black list of bad notes).&amp;nbsp; I end jobs with a log scan, but of course wouldn't want to log scan after every step.&lt;/P&gt;</description>
    <pubDate>Thu, 02 Jun 2016 15:56:50 GMT</pubDate>
    <dc:creator>Quentin</dc:creator>
    <dc:date>2016-06-02T15:56:50Z</dc:date>
    <item>
      <title>macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271760#M54782</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I utilize the below macro to check for errors and abort the run (but not close the session) if an error is encountered. I use SAS EG. The macro is called at the end of each selected data or proc step ( "&lt;STRONG&gt;%Runquit;"&lt;/STRONG&gt; instead of "&lt;STRONG&gt;run;&lt;/STRONG&gt;" ). The problem I'm having is that SAS aborts not only when there is an error encountered, but also if there is a warning (particularly "variable reference not resolved" warning).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone help me with the code so that SAS doesn't abort if there is a warning, only when an error is encountered?&lt;/P&gt;&lt;P&gt;Thanks so much in advnance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;%Macro&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; &lt;STRONG&gt;&lt;I&gt;Runquit&lt;/I&gt;&lt;/STRONG&gt;; &lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="3"&gt;/* create a macro to use at end of data and proc steps. */&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;; run; quit;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; &amp;amp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;syserr.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; ne &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;0&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%then&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%do&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; ;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%abort&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; cancel;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%end&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;%Mend&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; Runquit ; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="3"&gt;&lt;FONT color="#008000" face="Courier New" size="3"&gt;&lt;FONT color="#008000" face="Courier New" size="3"&gt;/* if error is encountered, this macro will stop running the entire program but won't close the session */&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 May 2016 16:11:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271760#M54782</guid>
      <dc:creator>blakezen</dc:creator>
      <dc:date>2016-05-19T16:11:29Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271761#M54783</link>
      <description>&lt;P&gt;Try&lt;/P&gt;
&lt;P&gt;%if %eval(&amp;amp;syserr &amp;gt; 4)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 19 May 2016 16:17:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271761#M54783</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-05-19T16:17:06Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271764#M54784</link>
      <description>thank you! that worked perfectly, but can you briefly note to me why that syntax solved my issue? what is %eval(&amp;amp;syserr&amp;gt;4) doing to get my issue resolved.&lt;BR /&gt;&lt;BR /&gt;Thanks again!</description>
      <pubDate>Thu, 19 May 2016 16:35:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271764#M54784</guid>
      <dc:creator>blakezen</dc:creator>
      <dc:date>2016-05-19T16:35:34Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271778#M54785</link>
      <description>&lt;P&gt;Syserr has a relatively large number of possible reported values depending on which procedures are involved. We want to use a numeric comparison becuase in default macro processor is a text based system and in text 10 is not greater than 4.&amp;nbsp;From the documentation on SYSERR you see these values of warning or error codes which would not be less than 4 in text comparisons (9999 would but you should get the gist)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="0" cellspacing="0" cellpadding="6"&gt;
&lt;TBODY&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;108&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Problem with one or more BY groups&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;112&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Error with one or more BY groups&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;116&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Memory problems with one or more BY groups&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;120&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;I/O problems with one or more BY groups&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;The following table contains error return codes. The codes do not indicate any specific problems. These codes are guidelines to identify the nature of a problem.&lt;/P&gt;
&lt;TABLE border="0" cellspacing="0" cellpadding="6"&gt;
&lt;TBODY&gt;
&lt;TR valign="bottom"&gt;
&lt;TH width="31%" align="left" valign="bottom"&gt;&lt;A name="a003170075" target="_blank"&gt;&lt;/A&gt;Error Code&lt;/TH&gt;
&lt;TH width="68%" align="left" valign="bottom"&gt;Description&lt;/TH&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;1008&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;General data problem&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;1012&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;General error condition&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;1016&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Out-of-memory condition&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;1020&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;I/O problem&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;2000&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Semantic action problem&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;2001&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Attribute processing problem&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;3000&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Syntax error&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;4000&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Not a valid procedure&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;9999&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;Bug in the procedure&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;20000&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;A step was stopped or an ABORT statement was issued.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;20001&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;An ABORT RETURN statement was issued.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;20002&lt;/TD&gt;
&lt;TD width="68%" align="left" valign="top"&gt;An ABORT ABEND statement was issued.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR valign="top"&gt;
&lt;TD width="31%" align="left" valign="top"&gt;25000&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;</description>
      <pubDate>Thu, 19 May 2016 17:06:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271778#M54785</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-05-19T17:06:09Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271781#M54786</link>
      <description>Thanks so much. This makes everything so much more clear!&lt;BR /&gt;</description>
      <pubDate>Thu, 19 May 2016 17:07:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271781#M54786</guid>
      <dc:creator>blakezen</dc:creator>
      <dc:date>2016-05-19T17:07:22Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271847#M54787</link>
      <description>&lt;P&gt;I think one could safely omit %EVAL in this case, because: "&lt;SPAN&gt;All parts of the macro language that evaluate expressions (for example, %IF and %DO statements) call %EVAL to evaluate the condition." (&lt;A href="http://support.sas.com/documentation/cdl/en/syntaxidx/68719/HTML/default/index.htm#/documentation/cdl/en/mcrolref/67912/HTML/default/n07pr39df9k7m3n1w3x1q09iewta.htm" target="_blank"&gt;documentation of %EVAL function&lt;/A&gt;)&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 May 2016 21:44:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/271847#M54787</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2016-05-19T21:44:00Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274507#M54796</link>
      <description>&lt;P&gt;If you don't want to trigger an error, you can also look at this, though it was created before %abort was available, so is mostly obsolete now.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/kb/24/825.html" target="_blank"&gt;http://support.sas.com/kb/24/825.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Jun 2016 22:43:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274507#M54796</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-06-01T22:43:29Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr NOTE: SAS went to a new line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274516#M54798</link>
      <description>&lt;P&gt;Also note that some warnings really should be notes, like&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;The intervals on the axis labeled&amp;nbsp;xxx are not evenly spaced&lt;/P&gt;
&lt;P&gt;&amp;nbsp;TITLE1 is too long. Height has been reduced ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;while some notes really should be warnings, like&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invalid numeric data, XXXX=yyyy, at line X column X.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invalid argument to function XXX at line XXX column XXX.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Library XXX does not exist.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MERGE statement has more than one data set with repeats of BY values.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Division by zero detected at line XXX column XXX&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mathematical operations could not be performed at the following places&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Interactivity disabled with BY processing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAS went to a new line when INPUT statement reached past the end of a line&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some warnings were later on made into notes, like&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Compressing data set&amp;nbsp;xxx increased size by yyy percent.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wish the rest was reassigned as well....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Jun 2016 23:43:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274516#M54798</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-06-01T23:43:59Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274673#M54852</link>
      <description>Thank you!</description>
      <pubDate>Thu, 02 Jun 2016 14:11:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274673#M54852</guid>
      <dc:creator>blakezen</dc:creator>
      <dc:date>2016-06-02T14:11:28Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274675#M54853</link>
      <description>Thanks for the breakout!</description>
      <pubDate>Thu, 02 Jun 2016 14:12:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274675#M54853</guid>
      <dc:creator>blakezen</dc:creator>
      <dc:date>2016-06-02T14:12:24Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274676#M54854</link>
      <description>Thanks so much, this is useful!</description>
      <pubDate>Thu, 02 Jun 2016 14:12:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274676#M54854</guid>
      <dc:creator>blakezen</dc:creator>
      <dc:date>2016-06-02T14:12:47Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr NOTE: SAS went to a new line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274677#M54855</link>
      <description>Thanks so much ChrisNZ!</description>
      <pubDate>Thu, 02 Jun 2016 14:13:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274677#M54855</guid>
      <dc:creator>blakezen</dc:creator>
      <dc:date>2016-06-02T14:13:10Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr NOTE: SAS went to a new line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274724#M54865</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16961"&gt;@ChrisNZ﻿&lt;/a&gt;&amp;nbsp;The (undocomented) system option dsoptions=note2err will turn a bunch of those bad notes into errors.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unfortunately it does not catch the library does not exist note.&amp;nbsp; I keep thinking there may be a dedicted system option for turning this note into a warning or error, but I can't find it.&amp;nbsp; Would be nice. Doesn't catch merge with duplicate BY variables either.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;I tend to put more faith in log scanning than these error codes, since in log scanning I can decide to treat unusual notes as errors (I have a white list of acceptable notes, rather than&amp;nbsp;a black list of bad notes).&amp;nbsp; I end jobs with a log scan, but of course wouldn't want to log scan after every step.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Jun 2016 15:56:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274724#M54865</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2016-06-02T15:56:50Z</dc:date>
    </item>
    <item>
      <title>Re: macro %runquit; abort if syserr NOTE: SAS went to a new line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274839#M54899</link>
      <description>Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/19879"&gt;@Quentin&lt;/a&gt; Yes it seems everybody has their log scanning routine nowadays. It is bit sad that we need to resort to this because the default behaviour is flawed.</description>
      <pubDate>Fri, 03 Jun 2016 02:25:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-runquit-abort-if-syserr/m-p/274839#M54899</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-06-03T02:25:34Z</dc:date>
    </item>
  </channel>
</rss>

