<?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: base sas in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96511#M20369</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if the objective is to control data loading so that records with invalid data go into a rejects pile, and the good stuff is stored separately, then little additional programming is needed, because SAS supports convenient variable lists on INPUT statements.&lt;/P&gt;&lt;P&gt;As with much of "old SAS" not a lot of people seem to remember&lt;/P&gt;&lt;P&gt;input ( a--b) (?) ;&lt;/P&gt;&lt;P&gt;will input all variables starting with A through to variable B (in the order defined to the compiler) with default informats and suppress invalid data messages, but still setting _ERROR_ to 1 if any informat fails to recognise its data..&lt;/P&gt;&lt;P&gt;The style&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( var list) (format list and format modifiers)&lt;/P&gt;&lt;P&gt;allows the ? modifier to apply to all these variables.&lt;/P&gt;&lt;P&gt;The data step structure would then work like&lt;/P&gt;&lt;P&gt;data errors( compress=yes)&amp;nbsp; wanted( drop= record ) ;&lt;/P&gt;&lt;P&gt;length A 8 ;&lt;/P&gt;&lt;P&gt;informat var1 informat_for_var1&amp;nbsp; var2 $informat_for_var2&amp;nbsp; var3 ..............varZ informat_for_varZ ;&lt;/P&gt;&lt;P&gt;length B $1&amp;nbsp; record $1000 ;&lt;/P&gt;&lt;P&gt;infile 'where-ever\your_data' truncover {other infile options} ;&lt;/P&gt;&lt;P&gt;input (var1 -- varz) (?) @ ;&lt;/P&gt;&lt;P&gt;record = _infile_ ; &lt;/P&gt;&lt;P&gt;if _error_ then&amp;nbsp; output errors ; else output wanted ;&lt;/P&gt;&lt;P&gt;drop A B ; &lt;/P&gt;&lt;P&gt;_error_ = 0 ;&lt;/P&gt;&lt;P&gt;run ; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; although I didn't use A and B they seem to appear in many of my programs where I might want to subset the list of variables to pick out just the numerics or just the character variables, because another variable list that is suppoprted in a data step&amp;nbsp; is&lt;/P&gt;&lt;P&gt;a-numeric-b or a-character-B .&lt;/P&gt;&lt;P&gt; put ( a-numeric-b )( =/) ;&lt;/P&gt;&lt;P&gt; would just PUT the variables between A and B.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Apr 2013 21:41:49 GMT</pubDate>
    <dc:creator>Peter_C</dc:creator>
    <dc:date>2013-04-04T21:41:49Z</dc:date>
    <item>
      <title>base sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96504#M20362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data have;&lt;BR /&gt;input var $ &amp;amp;;&lt;BR /&gt;cards;&lt;BR /&gt;23,32&lt;BR /&gt;12.32&lt;BR /&gt;32 42&lt;BR /&gt;23ab&lt;BR /&gt;$23&lt;BR /&gt;123&lt;BR /&gt;1,5&lt;BR /&gt;2.6&lt;BR /&gt;1,2,3&lt;/P&gt;&lt;P&gt;1,2.4&lt;BR /&gt;1.2.5&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to load required data (nearest integers and digits) in want and error data in error. &lt;/P&gt;&lt;P&gt;want:&lt;/P&gt;&lt;P&gt;23&lt;BR /&gt;12&lt;BR /&gt;123&lt;BR /&gt;2&lt;BR /&gt;3&lt;/P&gt;&lt;P&gt;error: load below error data (notdigits other than , and .) and , or . appear in more than once&lt;BR /&gt;23ab&lt;BR /&gt;$23&lt;BR /&gt;1,2,3&lt;/P&gt;&lt;P&gt;1,2.4&lt;BR /&gt;1.2.5&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Apr 2013 17:59:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96504#M20362</guid>
      <dc:creator>sunilreddy</dc:creator>
      <dc:date>2013-04-03T17:59:58Z</dc:date>
    </item>
    <item>
      <title>Re: base sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96505#M20363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The fun of data cleaning.&lt;/P&gt;&lt;P&gt;Look at anydigit, anychar etc functions to get you started.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Apr 2013 18:02:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96505#M20363</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-04-03T18:02:24Z</dc:date>
    </item>
    <item>
      <title>Re: base sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96506#M20364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;/* test.sas */&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input var $ &amp;amp;;&lt;BR /&gt;cards;&lt;BR /&gt;23,32&lt;BR /&gt;12.32&lt;BR /&gt;32 42&lt;BR /&gt;23ab&lt;BR /&gt;$23&lt;BR /&gt;123&lt;BR /&gt;1,5&lt;BR /&gt;2.6&lt;BR /&gt;1,2,3&lt;BR /&gt;1,2.4&lt;BR /&gt;1.2.5&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;data required error_data (drop=varN);&lt;BR /&gt;&amp;nbsp; set have;&lt;BR /&gt;cnt = countc(var,'.,');&amp;nbsp; /* count periods and commas */&lt;BR /&gt;if cnt in (0 1) then do; /* may be valid */&lt;BR /&gt;&amp;nbsp; tmpC = translate(var,'.',',');&amp;nbsp; /* change comma to period */&lt;BR /&gt;&amp;nbsp; tmp = input(tmpC,??best12.);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* can be numeric? */&lt;BR /&gt;end;&lt;BR /&gt;else &lt;BR /&gt;&amp;nbsp; tmp = .;&amp;nbsp;&amp;nbsp; /* missing value means invalid input */&lt;BR /&gt;if tmp = . then&lt;BR /&gt;&amp;nbsp; output error_data; /* write to error file */&lt;BR /&gt;else do;&lt;BR /&gt;&amp;nbsp; varN = round(tmp); /* find nearest integer */&lt;BR /&gt;&amp;nbsp; output required;&amp;nbsp;&amp;nbsp; /* write to OK file */&lt;BR /&gt;end;&lt;BR /&gt;drop tmp tmpC cnt;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc print data=required; title "Nearest integer";run;&lt;BR /&gt;proc print data=error_data; title "Contains invalid characters ";run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************&lt;/P&gt;&lt;P&gt;cheers,&lt;/P&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Apr 2013 19:44:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96506#M20364</guid>
      <dc:creator>jwsquillace</dc:creator>
      <dc:date>2013-04-03T19:44:23Z</dc:date>
    </item>
    <item>
      <title>Re: base sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96507#M20365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use _ERROR_ to detect&amp;nbsp; invalid data, to write to ERRORS table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;63&amp;nbsp;&amp;nbsp; data have want errors;&lt;BR /&gt;64&amp;nbsp;&amp;nbsp; infile datalines truncover ;&lt;BR /&gt;65&amp;nbsp;&amp;nbsp; input&amp;nbsp; @1 chars $char20.&amp;nbsp; @1 nums ?&amp;nbsp; ;&lt;BR /&gt;66&amp;nbsp;&amp;nbsp; if _error_ then output errors ; else output want ;&lt;BR /&gt;67&amp;nbsp;&amp;nbsp; output have ;&lt;BR /&gt;68&amp;nbsp;&amp;nbsp; _error_=0 ;&lt;BR /&gt;69&amp;nbsp;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.HAVE has 12 observations and 2 variables.&lt;BR /&gt;NOTE: The data set WORK.WANT has 5 observations and 2 variables.&lt;BR /&gt;NOTE: The data set WORK.ERRORS has 7 observations and 2 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.08 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.06 seconds&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;82&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;83&amp;nbsp;&amp;nbsp; data _null_ ;&lt;BR /&gt;84&amp;nbsp;&amp;nbsp; do while( not end1) ;&lt;BR /&gt;85&amp;nbsp;&amp;nbsp; set want end= end1 ;&lt;BR /&gt;86&amp;nbsp;&amp;nbsp; put nums= ;&lt;BR /&gt;87&amp;nbsp;&amp;nbsp; end ;&lt;BR /&gt;88&amp;nbsp;&amp;nbsp; do while( not end2) ;&lt;BR /&gt;89&amp;nbsp;&amp;nbsp; set errors end= end2 ;&lt;BR /&gt;90&amp;nbsp;&amp;nbsp; put chars= ;&lt;BR /&gt;91&amp;nbsp;&amp;nbsp; end ;&lt;BR /&gt;92&amp;nbsp;&amp;nbsp; stop;&lt;BR /&gt;93&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;nums=12.32&lt;BR /&gt;nums=32&lt;BR /&gt;nums=123&lt;BR /&gt;nums=2.6&lt;BR /&gt;nums=.&lt;BR /&gt;chars=23,32&lt;BR /&gt;chars=23ab&lt;BR /&gt;chars=$23&lt;BR /&gt;chars=1,5&lt;BR /&gt;chars=1,2,3&lt;BR /&gt;chars=1,2.4&lt;BR /&gt;chars=1.2.5&lt;BR /&gt;NOTE: There were 5 observations read from the data set WORK.WANT.&lt;BR /&gt;NOTE: There were 7 observations read from the data set WORK.ERRORS.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.14 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Apr 2013 22:39:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96507#M20365</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2013-04-03T22:39:33Z</dc:date>
    </item>
    <item>
      <title>Re: base sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96508#M20366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Would it be possible to use same validations&amp;nbsp; for multiple variables as var column in efficient way&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Apr 2013 22:57:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96508#M20366</guid>
      <dc:creator>sunilreddy</dc:creator>
      <dc:date>2013-04-03T22:57:12Z</dc:date>
    </item>
    <item>
      <title>Re: base sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96509#M20367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Peter's approach with 2 small amendments:&lt;/P&gt;&lt;P&gt;1. use a informat which deals with both ',' and '.'&lt;/P&gt;&lt;P&gt;2. set "errors" to 0 for not cluttering the log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to apply the round() function to multiple variables then use an array and loop over this array.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let save_errors=%str(errors=%sysfunc(getoption(errors)));&lt;BR /&gt;options errors=0;&lt;BR /&gt;data error(keep=record) want(drop=record);&lt;BR /&gt;&amp;nbsp; infile datalines truncover;&lt;BR /&gt;&amp;nbsp; input&amp;nbsp; nums ? numx32.;&lt;BR /&gt;&amp;nbsp; if _error_ or missing(_infile_) then&lt;BR /&gt;&amp;nbsp; do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; record=_infile_;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output error;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; else do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nums=round(nums,1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output want;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;cards;&lt;BR /&gt;23,32&lt;BR /&gt;12.32&lt;BR /&gt;32 42&lt;BR /&gt;23ab&lt;BR /&gt;$23&lt;BR /&gt;123&lt;BR /&gt;1,5&lt;BR /&gt;2.6&lt;BR /&gt;1,2,3&lt;/P&gt;&lt;P&gt;1,2.4&lt;BR /&gt;1.2.5&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;options &amp;amp;save_errors;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Apr 2013 03:27:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96509#M20367</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2013-04-04T03:27:00Z</dc:date>
    </item>
    <item>
      <title>Re: base sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96510#M20368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And more for fun than thought to be actually used:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc fcmp outlib=work.funcs.trial;&lt;BR /&gt;&amp;nbsp; function str2num(string $);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if prxmatch('/^\d*[,\.]?\d*$/oi',strip(string)) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; num=input(string,numx.);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; num=round(num,1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (num);&lt;BR /&gt;&amp;nbsp; endsub;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;options cmplib=work.funcs;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc format;&lt;BR /&gt;&amp;nbsp; invalue testx&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; other=[str2num()]&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data error(keep=record) want(drop=record);&lt;BR /&gt;&amp;nbsp; infile datalines truncover;&lt;BR /&gt;&amp;nbsp; input nums testx16.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if missing(nums) then&lt;BR /&gt;&amp;nbsp; do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; record=_infile_;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output error;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; else do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output want;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;cards;&lt;BR /&gt;23,32&lt;BR /&gt;12.32&lt;BR /&gt;32 42&lt;BR /&gt;23ab&lt;BR /&gt;$23&lt;BR /&gt;123&lt;BR /&gt;1,5&lt;BR /&gt;2.6&lt;BR /&gt;1,2,3&lt;/P&gt;&lt;P&gt;1,2.4&lt;BR /&gt;1.2.5&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Apr 2013 04:06:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96510#M20368</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2013-04-04T04:06:23Z</dc:date>
    </item>
    <item>
      <title>Re: base sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96511#M20369</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if the objective is to control data loading so that records with invalid data go into a rejects pile, and the good stuff is stored separately, then little additional programming is needed, because SAS supports convenient variable lists on INPUT statements.&lt;/P&gt;&lt;P&gt;As with much of "old SAS" not a lot of people seem to remember&lt;/P&gt;&lt;P&gt;input ( a--b) (?) ;&lt;/P&gt;&lt;P&gt;will input all variables starting with A through to variable B (in the order defined to the compiler) with default informats and suppress invalid data messages, but still setting _ERROR_ to 1 if any informat fails to recognise its data..&lt;/P&gt;&lt;P&gt;The style&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( var list) (format list and format modifiers)&lt;/P&gt;&lt;P&gt;allows the ? modifier to apply to all these variables.&lt;/P&gt;&lt;P&gt;The data step structure would then work like&lt;/P&gt;&lt;P&gt;data errors( compress=yes)&amp;nbsp; wanted( drop= record ) ;&lt;/P&gt;&lt;P&gt;length A 8 ;&lt;/P&gt;&lt;P&gt;informat var1 informat_for_var1&amp;nbsp; var2 $informat_for_var2&amp;nbsp; var3 ..............varZ informat_for_varZ ;&lt;/P&gt;&lt;P&gt;length B $1&amp;nbsp; record $1000 ;&lt;/P&gt;&lt;P&gt;infile 'where-ever\your_data' truncover {other infile options} ;&lt;/P&gt;&lt;P&gt;input (var1 -- varz) (?) @ ;&lt;/P&gt;&lt;P&gt;record = _infile_ ; &lt;/P&gt;&lt;P&gt;if _error_ then&amp;nbsp; output errors ; else output wanted ;&lt;/P&gt;&lt;P&gt;drop A B ; &lt;/P&gt;&lt;P&gt;_error_ = 0 ;&lt;/P&gt;&lt;P&gt;run ; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; although I didn't use A and B they seem to appear in many of my programs where I might want to subset the list of variables to pick out just the numerics or just the character variables, because another variable list that is suppoprted in a data step&amp;nbsp; is&lt;/P&gt;&lt;P&gt;a-numeric-b or a-character-B .&lt;/P&gt;&lt;P&gt; put ( a-numeric-b )( =/) ;&lt;/P&gt;&lt;P&gt; would just PUT the variables between A and B.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Apr 2013 21:41:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/base-sas/m-p/96511#M20369</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2013-04-04T21:41:49Z</dc:date>
    </item>
  </channel>
</rss>

