Sales Order Update Error

We have just upgraded to Kinetic 2023.2.6 this weekend. A user cannot update one particular order, he has updated others just fine. Has anyone seen this error? Any ideas where to look to resolve?

image

Application Error

Exception caught in: Epicor.ServiceModel

Error Detail

============

Message: The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the transaction.

The statement has been terminated.

Program: Epicor.ServiceModel.dll

Method: CallWithCommunicationFailureRetry

Client Stack Trace

==================

at Ice.Cloud.ProxyBase`1.CallWithCommunicationFailureRetry(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, RestRpcValueSerializer serializer)

at Ice.Cloud.ProxyBase`1.CallWithMultistepBpmHandling(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy)

at Ice.Cloud.ProxyBase`1.Call(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy)

at Erp.Proxy.BO.SalesOrderImpl.MasterUpdate(Boolean lCheckForOrderChangedMsg, Boolean lcheckForResponse, String cTableName, Int32 iCustNum, Int32 iOrderNum, Boolean lweLicensed, Boolean& lContinue, String& cResponseMsg, String& cCreditShipAction, String& cDisplayMsg, String& cCompliantMsg, String& cResponseMsgOrdRel, String& cAgingMessage, String& cShipByDateMessage, String& cNeedByDateMessage, SalesOrderDataSet ds)

at Erp.Adapters.SalesOrderAdapter.MasterUpdate(Boolean lCheckForOrderChangedMsg, Boolean lcheckForResponse, String cTableName, Int32 iCustNum, Int32 iOrderNum, Boolean lweLicensed, Boolean& lContinue, String& cResponseMsg, String& cCreditShipAction, String& cDisplayMsg, String& cCompliantMsg, String& cResponseMsgOrdRel, String& cAgingMessage, String& cShipByDateMessage, String& cNeedByDateMessage)

at Erp.UI.App.SalesOrderEntry.Transaction.Update()

Support says this:
“This error shows up, because there are invalid characters in the Part description, so go to part entry and remove any character that is invalid for SQL like /* or ‘ or blank spaces to mention a few, once these characters are removed from the description, the error will go away, allowing you to save the changes in the sales order.”

1 Like

Thanks, I will check this out.

To stop this happening for new parts moving forwards, put an In Transaction Data Directive on the Part table that stops invalid characters. In the condition after checking the description has changed, it is checking a custom code condition:

//Invalid character
foreach(var part in ttPart)
{
if(!new System.Text.RegularExpressions.Regex(“[1]*$”).IsMatch(part.PartNum))
{
return true;
}
}

return false;

Then, from the True output Raise an Exception; this will stop this from happening moving forwards


  1. a-zA-Z0-9_- ↩︎

2 Likes

Nice Sue! It’d be nice if Epicor did that for us.