I used a delete trigger to trap the condition.  It took a week of operation
at 6 sites before the condition reoccurred and the trap fired. 

The record was being deleted when one of the users invoked an operation that
created a record with invalid data.  After the user saved the row a routine
checks to see if the data was valid.  If it is not valid, the record is
deleted and the user is notified of the condition.

 

Here is the short version of the cause and fix:

After I confirmed that the record was invalid I deleted the last record
entered.  Using.  WHERE COUNT = LAST

If a second user saved a record simultaneously it would delete the second
users record (last record in the table) instead of the record that I wanted
to delete.

I should have used WHERE COUNT = INSERT to select the current users last
record.

 

John Engwer

(412) 751-2433

 

From: [email protected] [mailto:[email protected]] On Behalf Of John Engwer
Sent: Tuesday, May 10, 2011 5:04 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Missing records

 

Latest release of V8 compiled

 

I have a routine that generates an invoice for a point of sale application.
A few weeks ago, one of my clients reported that he printed an invoice that
included three line items.  Moments after printing the invoice he displayed
a copy of the invoice on the screen and the last line item was missing.  I
checked the "Purchase" file and verified that the line item was missing and
I saw a copy of the purchase record that he printed.  Today, I had a second
client report the same type of failure.

 

The purchase file contains an invoice number and a transaction number.  The
transaction number is an auto number. 

 

Here is the process:

The line items are entered into the PURCHASE file via a scrolling region.  

When they are finished entering items they click a bit button that saves the
data (saverow), does some other housekeeping and then goes to a checkout
form where the user enters the payment method and prints the invoice.

The invoice is a report based on the PURCHASE and CUSTOMER tables.

 

I thought that the data was getting hung up in a buffer so I added  PROPERTY
TABLE PURCHASE 'UPDATE' before the SAVEROW.  However, It has occurred one
time since I added the "Update".   As a troubleshooting tool, I am going to
write a duplicate purchase record in an audit file until I get this issue
resolved.  I think the data must be written to disk or the data would not
show up on the printed record.  I scanned all of the code and I cannot find
any delete rows in the that can cause a record to be deleted.

 

Any ideas or comments will be appreciated.

 

John 

 

Reply via email to