Although the upgraded integrations work properly, one issue that we have observed is that several of them receive an error occasionally that simply says "The transaction has aborted."
This error is occurring with multiple imports for different entities and transaction types. For example, the error occurs when importing an inventory item, an AR cash receipt, an AR payment application, and a SOP invoice.
The error occurs intermittently and inconsistently, and the error does not seem to be related to any specific entity or transaction. For example, when importing 2,577 inventory items, one item received the error. If the same file is re-imported, a different item will receive the transaction aborted error.
All of the integrations are submitting each transaction individually, and each of the integrations usually processes thousands of transactions at a time.
If you check your eConnect Event Log, you will see two different messages related to the transaction aborted error.
Example 1:
Action: Create Transaction
Current User Name:
Input parameters:
Exception type: Microsoft.Dynamics.GP.eConnect.eConnectException
Exception message: The transaction has aborted.
Stack Trace:
at Microsoft.Dynamics.GP.eConnect.ServiceProxy.CreateTransactionEntity(String connectionString, String xml)
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.EntityImportImplementation(String connectionString, String sXML, Boolean isTransaction)
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.ProcessEntityImport(String connectionString, String sXML, Boolean isTransaction)
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.CreateTransactionEntity(String ConnectionString, String sXML)
Example 2:
Action: Service Create Transaction
Current User Name: DELIVERYAGENT\greatplains
Input parameters:
Exception type: System.Transactions.TransactionAbortedException
Exception message: The transaction has aborted.
Stack Trace:
at System.Transactions.TransactionStateAborted.EndCommit(InternalTransaction tx)
at System.Transactions.CommittableTransaction.Commit()
at System.Transactions.TransactionScope.InternalDispose()
at System.Transactions.TransactionScope.Dispose()
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.EntityImportImplementation(String connectionString, String sXML, Boolean isTransaction)
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.ProcessEntityImport(String connectionString, String sXML, Boolean isTransaction)
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.CreateTransactionEntity(String ConnectionString, String sXML)
at Microsoft.Dynamics.GP.eConnect.Service.CreateTransactionEntity(String ConnectionString, String sXML)
Exception type:
System.InvalidOperationException
Exception message:
The requested operation cannot be completed because the connection has been broken.
After trying several tests and various troubleshooting at the client, we submitted a support case. Aaron at Microsoft called me promptly to review the details, and after searching through his notes and databases, found that this appears to be an issue with eConnect 2010 that was resolved in Service Pack 2.
The client currently has eConnect 2010 Service Pack 1 installed, so I'm going to install the Post-SP2 June 2011 Hotfix (KB 2561289), which will bring eConnect up to version 11.0.1812, to see if that resolves the issue.
I'll add an update next week as to whether this resolves the issue.
Steve Endow is a Dynamics GP Certified Trainer and Dynamics GP Certified IT Professional in Los Angeles. He is also the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.
http://www.precipioservices.com