<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="Street"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="address"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:Arial;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 77.95pt 1.0in 77.95pt;}
div.Section1
        {page:Section1;}
/* List Definitions */
@list l0
        {mso-list-id:1519464605;
        mso-list-type:hybrid;
        mso-list-template-ids:1840274530 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>
<div>
<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-family:"Times New Roman"'>
<hr size=2 width="100%" align=center tabindex=-1>
</span></font></div>
<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Wally Turnbull
[mailto:wally@tbull.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Thursday, December 13, 2007
11:05 AM<br>
<b><span style='font-weight:bold'>To:</span></b> 'Don Coleman'<br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: Data corruption</span></font><font
face="Times New Roman"><span style='font-family:"Times New Roman"'><o:p></o:p></span></font></p>
</div>
<p class=MsoNormal><font size=3 face=Arial><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Don,<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>The suggestion a couple of folks mentioned about using a non-filepro
map to examine the data is a good idea if you now what they are talking
about. That may not be something you have had need of before. In
case you are not clear about what they mean this is how it works:<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>1.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>You
define a new filePro file - call it "Verify" (for example)<o:p></o:p></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>2.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>During
the create process define it as a non-filepro (alien) file<o:p></o:p></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>3.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>Give
it the name and path of the key of your corrupt file <br>
(c:\filepro\badfile\key as a DOS example). In this case you actually use<br>
word KEY which is the name of the file not the directory<o:p></o:p></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>4.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>Define
the file exactly like the badfile map except that you add a variable<br>
at the beginning (field-1) that is 20 bytes long of type *.<o:p></o:p></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>5.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>All
of the fields in Verify will be numbered one higher than they are<br>
in badfile but as long as you keep that in mind it is not a problem.<o:p></o:p></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>6.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>Also
the first record in verify is a system record that must not be changed.<br>
This means that the record numbers in verify will be one higher than in<br>
badfile. Again not a problem as long as you keep this in mind.<o:p></o:p></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>7.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>Don’t
change anything in verify field-1 as that will corrupt the source data.<o:p></o:p></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>8.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>Blank/deleted
records in badfile should have a blank field-2 in verify<o:p></o:p></p>
<p class=MsoPlainText style='mso-margin-top-alt:0in;margin-right:0in;
margin-bottom:6.0pt;margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font
size=2 face="Courier New"><span style='font-size:10.0pt'><span
style='mso-list:Ignore'>9.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>Corrupted
records in badfile are likely to contain characters outside the <br>
usual alphabet and numbers. You can check for that with the command<br>
If 2 lt chr(“32”) or 2 gt chr(“126”) then @rn minus one
in badfile contains bad data<br>
if 3 lt chr(“32”) or 2 gt chr(“126”) then @rn
minus one in badfile contains bad data<br>
etc. repeat for all fields<br>
remember not to check record 1 or field 1 this way as they contain system
information.<br>
By checking the other records and fields where user data is saved you can test everything<br>
fairly quickly and accurately.<o:p></o:p></p>
<p class=MsoPlainText style='margin-bottom:6.0pt'><font size=2
face="Courier New"><span style='font-size:10.0pt'>This is probably the best way
to check out the records and not miss something that may not even be obvious by
looking at it on screen. If you need more help. Let me know.<o:p></o:p></span></font></p>
<p class=MsoPlainText style='margin-bottom:6.0pt'><font size=2
face="Courier New"><span style='font-size:10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText style='margin-bottom:6.0pt'><font size=2
face="Courier New"><span style='font-size:10.0pt'>Peace,<o:p></o:p></span></font></p>
<p class=MsoPlainText style='margin-bottom:6.0pt'><st1:PersonName w:st="on"><font
size=2 face="Courier New"><span style='font-size:10.0pt'>Wally Turnbull</span></font></st1:PersonName><o:p></o:p></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>> <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>> Yesterday I thought I had just run a simple listing from dreport
with the<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>> debugger on. However, when I tried to replicate this today
it doesn<st1:PersonName w:st="on">'</st1:PersonName>t<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>> select record #13 from a selection set nor does it select it when
put into <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>> a select table. So you<st1:PersonName w:st="on">'</st1:PersonName>re
your premise is correct. Is my only option<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>>looking for bad data on a manual view screen?<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Brian:<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>> How many times does someone have to say "map a non-filepro
file over the key" ?<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Thank you Wally. I’ve
never had need to do this before and you provided the roadmap. Much
appreciated.<o:p></o:p></span></font></p>
<p><font size=2 color=navy face="Times New Roman"><span style='font-size:10.0pt;
color:navy'>Don Coleman<br>
Donald G. Coleman, Consultant<br>
<st1:Street w:st="on"><st1:address w:st="on">402 Andrew Circle</st1:address></st1:Street><br>
Indiana, PA 15701<br>
dcoleman@dgcreact.com<br>
(724) 349-6302</span></font><font color=navy><span style='color:navy'> </span></font><o:p></o:p></p>
<p class=MsoPlainText><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
</div>
</div>
</body>
</html>