<?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 How to not end %abort abruptly? in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598467#M16291</link>
    <description>&lt;P&gt;I have this currently:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%Macro&lt;/STRONG&gt; &lt;STRONG&gt;&lt;EM&gt;checksourcetable&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;%&lt;STRONG&gt;&lt;EM&gt;IsReadyToRun&lt;/EM&gt;&lt;/STRONG&gt; (%str(&amp;amp;PROGRAMNAME.), %sysfunc(dequote(&amp;amp;TD_ASOFDT.)));&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if &amp;amp;rl_result_value. eq %str(N) %then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;queueprocess&lt;/EM&gt;&lt;/STRONG&gt;(&amp;amp;rl_process_id.,&lt;STRONG&gt;0.5&lt;/STRONG&gt;);&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;RecordLog&lt;/EM&gt;&lt;/STRONG&gt;(%str(Requeue the process as the input tables have not completely loaded));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; %&lt;STRONG&gt;&lt;EM&gt;ProcessFooter&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %abort cancel;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put 'Source tables available';&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;RecordLog&lt;/EM&gt;&lt;/STRONG&gt;(%str(All source tables are available.));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%end;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%Mend&lt;/STRONG&gt; checksourcetable;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently at %abort cancel, it ends abruptly, instead I want it to go out of the macro to the end of the program and end.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can i change this?&lt;/P&gt;</description>
    <pubDate>Tue, 22 Oct 2019 17:44:47 GMT</pubDate>
    <dc:creator>dgoel</dc:creator>
    <dc:date>2019-10-22T17:44:47Z</dc:date>
    <item>
      <title>How to not end %abort abruptly?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598467#M16291</link>
      <description>&lt;P&gt;I have this currently:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%Macro&lt;/STRONG&gt; &lt;STRONG&gt;&lt;EM&gt;checksourcetable&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;%&lt;STRONG&gt;&lt;EM&gt;IsReadyToRun&lt;/EM&gt;&lt;/STRONG&gt; (%str(&amp;amp;PROGRAMNAME.), %sysfunc(dequote(&amp;amp;TD_ASOFDT.)));&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if &amp;amp;rl_result_value. eq %str(N) %then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;queueprocess&lt;/EM&gt;&lt;/STRONG&gt;(&amp;amp;rl_process_id.,&lt;STRONG&gt;0.5&lt;/STRONG&gt;);&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;RecordLog&lt;/EM&gt;&lt;/STRONG&gt;(%str(Requeue the process as the input tables have not completely loaded));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; %&lt;STRONG&gt;&lt;EM&gt;ProcessFooter&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %abort cancel;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put 'Source tables available';&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;RecordLog&lt;/EM&gt;&lt;/STRONG&gt;(%str(All source tables are available.));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%end;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%Mend&lt;/STRONG&gt; checksourcetable;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently at %abort cancel, it ends abruptly, instead I want it to go out of the macro to the end of the program and end.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can i change this?&lt;/P&gt;</description>
      <pubDate>Tue, 22 Oct 2019 17:44:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598467#M16291</guid>
      <dc:creator>dgoel</dc:creator>
      <dc:date>2019-10-22T17:44:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to not end %abort abruptly?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598504#M16298</link>
      <description>&lt;P&gt;If you don't want to %abort, don't %abort.&amp;nbsp; Do something else instead.&amp;nbsp; For example, set a value for a global macro variable.&amp;nbsp; Then have the next step in the program examine the global macro variable to decide what processing should take place.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Oct 2019 19:41:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598504#M16298</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2019-10-22T19:41:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to not end %abort abruptly?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598506#M16299</link>
      <description>&lt;P&gt;Do you think you can share an example, I am not sure if I understood correctly.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Oct 2019 19:43:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598506#M16299</guid>
      <dc:creator>dgoel</dc:creator>
      <dc:date>2019-10-22T19:43:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to not end %abort abruptly?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598547#M16307</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/293213"&gt;@dgoel&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I have this currently:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;%Macro&lt;/STRONG&gt; &lt;STRONG&gt;&lt;EM&gt;checksourcetable&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;%&lt;STRONG&gt;&lt;EM&gt;IsReadyToRun&lt;/EM&gt;&lt;/STRONG&gt; (%str(&amp;amp;PROGRAMNAME.), %sysfunc(dequote(&amp;amp;TD_ASOFDT.)));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; %if &amp;amp;rl_result_value. eq %str(N) %then&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;
&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;queueprocess&lt;/EM&gt;&lt;/STRONG&gt;(&amp;amp;rl_process_id.,&lt;STRONG&gt;0.5&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;RecordLog&lt;/EM&gt;&lt;/STRONG&gt;(%str(Requeue the process as the input tables have not completely loaded));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; %&lt;STRONG&gt;&lt;EM&gt;ProcessFooter&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; %abort cancel;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; %else&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put 'Source tables available';&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;RecordLog&lt;/EM&gt;&lt;/STRONG&gt;(%str(All source tables are available.));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%end;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;%Mend&lt;/STRONG&gt; checksourcetable;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Currently at %abort cancel, it ends abruptly, instead I want it to go out of the macro to the end of the program and end.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can i change this?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If you want to skip to the&amp;nbsp;end of the macro Checksourcetable try this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;%Macro checksourcetable;
  %IsReadyToRun (%str(&amp;amp;PROGRAMNAME.), %sysfunc(dequote(&amp;amp;TD_ASOFDT.)));
  %if &amp;amp;rl_result_value. eq %str(N) %then
    %do;
%queueprocess(&amp;amp;rl_process_id.,0.5);
%RecordLog(%str(Requeue the process as the input tables have not completely loaded));
     %ProcessFooter;
  &lt;STRONG&gt;&lt;FONT color="#ff00ff"&gt;%goto eom;
&lt;/FONT&gt;&lt;/STRONG&gt;    %end;
  %else
    %do;
      %put 'Source tables available';   
%RecordLog(%str(All source tables are available.));
    %end;
 
&lt;STRONG&gt;&lt;FONT color="#ff00ff"&gt;%eom:&lt;/FONT&gt;&lt;/STRONG&gt; %Mend checksourcetable;&lt;/PRE&gt;
&lt;P&gt;Nothing magic about eom above it is just a label. I used that for "end of macro".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please post code into a code box opened on the forum using the {I} icon to preserve formatting. The message windows will reformat text quite a bit sometimes removing white space or inserting line breaks when copy and pasting to the editor.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Oct 2019 22:04:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-not-end-abort-abruptly/m-p/598547#M16307</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-10-22T22:04:17Z</dc:date>
    </item>
  </channel>
</rss>

