<?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: Commenting standards in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91697#M26124</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1.&amp;nbsp; While the "/* */" combination works fine, it is not a good idea to use it for comments or headers.&amp;nbsp; It inteferes when you wish to comment out a section of code for testing purposes. &lt;/P&gt;&lt;P&gt;2.&amp;nbsp; I prefer to use the "****;" method, both for headers and in-code comments.&lt;/P&gt;&lt;P&gt;3.&amp;nbsp; A good header will give the program name and path, the creator and date, the purpose of the program, input and output file(s) and path(s), macros defined/used, marco variables created in the program and their purpose.&lt;/P&gt;&lt;P&gt;4.&amp;nbsp; It is essential to have a MODIFICATION section of the header to keep track of all the edits made&lt;/P&gt;&lt;P&gt;5.&amp;nbsp; A "run instructions" section is also a good idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 29 Mar 2013 20:54:21 GMT</pubDate>
    <dc:creator>JerryH</dc:creator>
    <dc:date>2013-03-29T20:54:21Z</dc:date>
    <item>
      <title>Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91690#M26117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've been asked to comment a Foundation SAS program extensively, this program has 20 or so data steps and various Procs. I've developed the program, and am familiar with it. The intended audience has limited SAS experience. My thought is to include a standard comment section at the head of each data step or Proc, with headings such as&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Purpose of data step/proc:&lt;/P&gt;&lt;P&gt;Inputs:&lt;/P&gt;&lt;P&gt;Outputs:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone have any suggestions on what other information I could include, any alternative approaches, and is there any documentation available? I have been unable to find anything online. &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 14:54:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91690#M26117</guid>
      <dc:creator>mediaeval</dc:creator>
      <dc:date>2013-03-28T14:54:08Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91691#M26118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks for stating your audience;&lt;/P&gt;&lt;P&gt;that is a very important consideration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are several links here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/Category:Documentation" title="http://www.sascommunity.org/wiki/Category:Documentation"&gt;http://www.sascommunity.org/wiki/Category:Documentation&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my minimum block is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; /*&lt;/TD&gt;&lt;TD&gt;name:&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;description: &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;purpose:&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;*******/&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;which has evolved from my leave.no.Q.unaswered form in:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/Writing_for_Reading_Program_Header" title="http://www.sascommunity.org/wiki/Writing_for_Reading_Program_Header"&gt;http://www.sascommunity.org/wiki/Writing_for_Reading_Program_Header&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for ultimate Goodness in Document see the LaTeX package statrep&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/Using_LaTeX_to_document_programs" title="http://www.sascommunity.org/wiki/Using_LaTeX_to_document_programs"&gt;http://www.sascommunity.org/wiki/Using_LaTeX_to_document_programs&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ron Fehd&amp;nbsp; ReUse maven&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 15:27:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91691#M26118</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2013-03-28T15:27:18Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91692#M26119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**************************************************************************************************************&lt;/P&gt;&lt;P&gt;/* &amp;lt;&amp;lt;TITLE&amp;gt;&amp;gt; samplecode.SAS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/* Requested by &amp;lt;&amp;lt;REQUESTOR&amp;gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;DEPT&amp;gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;TKT#&amp;gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;WIT#&amp;gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;CR#&amp;gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/* &amp;lt;&amp;lt;DESCRIPTION&amp;gt;&amp;gt;A brief description of the program&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/* Category: &amp;lt;&amp;lt;REG/NON_REG&amp;gt;&amp;gt;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/* Schedule: &amp;lt;&amp;lt;D,W,M,Q,S,Y,OTHER Specify&amp;gt;&amp;gt; Weekly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/* Destination: &amp;lt;&amp;lt;LOCATION&amp;gt;&amp;gt;&amp;nbsp;&amp;nbsp; Output files location&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/* Delivery Method: &amp;lt;&amp;lt;SECURE EMAIL, FILE SERVER, FTP, OTHER Specify &amp;gt;&amp;gt; FILE SERVER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/* CREATED BY:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*&amp;nbsp; REPORTING TEAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*&amp;nbsp; &amp;lt;&amp;lt;PROGRAMMER&amp;gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*&amp;nbsp; &amp;lt;&amp;lt;BSA&amp;gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*&amp;nbsp; &amp;lt;&amp;lt;DATE&amp;gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*&amp;nbsp; MAINTENANCE (maintain existing entries, add new on separate lines)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*&amp;nbsp; MM/DD/YYYY PROGRAMMER ID&amp;nbsp;&amp;nbsp; BSA ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TKT#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WIT#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CR#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/**************************************************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="3-28-2013 11-36-52 AM.png" class="jive-image-thumbnail jive-image" height="275" src="https://communities.sas.com/legacyfs/online/3294_3-28-2013 11-36-52 AM.png" width="891" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 15:38:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91692#M26119</guid>
      <dc:creator>jshaik</dc:creator>
      <dc:date>2013-03-28T15:38:08Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91693#M26120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thorough&lt;/P&gt;&lt;P&gt;I like that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;YeahBut&lt;/P&gt;&lt;P&gt;ALL CAPS IS HARD TO READ, ESPECIALLY FOR NON-NATIVE SPEAKERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;therefore I recommend lower case&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ron fehd lowcase maven&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 16:48:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91693#M26120</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2013-03-28T16:48:36Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91694#M26121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think the idea of description of why a data step or block of procs is used is a good idea. I often at the head of the program have a section of comments to describe in brief english an outline of the program. Then in the body describe when the outline elements begin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suggest that any not-intuitively-obvious code in a data step have a line or two of comment about why or what it does. For example I have data sets were coding standards changed over a period of time so there may be date dependent manipulations. Of if using somewhat obscure code like newvar = (var1=3)*1 + (var2=4)*1 + (var3 = 1)*1; to create a 0 or 1 valued variable in one line instead of a bunch of if /then statements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DO note any code that may not work if the range of values changes!!!! I often place a comment like&lt;/P&gt;&lt;P&gt;/* ### WARNING: Only works if varx is positive */&amp;nbsp; The ### is something I can search for to find potential land mines is programs that are not used frequently or are one-offs where it may not be worth the time to code around likely problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And if MACROS are involved maybe comment twice as often.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 17:05:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91694#M26121</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2013-03-28T17:05:45Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91695#M26122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Whatever you decide upon for content, here is a form that I like to use.&amp;nbsp; All comments should be macro language comments with an extra asterisk:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%** Here is the text of the comment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **;&lt;/P&gt;&lt;P&gt;%** Here is the second line of the comment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If a comment extends beyond more line, use a separate comment statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The reasons for doing this is that it makes it easy to locate and extract all comments that a program contains.&amp;nbsp; You can comment out a section of the code using /* and */, without having to worry about whether it will appear to be an important piece of documentation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 17:28:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91695#M26122</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2013-03-28T17:28:55Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91696#M26123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the Enhanced Editor or EG blocks of text can easily be inserted using Keyboard abbreviations.&amp;nbsp; a number of these abbreviations have been posted on a sasCommunity article. &lt;A class="active_link" href="http://www.sascommunity.org/wiki/Abbreviations/Macros" title="http://www.sascommunity.org/wiki/Abbreviations/Macros"&gt;http://www.sascommunity.org/wiki/Abbreviations/Macros&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 18:43:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91696#M26123</guid>
      <dc:creator>ArtC</dc:creator>
      <dc:date>2013-03-28T18:43:48Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91697#M26124</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1.&amp;nbsp; While the "/* */" combination works fine, it is not a good idea to use it for comments or headers.&amp;nbsp; It inteferes when you wish to comment out a section of code for testing purposes. &lt;/P&gt;&lt;P&gt;2.&amp;nbsp; I prefer to use the "****;" method, both for headers and in-code comments.&lt;/P&gt;&lt;P&gt;3.&amp;nbsp; A good header will give the program name and path, the creator and date, the purpose of the program, input and output file(s) and path(s), macros defined/used, marco variables created in the program and their purpose.&lt;/P&gt;&lt;P&gt;4.&amp;nbsp; It is essential to have a MODIFICATION section of the header to keep track of all the edits made&lt;/P&gt;&lt;P&gt;5.&amp;nbsp; A "run instructions" section is also a good idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Mar 2013 20:54:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91697#M26124</guid>
      <dc:creator>JerryH</dc:creator>
      <dc:date>2013-03-29T20:54:21Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91698#M26125</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do agree "/* */" is as not distinguishable as "******" when doing headers, but when I try to comment out section of code with comments in it, I find Macro format coming in handy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%Macro xx;&lt;/P&gt;&lt;P&gt;/*1. While the "/* */" combination works fine, it is not a good idea to use it for comments or*/&lt;/P&gt;&lt;P&gt;/*headers. It inteferes when you wish to comment out a section of code for testing purposes*/&lt;/P&gt;&lt;P&gt;%Mend xx;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Mar 2013 21:10:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91698#M26125</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-03-29T21:10:12Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91699#M26126</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I find that it is best to put brief comments before sections of code.&amp;nbsp; This could be a single proc or data steps, but will also frequently be a little less often. For example if you have two proc sorts followed by a merge then that whole block only needs one comment. The comments should describe the purpose of the code and not what it is doing.&amp;nbsp; For example there is no need for a comment that says "sort by id" before code "proc sort; by id;" .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As to which of the three types of comments (block - /*&amp;nbsp; */, statement - * ;, or macro %* ; ) to use it depends on the location and purpose of the comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I reserve block comments /* */ for program headers (especially when the program headers might include example usage statements that will have embedded semi-colons) or in the rare instance when it is necessary to put a comment in the middle of another statement.&amp;nbsp; This will allow you the option of using block comments for debugging code.&amp;nbsp; It also avoids issue caused by trying to nest block comments.&amp;nbsp; When I use /* */ to create a block comment I make it one comment even when it extends to multiple lines (see note below about "boxes").&amp;nbsp; Again this makes it easier to include example usage code in the program header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When placing comments before a block of code I use statement comments.&amp;nbsp; Each comment is a complete line in the code file (starts with * and ends with ;&amp;nbsp; ). If you use statement comments in a macro then when MPRINT option is on those comments print in the log and serve as a guide when reviewing the SAS log.&amp;nbsp; Making each comment its own line of code means that they will print in the LOG as they appear in the code file, keeping the LOG readable.&amp;nbsp; I also do not place comments at the end of a line after a piece of code. When reading the code I like to see the comment first to help me decide if I even need to examine the actual code in detail.&amp;nbsp; Plus when your code is in a macro and MPRINT is one the comment will then print on the line after the code and make the log more confusing than if the comment precedes the code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use macro comments (%* ... ;&amp;nbsp; ) in two places. When a macro is only generating macro statements (%let, %if, etc).&amp;nbsp; Again this will make the SAS log more readable.&amp;nbsp; If you use statement comments in that situation they print in the log where there is no code generated.&amp;nbsp; Usually you want the log to reflect the SAS code the macro generated rather than its internal logic.&amp;nbsp; The other place is when the comment is intended for the coder, like in BALLARDW's post above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I never attempt to right align ends of comments to create pretty boxes.&amp;nbsp; They never stay aligned and can lead to problems when they end up being pushed&amp;nbsp; out to column 160 during editing.&amp;nbsp; I just received a program to review this week that used that style and had that problem.&amp;nbsp; Plus with "modern" editors that use proportional spaced fonts they can never line up anyway.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I DO use comments lines to create horizontal rules above and below blocks of comments, but preferring minimal ink I use *----; rather than *****;&amp;nbsp; These lines serve two purposes. First to provide visual separation between the comment and the code or between the blocks of code.&amp;nbsp; The second is to provide a reference line so that I know when my lines of code have gotten too long for human consumption.&amp;nbsp; Ask yourself why do newspapers and magazines print their pages in columns?&amp;nbsp; It is because of the limitations of the human field of vision.&amp;nbsp; Making lines of text longer than 70 or 80 characters and they cannot be scanned or read easily.&amp;nbsp; To this purpose I always make these horizontal line comments the same length.&amp;nbsp; They always start in column one.&amp;nbsp; I do NOT indent comment blocks to reflect the indentation level of the code.&amp;nbsp; This just makes it harder to align the comments and cuts down on the number of characters you can put on one line of comment.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Mar 2013 23:41:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91699#M26126</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2013-03-29T23:41:28Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91700#M26127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;All great comments (pun intended!) to the OP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adding some thoughts:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* As Tom says, document the &lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;business&lt;/STRONG&gt;&lt;/SPAN&gt; logic, rather than obvious &lt;SPAN style="text-decoration: underline;"&gt;technical&lt;/SPAN&gt; logic.&amp;nbsp; IOW, say &lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;why&lt;/STRONG&gt;&lt;/SPAN&gt; are you sorting by a b c, not that that next block of code is (obviously) sorting by a b c.&lt;/P&gt;&lt;P&gt;* Ditch the trailing */ on a multi-line block comment.&amp;nbsp; It adds no value, and is either a pain to keep aligned, or a waste of programmer time if you try to do so.&amp;nbsp; We're programmers, not ASCII artists.&amp;nbsp; IOW,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;
