The provided edit sequence is out-of-date |
Author |
Message |
|
Posted : 2006-12-14 04:08:06 |
I'm running an UPDATE query that should be fairly simple, but am getting an error message about the provided edit sequence out-of-date. What does this mean?
I'm running the query as a pass-through query in MS Access 2003 against QuickBooks 2007.
Here's the query: UPDATE "InvoiceLine" SET "InvoiceLineClassRefListID" = '30000-1153150139', "InvoiceLineClassRefFullName" = '10000 SBC Current Fund:11000 Academic:11100 Programs' WHERE ("TxnDate" Between {d'2006-09-01'} And {d'2006-11-30'}) AND ("InvoiceLineClassRefListID"='20000-1153150126')
And here's the text of the error message: [QODBC] Error: 3200 - The provided edit sequence "1161122154" isout-of-date. (#10053)
Pat |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2006-12-14 09:21:18 |
When doing updates to tranasaction tables a WHERE clause something like:
WHERE TxnID = '2A97-1071506491' AND InvoiceLineTxnLineID = '2A99-1071506491'
is normally used to correctly identifly the transaction line. The TxnID allows for indexed jumpins (speed) and the TxnLineID allows you to update one line at a time in a loop getting the new EditSequence number each time.
Internally QODBC updates one line at a time but the edit sequence is listed in the header and gets updated with each update. This error normally indicates a bug in QODBC that needs to be reported to us. |
|
|
|
|
Posted : 2006-12-15 00:50:42 |
I don't think I'm completely following you....
How about this: Can you tell me how you would write the query?
For every record in the table InvoiceLine, where TxnDate is between Sep 1 and Nov 30, 2006 and where InvoiceLineClassRefListID is 20000-1153150126, the field InvoiceLineClassRefListID needs to be updated to 30000-1153150139 and the InvoiceLineClassRefFullName needs to be updated to '10000 SBC Current Fund:11000 Academic:11100 Programs'.
|
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2006-12-15 09:47:08 |
I now believe the error message you are getting is due to a bug in QODBC v7. What you are doing should work, but you will need to wait for QODBC v7.00.00.201 to be released before reattempting your UPDATE statement. |
|
|
|
|
Posted : 2006-12-16 00:37:48 |
Tom,
Thanks for putting up with all my questions!
Just so I can plan out my work here - can you estimate when v. 7.00.00.201 will be available?
Pat |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2006-12-16 08:47:47 |
Sorry, I don't see it being released this side of Christmas. |
|
|
|
|
Posted : 2007-02-06 05:02:31 |
I downloaded the 7.00.00.207 version of QODBC and I'm getting this error on the following query:
UPDATE InvoiceLine SET InvoiceLineDesc='DELETED' , InvoiceLineQuantity=0 WHERE TxnID='4-1170575015'
Any reason for this?
Here is the error:
ERROR [00000] [QODBC] Error: 3200 - The provided edit sequence \"1170657317\" is out-of-date.
Quickbooks Enterprise 7.0 QODBC 7.00.00.207 - Registered Optimizer Turned on at start of every query |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2007-02-06 08:28:11 |
Sorry, what are you wanting to do here? To delete or void an invoice, use the header table: INVOICE, not InvoiceLine. When doing updates to tranasaction tables a WHERE clause something like:
WHERE TxnID = '2A97-1071506491' AND InvoiceLineTxnLineID = '2A99-1071506491'
is normally used to correctly identifly the transaction line. The TxnID allows for indexed jumpins (speed) and the TxnLineID allows you to update one line at a time in a loop getting the new EditSequence number each time. In your case it should be:
UPDATE InvoiceLine SET InvoiceLineDesc='DELETED' , InvoiceLineQuantity=0 WHERE TxnID='4-1170575015' AND InvoiceLineTxnLineID = '?-?????????'
|
|
|
|
|
Posted : 2007-02-06 10:42:40 |
I am trying to set all current line items to have the description "DELETED". I import new invoices and updated invoice into quickbooks from our intranet application. When updating an invoice in quickbooks, I need to delete all the current line items and add new ones. This is easiest way for me to ensure that the two applications are in synch.
My process goes:
Set all current line items to description = "DELETED" Add new lines from intranet app Delete all invoice lines that have description = "DELETED"
I would delete them all right off the bat, but at least one invoiceline must exist in the invoice.
I hope that makes sense. |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2007-02-06 11:55:49 |
|
|
|
|
Posted : 2007-02-06 12:05:31 |
Normally I would do that, but there is no mapping between invoice lines in our intranet app and that of quickbooks. Plus, having to check every single line's quantity, price, description, to see if it has changed seems difficult. Plus determining if a line is a new line or if it's just updates puts additional work into it.
Delete and re-add seems to be the simplest way to go. However, now I just query for all the transaction lines and manually set them to deleted rather than trying to do it all at one time.
Thanks for the responses. |
|
|
|
|
Posted : 2007-04-06 08:19:58 |
Do you know if this issue has been addressed yet? I'm attempting to run the same query that I was in November/December and am getting exactly the same error message. I haven't really used QODBC at all because I had purchased it specifically to run updates like this. Without this ability, the software isn't that useful to me.
Pat |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2007-04-06 10:13:15 |
This bug was reported to the QODBC Engineer on QSupport Ticket ID: BR00000014 Dated: 15 Aug 2006 12:56:12 and has not been resolved yet. Please call you sales office for your region directly to discuss the matter further.
When doing updates to tranasaction tables a WHERE clause something like this will work:
UPDATE "InvoiceLine" SET "InvoiceLineClassRefListID" = '30000-1045538607' WHERE TxnID = '2A97-1071506491' AND InvoiceLineTxnLineID = '2A99-1071506491'
The TxnID allows for indexed jumpins (speed) and the TxnLineID allows you to update one line at a time in a programming loop getting the new EditSequence number each time. In other words if you run a update statement for each invoice line your want to update it will work. To do this you need to find the TxnID and TxnLineID first.
Internally QODBC updates one line at a time but the edit sequence is listed in the header and gets updated with each update. This error normally indicates a bug in QODBC that needs to be reported to us. |
|
|
|