<?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 Handle unexpected characters with Proc Format in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59324#M16728</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the INVALIDDATA option you specify the missing value without the dot. Do you have access to online help?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD valign="top"&gt;&lt;P style="margin-top: auto; margin-bottom: auto;"&gt;&lt;STRONG style="font-size: 18pt; font-family: 'Times New Roman','serif';"&gt;Syntax&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" style="padding: 3pt;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="padding: 3pt;" valign="top"&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt;INVALIDDATA='character' &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-top: auto; margin-bottom: auto;"&gt;&lt;STRONG style="font-size: 13.5pt; font-family: 'Times New Roman','serif';"&gt;Syntax Description&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt;'character' &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-top: auto; margin-bottom: auto; margin-left: 0.5in;"&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt;specifies the value to be assigned, which can be a letter (A through Z, a through z), a period (.), or an underscore (_). The default value is a period.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 31 Aug 2011 20:55:37 GMT</pubDate>
    <dc:creator>data_null__</dc:creator>
    <dc:date>2011-08-31T20:55:37Z</dc:date>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59314#M16718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using the following format:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalue month_pncf (default=2)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 =&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 88&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 99 =&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .U&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; .U&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; other =&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _same_;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;expecting the raw data to be in numeric form.&amp;nbsp;&amp;nbsp; However, when the incoming data is a dash '-' in the .dat file, I get a value of dot '.' for the formatted data.&amp;nbsp; Is there some way to make the proc format more robust so that dashes or other characters return .U?&amp;nbsp; It seems the other=_same_ isn't handling non-numeric characters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The log has an error of "Invalid data for pnc_mth in line xxx"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ideally I'd like to do this solely with proc format - changing from an old way in which we scanned the data for 'illegal' vars prior to formatting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Anjali&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 19:10:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59314#M16718</guid>
      <dc:creator>anjgupta</dc:creator>
      <dc:date>2011-08-31T19:10:13Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59315#M16719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just add it to your INFORMAT definition. You will need to add the quotes that you have omitted for the other values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalue month_pncf (default=2)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '0'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; 88&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '99','.','-'&amp;nbsp; = .U&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; other =&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _same_;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 19:18:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59315#M16719</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-08-31T19:18:33Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59316#M16720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt; invalue numfmt (default=2)&lt;/P&gt;&lt;P&gt;&amp;nbsp; 0&amp;nbsp; = 88&lt;/P&gt;&lt;P&gt;&amp;nbsp; 99 = .U&lt;/P&gt;&lt;P&gt;&amp;nbsp; .&amp;nbsp; = .U&lt;/P&gt;&lt;P&gt;&amp;nbsp; other = _same_;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data input;&lt;/P&gt;&lt;P&gt; input num numfmt.;&lt;/P&gt;&lt;P&gt; if _ERROR_=1 then do; num=.U; _ERROR_=0; end;&lt;/P&gt;&lt;P&gt; datalines;&lt;/P&gt;&lt;P&gt;0&lt;/P&gt;&lt;P&gt;1&lt;/P&gt;&lt;P&gt;2&lt;/P&gt;&lt;P&gt;3&lt;/P&gt;&lt;P&gt;99&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;P&gt;!&lt;/P&gt;&lt;P&gt;3&lt;/P&gt;&lt;P&gt;T&lt;/P&gt;&lt;P&gt;Y&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will still get the note about invalid data, but not an error and the value will be equal to .U when an invalid value is encountered.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 19:19:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59316#M16720</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2011-08-31T19:19:02Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59317#M16721</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Seems like you have two choices.&amp;nbsp; Define the range for _SAME_ to include values from 1-98 and let OTHER=.U or use the INVALIDDATA option.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Courier New;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: 'Courier New'; background-color: white;"&gt;options&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: blue; font-family: 'Courier New'; background-color: white;"&gt;invaliddata&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; font-family: 'Courier New'; background-color: white;"&gt;=U;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 19:26:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59317#M16721</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2011-08-31T19:26:52Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59318#M16722</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I assume the OPTIONS way will affect the entire program.&amp;nbsp;&amp;nbsp;&amp;nbsp; And the error handling way is particular to each variable.&amp;nbsp;&amp;nbsp; I have a lot of vars to read in for a particular infile - is there a middle way to have the error/invaliddata handled within 1 datastep for all incoming vars?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 19:54:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59318#M16722</guid>
      <dc:creator>anjgupta</dc:creator>
      <dc:date>2011-08-31T19:54:46Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59319#M16723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could fully specify the valid range.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; '1','2','3','4','5','6','7','8','9'&lt;/P&gt;&lt;P&gt; ,'10' - '19'&lt;/P&gt;&lt;P&gt; ,'20' - '29'&lt;/P&gt;&lt;P&gt; ,'30' - '39'&lt;/P&gt;&lt;P&gt;.... &lt;/P&gt;&lt;P&gt;= _same_&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 20:07:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59319#M16723</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-08-31T20:07:34Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59320#M16724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I could do that for month - which is a small range.&amp;nbsp; But I also have items like birthweight in grams and then the range we accept is infinite.&amp;nbsp; The &lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: 'Courier New'; background-color: white;"&gt;options&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: blue; font-family: 'Courier New'; background-color: white;"&gt;invaliddata&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; font-family: 'Courier New'; background-color: white;"&gt;=U; didn't accept .U which is the desired formatted value.&amp;nbsp; Still trying.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 20:20:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59320#M16724</guid>
      <dc:creator>anjgupta</dc:creator>
      <dc:date>2011-08-31T20:20:11Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59321#M16725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could use the automatic variable _ERROR_&amp;nbsp; and the ?? operator to suppress the error messages.&lt;/P&gt;&lt;P&gt;But I think you would need to read each variable separately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input num ??numfmt. @ ;&lt;/P&gt;&lt;P&gt;if _error_ then numfmt=.U ;&lt;/P&gt;&lt;P&gt;_error_=0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 20:24:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59321#M16725</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-08-31T20:24:36Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59322#M16726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Actuall better still just use ?? and leave the value missing?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 20:27:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59322#M16726</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-08-31T20:27:46Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59323#M16727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt; invalue myfmt (default=2)&lt;/P&gt;&lt;P&gt;&amp;nbsp; 0&amp;nbsp; = 88&lt;/P&gt;&lt;P&gt;&amp;nbsp; 99 = .U&lt;/P&gt;&lt;P&gt;&amp;nbsp; other = _same_;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt; input mynum :??myfmt. @@; /* nice way to suppress the unnecessary notes from my previous example, thanks Tom */&lt;/P&gt;&lt;P&gt; if mynum=. then mynum=.U;&lt;/P&gt;&lt;P&gt; putlog mynum=;&lt;/P&gt;&lt;P&gt; cards4;&lt;/P&gt;&lt;P&gt;0 1 2&lt;/P&gt;&lt;P&gt;Y T D&lt;/P&gt;&lt;P&gt;! . (&lt;/P&gt;&lt;P&gt;99 0 ;&lt;/P&gt;&lt;P&gt;;;;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 20:45:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59323#M16727</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2011-08-31T20:45:30Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59324#M16728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the INVALIDDATA option you specify the missing value without the dot. Do you have access to online help?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD valign="top"&gt;&lt;P style="margin-top: auto; margin-bottom: auto;"&gt;&lt;STRONG style="font-size: 18pt; font-family: 'Times New Roman','serif';"&gt;Syntax&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" style="padding: 3pt;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="padding: 3pt;" valign="top"&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt;INVALIDDATA='character' &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-top: auto; margin-bottom: auto;"&gt;&lt;STRONG style="font-size: 13.5pt; font-family: 'Times New Roman','serif';"&gt;Syntax Description&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt;'character' &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-top: auto; margin-bottom: auto; margin-left: 0.5in;"&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt;specifies the value to be assigned, which can be a letter (A through Z, a through z), a period (.), or an underscore (_). The default value is a period.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Aug 2011 20:55:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59324#M16728</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2011-08-31T20:55:37Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59325#M16729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'll try just 'U' - but I need it to indicate the missing value of .U (numeric) and not the character 'U'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 14:38:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59325#M16729</guid>
      <dc:creator>anjgupta</dc:creator>
      <dc:date>2011-09-07T14:38:46Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59326#M16730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to find some documentation on ? and ?? - new to me.&amp;nbsp; Seems I can add ? or ?? to my invalue statements for all or some variables that might result in errors.&amp;nbsp; FriedEgg uses a colon ":??"&amp;nbsp; but Tom did not. Is one 'correct'? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you have any links to help me understand this operator better - great.&amp;nbsp; Still searching.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 15:03:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59326#M16730</guid>
      <dc:creator>anjgupta</dc:creator>
      <dc:date>2011-09-07T15:03:37Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59327#M16731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000180357.htm"&gt;http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000180357.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 15:21:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59327#M16731</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-09-07T15:21:39Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59328#M16732</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you - found it between my post and yours.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Am I correct that if my current macro reads data as:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;628&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %create_input_string_D3(statevars, birth)&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; input&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @003 certnum 6.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @009 mm_dob monthf.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @011 dd_dob 2.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @015 sex u_nine.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @016 b_state 2.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @031 m_state 2.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @018 b_county $char3.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @021 pob u_nine.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @023 mm_mdob monthf.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @025 dd_mdob 2.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @033 mom_res $char3.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @036 mm_pdob monthf.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @038 dd_pdob 2.&lt;/P&gt;&lt;P&gt;MPRINT(CREATE_INPUT_STRING_D3):&amp;nbsp;&amp;nbsp; #1 @042 hisp_bc hisp_bc_xx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;etc ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would need a separate input statement for each variable in order to handle the errors?&amp;nbsp; That's a change - but probably possible.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 15:57:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59328#M16732</guid>
      <dc:creator>anjgupta</dc:creator>
      <dc:date>2011-09-07T15:57:21Z</dc:date>
    </item>
    <item>
      <title>Re: Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59329#M16733</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc format;&lt;/P&gt;&lt;P&gt;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalue myfmt (default=2)&lt;/P&gt;&lt;P&gt;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; = 88&lt;/P&gt;&lt;P&gt;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 99 = .U&lt;/P&gt;&lt;P&gt;18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; other = _same_;&lt;/P&gt;&lt;P&gt;NOTE: Informat MYFMT is already on the library.&lt;/P&gt;&lt;P&gt;NOTE: Informat MYFMT has been output.&lt;/P&gt;&lt;P&gt;19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE FORMAT used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _null_;&lt;/P&gt;&lt;P&gt;22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input @1 mynum&amp;nbsp; ??myfmt.&lt;/P&gt;&lt;P&gt;23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @1 orig&amp;nbsp;&amp;nbsp; $char2.&lt;/P&gt;&lt;P&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @3 mychar $char1.;&lt;/P&gt;&lt;P&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if mynum=. then mynum=.U;&lt;/P&gt;&lt;P&gt;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putlog orig= mynum=;&lt;/P&gt;&lt;P&gt;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards4;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;orig=0 mynum=88&lt;/P&gt;&lt;P&gt;orig=1 mynum=1&lt;/P&gt;&lt;P&gt;orig=Y mynum=U&lt;/P&gt;&lt;P&gt;orig=T mynum=U&lt;/P&gt;&lt;P&gt;orig=. mynum=U&lt;/P&gt;&lt;P&gt;orig=: mynum=U&lt;/P&gt;&lt;P&gt;orig=99 mynum=U&lt;/P&gt;&lt;P&gt;orig=9 mynum=9&lt;/P&gt;&lt;P&gt;orig=1. mynum=1&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.WANT has 9 observations and 3 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;37&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;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 16:17:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59329#M16733</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2011-09-07T16:17:27Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59330#M16734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for the coding and output.&amp;nbsp; The trick is that the macro reads in the varname, length, etc - and it would be ideal to use the varname (before it's replaced in the next iteration of the loop) while I have 'it' - to avoid hard coding later.&amp;nbsp; That is, at the same time I read in a particular variable I'd like to address any _error_ issues.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;May not be easy or possible.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 17:09:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59330#M16734</guid>
      <dc:creator>anjgupta</dc:creator>
      <dc:date>2011-09-07T17:09:52Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59331#M16735</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;More documentation is available on the help page for the INPUT statement.&amp;nbsp; There you can find the information on the : &amp;amp; and ~ in the section on Modified List Input.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 18:20:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59331#M16735</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-09-07T18:20:37Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59332#M16736</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If your macro was generating one INPUT statement you can split it up by using the trailing @.&lt;/P&gt;&lt;P&gt;Instead of :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #1 @003 certnum 6.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #1 @009 mm_dob monthf.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #1 @011 dd_dob 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Generate a complete INPUT statement with a trailing @.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input #1 @003 certnum ?6. @;&lt;/P&gt;&lt;P&gt;if _error_ then put 'Invalid data for variable ' "certnum" ;&lt;/P&gt;&lt;P&gt;_error_=0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input #1 @009 mm_dob ?monthf. @;&lt;/P&gt;&lt;P&gt;if _error_ then put 'Invalid data for variable ' "mm_dob" ;&lt;/P&gt;&lt;P&gt;_error_=0;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 18:25:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59332#M16736</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-09-07T18:25:58Z</dc:date>
    </item>
    <item>
      <title>Handle unexpected characters with Proc Format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59333#M16737</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro layout;&lt;/P&gt;&lt;P&gt;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #1 @1 mynum1 ??myfmt.&lt;/P&gt;&lt;P&gt;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #1 @3 mychar $char2.&lt;/P&gt;&lt;P&gt;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #2 @5 mynum2 ??myfmt.&lt;/P&gt;&lt;P&gt;18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend;&lt;/P&gt;&lt;P&gt;19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc format;&lt;/P&gt;&lt;P&gt;21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalue myfmt (default=2)&lt;/P&gt;&lt;P&gt;22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; = 88&lt;/P&gt;&lt;P&gt;23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 99 = .U&lt;/P&gt;&lt;P&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; other = _same_;&lt;/P&gt;&lt;P&gt;NOTE: Informat MYFMT is already on the library.&lt;/P&gt;&lt;P&gt;NOTE: Informat MYFMT has been output.&lt;/P&gt;&lt;P&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE FORMAT used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&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;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data fake;&lt;/P&gt;&lt;P&gt;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input %layout;&lt;/P&gt;&lt;P&gt;29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.FAKE has 0 observations and 3 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;30&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;31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql noprint;&lt;/P&gt;&lt;P&gt;34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select 'if ' !! strip(name) !! '=. then ' !! strip(name) !! '=.U' into :missing separated by '; '&lt;/P&gt;&lt;P&gt;35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from sashelp.vcolumn&lt;/P&gt;&lt;P&gt;36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where libname='WORK' and memname='FAKE' and type='num';&lt;/P&gt;&lt;P&gt;37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;NOTE: PROC SQL statements are executed immediately; The RUN statement has no effect.&lt;/P&gt;&lt;P&gt;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SAS System&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10:48 Wednesday, September 7, 2011&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _null_;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input #1 @1 orig1 $2.&lt;/P&gt;&lt;P&gt;41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #2 @5 orig2 $2.&lt;/P&gt;&lt;P&gt;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %layout;&lt;/P&gt;&lt;P&gt;43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;missing;&lt;/P&gt;&lt;P&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; put orig1= mynum1= mychar= orig2= mynum2=;&lt;/P&gt;&lt;P&gt;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;orig1=1 mynum1=1 mychar=A orig2=9 mynum2=9&lt;/P&gt;&lt;P&gt;orig1=99 mynum1=U mychar=C orig2=0 mynum2=88&lt;/P&gt;&lt;P&gt;orig1=62 mynum1=62 mychar=E orig2=/ mynum2=U&lt;/P&gt;&lt;P&gt;orig1=[ mynum1=U mychar=[ orig2=&amp;nbsp; mynum2=U&lt;/P&gt;&lt;P&gt;orig1=.A mynum1=A mychar=. orig2=&amp;nbsp; mynum2=U&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;56&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;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;58&lt;/P&gt;&lt;P&gt;59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put %bquote(&amp;amp;missing);&lt;/P&gt;&lt;P&gt;if mynum1=. then mynum1=.U; if mynum2=. then mynum2=.U&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2011 20:04:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Handle-unexpected-characters-with-Proc-Format/m-p/59333#M16737</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2011-09-07T20:04:59Z</dc:date>
    </item>
  </channel>
</rss>