&lt;P&gt;/****************************&lt;/P&gt;
&lt;P&gt;* Description:&lt;/P&gt;
&lt;P&gt;* More Stuff&lt;/P&gt;
&lt;P&gt;* ***************************/&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P&gt;/****************************/&lt;/P&gt;
&lt;P&gt;* Description:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P&gt;* More Stuff&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P&gt;* ***************************/&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Same for trailing semi-colons on * ; style comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* I tend to put no space between code and trailing semi-colon, and a space between comment and trailing semi-colon, but that is very much a personal coding style.&amp;nbsp; I've seen others that put a space before all semi-colons.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;
&lt;P&gt;* Sort by keys and todate to retain the most recent record ;&lt;/P&gt;
&lt;P&gt;proc sort data=foo;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; by key1 key2 todate;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;* Retain the last record ;&lt;/P&gt;
&lt;P&gt;data bar;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; set foo;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; by key1 key2 todate;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if last.todate;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Within macro code, * ; style comments will print in the log, /* */ and %* ; style comments will not.&amp;nbsp; So, whether you are trying to document the code, or the generated code determine which commenting style to use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* A "trick" I occasionally use, esp. during development, and more esp. if I've inherited code over using /* */ block comments, is to use an uncalled macro to comment a large block of code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P&gt;/* The previous programmer */&lt;/P&gt;
&lt;P&gt;/* used block style comments */&lt;/P&gt;
&lt;P&gt;/* everywhere, outside of the */&lt;/P&gt;
&lt;P&gt;/* program header */&lt;/P&gt;
&lt;P&gt;proc foo;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;%macro comment;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/* More block comments here */&lt;/P&gt;
&lt;P&gt;data whatever;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/* some final comments */&lt;/P&gt;
&lt;P&gt;/* why didn't they just use statement style comments? */&lt;/P&gt;
&lt;P&gt;proc bar;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;%mend;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not advocating this as a best practice by any means, just saying it's another "commenting code out" approach that's sometimes useful during development.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Ask 20 programmers (try to pick good ones lol), you'll get 20 program header block styles.&amp;nbsp; Review a few and decide what works for you.&amp;nbsp; Or your company may come up with a standard program header.&amp;nbsp; What I like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Name&lt;/P&gt;&lt;P&gt;- Description&lt;/P&gt;&lt;P&gt;- Input (optional - if describing the input adds value)&lt;/P&gt;&lt;P&gt;- Output (optional - if describing the output adds value)&lt;/P&gt;&lt;P&gt;- Original SAS version (I've learned this over time - why didn't they just use NODUPOUT?&amp;nbsp; Oh, cuz it was developed in SAS 9.1)&lt;/P&gt;&lt;P&gt;- Original programmer (does he/she still work here?)&lt;/P&gt;&lt;P&gt;- Original date&lt;/P&gt;&lt;P&gt;- Macros called (kind of a pain to maintain, but a big help for impact analysis if you want to change a macro)&lt;/P&gt;&lt;P&gt;- Modification history&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Esp. for macros, I also like a complete usage example and usage notes.&amp;nbsp; If possible I like the usage examples to be working, standalone code, not pseudocode.&amp;nbsp; Sometimes my macro headers are longer than the macro code!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, here's an example (sorry for the length):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;/*=====================================================================&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Program Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : create_format.sas&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Purpose&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Create a format from an input dataset.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;SAS Version&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : SAS 9.1.3&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Input Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Input Dataset&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Output Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Formats&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Macros Called&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : parmv, kill, nobs&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Originally Written by&amp;nbsp;&amp;nbsp; : Scott Bass&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 23MAR2007&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Program Version #&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1.0&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;=======================================================================&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Modification History&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Programmer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Scott Bass&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 30NOV2012&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Change/reason&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Changed to use SPDEWORK library for better&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; performance&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Program Version #&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1.1&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;=====================================================================*/&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;/*----------------------------------------------------------------------&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Usage:&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;%create_format(&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA=WORK.FOO&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,NAME=ABC_FMT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;);&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Create $ABC_FMT format in WORK.FORMATS catalog using WORK.FOO as input.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;WORK.FOO should contain the variables START and LABEL.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;=======================================================================&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;%create_format(&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA=WORK.FOO&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,NAME=DEF_FMT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,TYPE=NUM_FORMAT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,START=START_VALUE&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,END=END_VALUE&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,LABEL=DESCR&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,LIB=LIBRARY&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,CAT=FORMATS&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Create DEF_NUM format in LIBRARY.FORMATS catalog using WORK.FOO as input.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;WORK.FOO should contain the variables START_VALUE, END_VALUE, and DESCR.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;=======================================================================&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;%create_format(&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA=PERM.DATASET&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,NAME=GHI_CHR&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,TYPE=CHR_INFORMAT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,START=NAME&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,LABEL=DESCR&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,LIB=LIBRARY&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,CAT=MYFORMAT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,OTHER=**UNKNOWN**&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,WHERE=DATE gt "01JAN2007"d&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Create GHI_CHR informat in LIBRARY.MYFORMAT catalog using PERM.DATASET as input.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Input data not matching any of the ranges should be coded to "**UNKNOWN**".&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;PERM.DATASET should contain the variables NAME and DESCR.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Only include records after 01JAN2007 in the format.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;=======================================================================&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;%create_format(&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA=WORK.FOO&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,NAME=cats("MY_",FMT)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ,TYPE=CHR FORMAT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Create multiple formats from input dataset WORK.FOO.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Create the formats in the default catalog (WORK.FORMATS).&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;The name of the format is contained in the variable FMT.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;We want the format names to begin with MY_.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;WORK.FOO should contain the variables START and LABEL.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;------------------------------------------------------------------------&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Notes:&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;If the input dataset contains data for multiple formats&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;(i.e. it contains data for the name of the format), then the format&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;name string should contain a left-parentheses.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;For example:&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;(VAR):&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; Would just use VAR as is from the input dataset.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; The parentheses are just a trigger to the macro to treat this&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; as a code fragment.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;cats("FOO_",VAR):&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; Would append "FOO_" to the VAR variable in the input dataset.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Otherwise &amp;amp;NAME will be used as a hard-coded format name for the entire&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;input dataset.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Combining a code fragment for the format name with Other processing&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;will result in only the last format containing Other processing.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;No error checking is done on the input parameters (other than checking&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;if required parameters are set).&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;The variables for VALUE and LABEL should be character or automatic type&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;conversion will result.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Except for START and LABEL, your input dataset should avoid using&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;variable names listed in the attrib statement below.&amp;nbsp; For example, if&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;your input dataset contained the variable PREFIX, and you used it for&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;the VALUE or LABEL parameters, your data would likely be truncated&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;giving undesired results.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;The macro issues a warning if your input dataset contains overlapping&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;ranges.&amp;nbsp; You should pre-process your input dataset to circumvent this&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;warning.&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;----------------------------------------------------------------------*/&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%macro &lt;STRONG&gt;&lt;EM&gt;create_format&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;/*---------------------------------------------------------------------&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;Create a format from an input table&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;---------------------------------------------------------------------*/&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;(DATA=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Input dataset/view (REQ).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Should be a two-level name.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,LIB=WORK&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Format library (REQ).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Library to which the format is written.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,CAT=FORMATS&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Format catalog (REQ).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Catalog to which the format is written.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,NAME=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Format name (REQ).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Either a hard coded name, or a code fragment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* (that could reference a variable in the&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* input dataset/view.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,TYPE=CHR_FORMAT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Format type (REQ).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Valid values are CHR_FORMAT, NUM_FORMAT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* CHR_INFORMAT, NUM_INFORMAT.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,START=START&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Starting value for the format (REQ).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Variable containing the start value for the format */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,END=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Ending value for the format (Opt).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Variable containing the end value for the format&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,LABEL=LABEL&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Format label (REQ).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Variable containing the label for the format.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,DEFAULT=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Specify the default length of the (in)format.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* If blank, PROC FORMAT determines the default&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* length based on the maximum label length.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,MIN=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Specify a minimum length for the (in)format (Opt). */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,MAX=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Specify a maximum length for the (in)format (Opt). */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,FUZZ=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Specify a fuzz factor for matching values to a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* range (Opt).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,OTHER=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* "Other" processing? (Opt).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* If non-blank, input data not matching any defined&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* ranges will be mapped to the "other" label.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* If value = _MISSING_, value is translated to the&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* appropriate label for the format type.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,WHERE=&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Where processing? (Opt).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* If non-blank, only data matching the where clause&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* will be included in the format.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Do not include the "where" keyword.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;,DEDUP=Y&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Dedup the source dataset? (REQ).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* Default value is YES.&amp;nbsp; Valid values are:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* 0 1 OFF N NO F FALSE and ON Y YES T TRUE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* OFF N NO F FALSE and ON Y YES T TRUE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* (case insensitive) are acceptable aliases for&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&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;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* 0 and 1 respectively.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;);&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%local&lt;/STRONG&gt;&lt;/SPAN&gt; macro parmerr other where name type;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; macro = &amp;amp;sysmacroname;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;%&lt;/SPAN&gt;* check input parameters ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(DATA,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_case=N)&amp;nbsp; &lt;SPAN style="color: #009193;"&gt;/* words=1 allows ds options */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(LIB,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(CAT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(NAME,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(TYPE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U,_val=CHR_FORMAT NUM_FORMAT CHR_INFORMAT NUM_INFORMAT)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(START,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(END,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(LABEL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(DEFAULT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U,_val=POSITIVE)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(MIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U,_val=POSITIVE)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(MAX,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U,_val=POSITIVE)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(FUZZ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%&lt;STRONG&gt;&lt;EM&gt;parmv&lt;/EM&gt;&lt;/STRONG&gt;(DEDUP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _req=&lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;,_words=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;,_case=U,_val=&lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt; &lt;SPAN style="color: #0433ff;"&gt;1&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;parmerr) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%goto&lt;/STRONG&gt;&lt;/SPAN&gt; quit;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; WHERE = &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%unquote&lt;/STRONG&gt;&lt;/SPAN&gt;(&amp;amp;WHERE);&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;libname _crtfmt_ spde &lt;SPAN style="color: #0433ff;"&gt;"%sysfunc(pathname(work))"&lt;/SPAN&gt; temp=yes;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;%&lt;/SPAN&gt;* I know I do not need all these attributes now, but I have left them in here ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;%&lt;/SPAN&gt;* in case additional options are added to the macro in the future ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; cntlin=_crtfmt_._cntlin_;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;data &amp;amp;cntlin;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; format FMTNAME TYPE START END LABEL;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;/*&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; attrib&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FMTNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Format name"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; START&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$200&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Starting value for format"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$200&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Ending value for format"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LABEL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$5000&amp;nbsp;&amp;nbsp; label="Format value label"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Minimum length"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Maximum length"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Default length"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LENGTH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Format length"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FUZZ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Fuzz value"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PREFIX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Prefix characters"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MULT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Multiplier"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FILL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Fill character"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOEDIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Is picture string noedit?"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Type of format"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SEXCL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Start exclusion"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EEXCL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="End exclusion"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HLO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Additional information"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECSEP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Decimal separator"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIGSEP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Three-digit separator"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATATYPE&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Date/time/datetime?"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LANGUAGE&amp;nbsp;&amp;nbsp;&amp;nbsp; length=$8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Language for date strings"&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; if _n_=1 then call missing(of _all_);&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;*/&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; set &amp;amp;DATA end=_last_;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%superq&lt;/STRONG&gt;&lt;/SPAN&gt;(WHERE) ne &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%str&lt;/STRONG&gt;&lt;/SPAN&gt;() ) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where &amp;amp;WHERE;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;* if the format name or label contains a left parentheses, assume it is a code fragment ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;* otherwise it is a hard coded format name or label ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #011993;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt; (&lt;/SPAN&gt;&lt;STRONG&gt;%index&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;STRONG&gt;%superq&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt;(NAME),&lt;/SPAN&gt;&lt;STRONG&gt;%str&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt;(%())) &lt;/SPAN&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; NAME = &amp;amp;NAME;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #011993;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;%else&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; NAME = "&amp;amp;NAME";&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;TYPE = CHR_FORMAT) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; type = C;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #011993;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;%else&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;TYPE = NUM_FORMAT) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; type = N;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #011993;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;%else&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;TYPE = CHR_INFORMAT) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; type = J;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #011993;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;%else&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;TYPE = NUM_INFORMAT) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; type = I;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%superq&lt;/STRONG&gt;&lt;/SPAN&gt;(END) eq ) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; END = &amp;amp;START;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; FMTNAME&amp;nbsp; = &amp;amp;NAME;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &lt;SPAN style="color: #0433ff;"&gt;"&amp;amp;type"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; START&amp;nbsp;&amp;nbsp;&amp;nbsp; = &amp;amp;START;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; END&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &amp;amp;END;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; LABEL&amp;nbsp;&amp;nbsp;&amp;nbsp; = &amp;amp;LABEL;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;default ne ) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; DEFAULT&amp;nbsp; = &amp;amp;default;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;min ne ) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; MIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &amp;amp;min;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;max ne ) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; MAX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &amp;amp;max;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;fuzz ne ) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; FUZZ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &amp;amp;fuzz;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%superq&lt;/STRONG&gt;&lt;/SPAN&gt;(OTHER) ne ) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_last_) then do;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(START);&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(END);&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%qupcase&lt;/STRONG&gt;&lt;/SPAN&gt;(&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%superq&lt;/STRONG&gt;&lt;/SPAN&gt;(OTHER)) eq _MISSING_) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%sysfunc&lt;/STRONG&gt;&lt;/SPAN&gt;(indexc(&amp;amp;TYPE,CNJ))) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&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;&amp;nbsp;&amp;nbsp; LABEL = &lt;SPAN style="color: #0433ff;"&gt;" "&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%else&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&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;&amp;nbsp;&amp;nbsp; LABEL = &lt;SPAN style="color: #0433ff;"&gt;.&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%else&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%sysfunc&lt;/STRONG&gt;&lt;/SPAN&gt;(indexc(&amp;amp;TYPE,CNJ))) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&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;&amp;nbsp;&amp;nbsp; LABEL = &lt;SPAN style="color: #0433ff;"&gt;"&amp;amp;OTHER"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%else&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&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;&amp;nbsp;&amp;nbsp; LABEL = &amp;amp;OTHER;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HLO&amp;nbsp;&amp;nbsp; = &lt;SPAN style="color: #0433ff;"&gt;"O"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #009193;"&gt;/*&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; keep&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FMTNAME&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; START&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LABEL&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MIN&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LENGTH&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FUZZ&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PREFIX&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MULT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FILL&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOEDIT&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SEXCL&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EEXCL&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HLO&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECSEP&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIGSEP&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATATYPE&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LANGUAGE&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;run;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (&amp;amp;dedup) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%let&lt;/STRONG&gt;&lt;/SPAN&gt; cntlin=_crtfmt_._cntlin_nodup_;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp; %&lt;/SPAN&gt;* remove duplicate ranges from input dataset ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp; proc sort data=_crtfmt_._cntlin_ out=&amp;amp;cntlin dupout=_crtfmt_._cntlin_dupout_ nodupkey;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by fmtname start;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp; run;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp; %&lt;/SPAN&gt;* print message if duplicate observations were deleted ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%if&lt;/STRONG&gt;&lt;/SPAN&gt; (%&lt;STRONG&gt;&lt;EM&gt;nobs&lt;/EM&gt;&lt;/STRONG&gt;(_crtfmt_._cntlin_dupout_) gt &lt;SPAN style="color: #0433ff;"&gt;0&lt;/SPAN&gt;) &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%then&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%do&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;* put %str(WAR)NING:&amp;nbsp; Duplicate ranges were detected in the &amp;amp;DATA dataset.;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%put&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #011993;"&gt;&lt;STRONG&gt;%str&lt;/STRONG&gt;&lt;/SPAN&gt;(NO)TE:&amp;nbsp; Duplicate ranges were detected in the &amp;amp;DATA dataset.;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;* Uncomment the below line if calling this macro from a DIS job ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;*rcSet(4);&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #011993;"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #011993;"&gt;&lt;STRONG&gt;%end&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;&lt;SPAN style="color: #000000;"&gt;%&lt;/SPAN&gt;* create format(s) ;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;proc format cntlin=&amp;amp;cntlin lib=&amp;amp;&lt;SPAN style="color: #0326cc;"&gt;LIB.&lt;/SPAN&gt;&lt;SPAN style="color: #0433ff;"&gt;.&lt;/SPAN&gt;&amp;amp;CAT;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;quit;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;%quit:&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;%mend;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier;"&gt;&lt;/P&gt;
&lt;P style="font-size: 10px; font-family: Courier; color: #009193;"&gt;/******* END OF FILE *******/&lt;/P&gt;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 30 Mar 2013 02:11:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91700#M26127</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2013-03-30T02:11:05Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91701#M26128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;"If macros are involved, comment twice as much!"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, I do agree,&lt;/P&gt;&lt;P&gt;and how I do that involves the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Names of macro are in the form &amp;lt;verb&amp;gt;&amp;lt;object&amp;gt;&lt;/P&gt;&lt;P&gt;and parameters match the keyword within which they appear&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro Stack_Facts&lt;/P&gt;&lt;P&gt;(base=&lt;/P&gt;&lt;P&gt;,data=&lt;/P&gt;&lt;P&gt;,...&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;DATA work.&amp;amp;Data;&lt;/P&gt;&lt;P&gt;set library.&amp;amp;Data;&lt;/P&gt;&lt;P&gt;*...;&lt;/P&gt;&lt;P&gt;PROC Append base = &amp;amp;Base&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = &amp;amp;Data;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%*note for macros over one.page ~&amp;gt;= 50 lines&lt;/P&gt;&lt;P&gt;MAKE SURE the mend statement has the name of the macro;&lt;/P&gt;&lt;P&gt;%mend Stack_Facts;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll hold my tongue -- today --&lt;/P&gt;&lt;P&gt;on in-crowd.specific acronyms for parameter names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ron Fehd&amp;nbsp; Writing for Reading maven&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Apr 2013 16:56:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91701#M26128</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2013-04-01T16:56:48Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91702#M26129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Astounding wrote:&lt;/P&gt;&lt;P&gt;&amp;gt; Whatever you decide upon for content, here is a form that I like to use. &lt;/P&gt;&lt;P&gt;&amp;gt; All comments should be macro language comments with an extra asterisk:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%** Here is the text of the comment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **;&lt;/P&gt;&lt;P&gt;%** Here is the second line of the comment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and one can make even more useful by counting the number of asterisks&lt;/P&gt;&lt;P&gt;%* module comments have one asterisk;&lt;/P&gt;&lt;P&gt;%** routine comments have two asterisks;&lt;/P&gt;&lt;P&gt;%*** subroutine comments have three asterisks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use a similar mnemonic when writing notes, warnings or errors:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: ALL CAPS means written by SAS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: InitCaps(Note): comments written by a routine&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;note: lowcase(note): comments written by a subroutine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ron Fehd&amp;nbsp; Style.Guide never runs out of Style maven&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Apr 2013 17:05:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91702#M26129</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2013-04-01T17:05:33Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91703#M26130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Thanks to everyone who posted - all your suggestions were very helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Apr 2013 14:43:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/91703#M26130</guid>
      <dc:creator>mediaeval</dc:creator>
      <dc:date>2013-04-09T14:43:54Z</dc:date>
    </item>
    <item>
      <title>Re: Commenting standards</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/826295#M81960</link>
      <description>&lt;P&gt;How did you make the comments so well aligned on the right-hand side? Did you use any keyboard shortcut?&lt;/P&gt;</description>
      <pubDate>Sun, 31 Jul 2022 05:12:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Commenting-standards/m-p/826295#M81960</guid>
      <dc:creator>xyxu</dc:creator>
      <dc:date>2022-07-31T05:12:14Z</dc:date>
    </item>
  </channel>
</rss>

