Hi All,
Getting below business logic error in AR invoice entry when trying to enter value in PO line field at line level.Not able to find the cause since the error is only for some invoices .Disabled all bpm and customization still error persists.
Business Layer Exception
Cannot change the extended amount on this invoice.
Exception caught in: Epicor.ServiceModel
Error Detail
Description: Cannot change the extended amount on this invoice.
Program: Erp.Services.BO.ARInvoice.dll
Method: validateExtPrice
Line Number: 33983
Column Number: 17
Table: ttInvcDtl
Field: InvoiceType
Server Trace Stack: at Erp.Services.BO.ARInvoiceSvc.validateExtPrice() in C:_Releases\ERP\UD10.2.200.16\Source\Server\Services\BO\ARInvoice\ARInvoice.cs:line 33983
at Erp.Services.BO.ARInvoiceSvc.InvcDtlBeforeUpdate() in C:_Releases\ERP\UD10.2.200.16\Source\Server\Services\BO\ARInvoice\ARInvoice.cs:line 14199
at Ice.Services.Trace.TablesetProfilingCollector.DoRowEventTrace(String tableName, String methodName, Int32 rowCount, Action action) in C:_Releases\ICE\RL3.2.200.0\Source\Framework\Epicor.Ice\Services\TablesetProfilingCollector.cs:line 146
at Ice.TablesetBound3.UpdateRow(IceDataContext dataContext, Int32 tableNum, IIceTable table, IceRow updatedRow, IceRow originalRow, TablesetProfilingCollector parentTraceCollector) in C:\_Releases\ICE\RL3.2.200.0\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 1289 at Ice.TablesetBound
3.WriteTable(IceDataContext dataContext, Int32 tableIndex, IIceTable table, TablesetProfilingCollector parentTraceCollector) in C:_Releases\ICE\RL3.2.200.0\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 997
at Ice.TablesetBound3.InnerUpdate[TUpdater](IceDataContext dataContext, TFullTableset tableset) in C:\_Releases\ICE\RL3.2.200.0\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 892 at Erp.Services.BO.ARInvoiceSvc.UpdateMaster(ARInvoiceTableset& ds, String cGroupID, String cTableName, Boolean runCheckAmortSched, Boolean runChkLtrOfCredit, Boolean& genAmortSched, Boolean lRASchedExists, Int32 ipInvoiceNum, Int32 ipInvoiceLine, String cARLOCID, Boolean suppressUserPrompts, Decimal dTotalCharges, Boolean lGetDefaultAccount, Decimal& grpTotalInvAmt, String& opGenMessage, String& opLtrCrdMsg, Boolean& lUpdateRan) in C:\_Releases\ERP\UD10.2.200.16\Source\Server\Services\BO\ARInvoice\ARInvoice.cs:line 32670 at Epicor.Customization.Bpm.BO4CD54D3E355442CA815A0AA97A943DC5.UpdateMasterImpl.ExecuteBase(UpdateMasterParameters parameters) at Epicor.Customization.Bpm.MethodCustomizationBase2
3.RunDirectives(TParam parameters) in C:_Releases\ICE\ICE3.2.200.16\Source\Server\Internal\Lib\Epicor.Customization.BPM\MethodCustomizationBase2.cs:line 197
at Epicor.Customization.Bpm.CustomizationBase23.Execute(TParam parameters) in C:\_Releases\ICE\ICE3.2.200.16\Source\Server\Internal\Lib\Epicor.Customization.BPM\CustomizationBase2.cs:line 73 at Epicor.Customization.Bpm.BO4CD54D3E355442CA815A0AA97A943DC5.ARInvoiceSvcCustomization.UpdateMaster(ARInvoiceTableset& ds, String cGroupID, String cTableName, Boolean runCheckAmortSched, Boolean runChkLtrOfCredit, Boolean& genAmortSched, Boolean lRASchedExists, Int32 ipInvoiceNum, Int32 ipInvoiceLine, String cARLOCID, Boolean suppressUserPrompts, Decimal dTotalCharges, Boolean lGetDefaultAccount, Decimal& grpTotalInvAmt, String& opGenMessage, String& opLtrCrdMsg, Boolean& lUpdateRan) at Erp.Services.BO.ARInvoiceSvcFacade.UpdateMaster(ARInvoiceTableset& ds, String cGroupID, String cTableName, Boolean runCheckAmortSched, Boolean runChkLtrOfCredit, Boolean& genAmortSched, Boolean lRASchedExists, Int32 ipInvoiceNum, Int32 ipInvoiceLine, String cARLOCID, Boolean suppressUserPrompts, Decimal dTotalCharges, Boolean lGetDefaultAccount, Decimal& grpTotalInvAmt, String& opGenMessage, String& opLtrCrdMsg, Boolean& lUpdateRan) in C:\_Releases\ERP\UD10.2.200.16\Source\Server\Services\BO\ARInvoice\ARInvoiceSvcFacade.cs:line 7309 at SyncInvokeUpdateMaster(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func
2 func) in C:_Releases\ICE\ICE3.2.200.16\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59
at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func2 func) in C:\_Releases\ICE\ICE3.2.200.16\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 28 at Epicor.Hosting.Wcf.EpiOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) in C:\_Releases\ICE\ICE3.2.200.16\Source\Framework\Epicor.System\Hosting\Wcf\EpiOperationInvoker.cs:line 23 at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext) at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext) at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result) at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result) at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously) at System.ServiceModel.Channels.SecurityChannelListener
1.ReceiveItemAndVerifySecurityAsyncResult`2.InnerTryReceiveCompletedCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)
at System.Net.AsyncProtocolRequest.CompleteRequest(Int32 result)
at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state)
at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred, SocketFlags flags)
at System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
Client Stack Trace
at Epicor.ServiceModel.Channels.ImplBase`1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets)
at Erp.Proxy.BO.ARInvoiceImpl.UpdateMaster(ARInvoiceDataSet ds, String cGroupID, String cTableName, Boolean runCheckAmortSched, Boolean runChkLtrOfCredit, Boolean& genAmortSched, Boolean lRASchedExists, Int32 ipInvoiceNum, Int32 ipInvoiceLine, String cARLOCID, Boolean suppressUserPrompts, Decimal dTotalCharges, Boolean lGetDefaultAccount, Decimal& grpTotalInvAmt, String& opGenMessage, String& opLtrCrdMsg, Boolean& lUpdateRan)
at Erp.Adapters.ARInvoiceAdapter.UpdateMaster(String cGroupID, String cTableName, Boolean runCheckAmortSched, Boolean runChkLtrOfCredit, Boolean& genAmortSched, Boolean lRASchedExists, Int32 ipInvoiceNum, Int32 ipInvoiceLine, String cARLOCID, Boolean suppressUserPrompts, Decimal dTotalCharges, Boolean lGetDefaultAccount, Decimal& grpTotalInvAmt, String& opGenMessage, String& opLtrCrdMsg, Boolean& lUpdateRan)
at Erp.Adapters.ARInvoiceAdapter.UpdateMasterUsingPasteInsert(String cGroupID, String cTableName, Boolean runCheckAmortSched, Boolean runChkLtrOfCredit, Boolean& genAmortSched, Boolean lRASchedExists, Int32 ipInvoiceNum, Int32 ipInvoiceLine, String cARLOCID, Boolean suppressUserPrompts, Decimal dTotalCharges, Boolean lGetDefaultAccount, Decimal& grpTotalInvAmt, String& opGenMessage, String& opLtrCrdMsg, Boolean& lUpdateRan, String pasteInsertColumnsToValidate)
at Erp.UI.App.ARInvoiceEntry.Transaction.Update(Boolean refreshGroup)