Exception caught in: Epicor.ServiceModel

Hi
We are getting an error when reporting a qty in MES. It is only happening with one job. I can’t see anything unusual in the job. The same error occurs in live and pilot. We have a few customizations and BPMs running on this process but I have tried the base versions and turned all BPMs off in Pilot and we still get the error. Also user independent. Not sure where to look next…

Application Error

Exception caught in: Epicor.ServiceModel

Error Detail

Message: Specified argument was out of the range of valid values.
Parameter name: Specified argument was out of the range of valid values.
Parameter name: Position is greater than number of delimited values
Program: Epicor.ServiceModel.dll
Method: ShouldRethrowNonRetryableException

Client Stack Trace

at Epicor.Utilities.StringExtensions.Entry(String sourceString, Int32 index, Char delimiter) in c:_Releases\ICE\3.1.600.0\Source\Shared\Framework\Epicor.ServiceModel\Utilities\StringExtensions.cs:line 134
at Erp.Internal.Lib.AdjShopL.RemoveLoad(Decimal HoursToRemove, Boolean IP_WhatIf, JobOper JobOper) in C:_Releases\ERP\UD10.1.600.20\Source\Server\Internal\Lib\JobOperShared\AdjShopL\adjshopl.cs:line 1555
at Erp.Internal.Lib.AdjShopL.Update_ResourceTimeUsed(JobOper JobOper, JobOper OldJobOper) in C:_Releases\ERP\UD10.1.600.20\Source\Server\Internal\Lib\JobOperShared\AdjShopL\adjshopl.cs:line 339
at Erp.Internal.Lib.JobOperWrite._JobOperWrite(JobOper JobOper, JobOper OldJobOper, Boolean RollUp) in C:_Releases\ERP\UD10.1.600.20\Source\Server\Internal\Lib\JobOperShared\JobOperWrite\JobOperWrite.i.cs:line 1414
at Erp.Internal.Lib.JobOperShWrite.DoJobOper(JobOper JobOper, JobOper OLDJobOper) in C:_Releases\ERP\UD10.1.600.20\Source\Server\Internal\Lib\JobOperShared\JobOperShWrite\JobOperShWrite.cs:line 1302
at Erp.Triggers.JobOper.WriteTrigger.write(JobOper JobOper, JobOper OldJobOper) in c:_Releases\ERP\RL10.1.600.0\Source\Server\Db\Triggers\JobOper\write.cs:line 224
at Ice.Triggers.TriggerQueue.ExecuteWriteTrigger(IceDataContext context, LinqRow modifiedRecord, LinqRow originalRecord) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 296
at Ice.Triggers.TriggerQueue.RunWriteTriggerInNewLevel(IceDataContext context, LinqRow modifiedRecord, LinqRow originalRecord, Boolean forAddedRow) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 157
at Ice.Triggers.TriggerQueue.<>c__DisplayClass11_0.b__1() in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 148
at Ice.Triggers.TriggerQueue.RunAtNewLevel(Func1 buildTriggerRunState, Action action) in C:\_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 501 at Ice.Triggers.TriggerQueue.RunTriggers(IceDataContext context) in C:\_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 83 at Ice.IceDataContext.RunUntilAllTriggersHaveExecuted() in C:\_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Data\IceDataContext.cs:line 566 at Ice.Triggers.TriggerQueue.RunAtNewLevel(Func1 buildTriggerRunState, Action action) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 501
at Ice.IceDataContext.Validate[TLinqRow](TLinqRow row) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Data\IceDataContext.cs:line 323
at Ice.IceDataContext.Release[TEntity](TEntity& entity) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Data\IceDataContext.cs:line 263
at Erp.Triggers.LaborDtl.WriteTrigger.Write(LaborDtl LaborDtl, LaborDtl OLaborDtl) in c:_Releases\ERP\RL10.1.600.0\Source\Server\Db\Triggers\LaborDtl\Write.cs:line 1669
at Ice.Triggers.TriggerQueue.ExecuteWriteTrigger(IceDataContext context, LinqRow modifiedRecord, LinqRow originalRecord) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 296
at Ice.Triggers.TriggerQueue.RunWriteTriggerInNewLevel(IceDataContext context, LinqRow modifiedRecord, LinqRow originalRecord, Boolean forAddedRow) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 157
at Ice.Triggers.TriggerQueue.<>c__DisplayClass11_0.b__1() in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 148
at Ice.Triggers.TriggerQueue.RunAtNewLevel(Func1 buildTriggerRunState, Action action) in C:\_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 501 at Ice.Triggers.TriggerQueue.RunTriggers(IceDataContext context) in C:\_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 83 at Ice.IceDataContext.RunUntilAllTriggersHaveExecuted() in C:\_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Data\IceDataContext.cs:line 566 at Ice.Triggers.TriggerQueue.RunAtNewLevel(Func1 buildTriggerRunState, Action action) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 501
at Ice.IceDataContext.Validate[TLinqRow](TLinqRow row) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Data\IceDataContext.cs:line 323
at Erp.Services.BO.ReportQtySvc.goEndActivity(String& opMessage) in c:_Releases\ERP\RL10.1.600.0\Source\Server\Services\BO\ReportQty\ReportQty.cs:line 947
at Erp.Services.BO.ReportQtySvc.ReportQuantity(Int32 hedSeq, Int32 dtlSeq, String& opMessage, ReportQtyTableset& ds) in c:_Releases\ERP\RL10.1.600.0\Source\Server\Services\BO\ReportQty\ReportQty.cs:line 1674
at Erp.Services.BO.ReportQtySvcFacade.ReportQuantity(Int32 hedSeq, Int32 dtlSeq, String& opMessage, ReportQtyTableset& ds) in c:_Releases\ERP\RL10.1.600.0\Source\Server\Services\BO\ReportQty\ReportQtySvcFacade.cs:line 236
at SyncInvokeReportQuantity(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func2 func) in C:\_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59 at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func2 func) in C:_Releases\ICE\3.1.600.20\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 47
at Epicor.Hosting.Wcf.EpiOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) in C:_Releases\ICE\3.1.600.20\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 Epicor.ServiceModel.Channels.ImplBase`1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets)
at Erp.Proxy.BO.ReportQtyImpl.ReportQuantity(Int32 hedSeq, Int32 dtlSeq, String& opMessage, ReportQtyDataSet ds)
at Erp.Adapters.ReportQtyAdapter.ReportQuantity(Int32 hedSeq, Int32 dtlSeq, String& opMessage)

Looks like data corruption. Though it’s yelling about resource load and assuming since it’s using the Entry function when it crashes it’s using the ShopLoad tables load days and hours ~ delimited fields at the time of crash. Clearing and rebuilding your shop load may be all that’s required, but fire off a case with support.

1 Like

Thanks Joshua,
I’ll do that.
How do we go about rebuilding our shop load?

If you’re comfortable enough with it empty your ShopLoad table in the DB and run global scheduling. Of course run it through test first.

Items 1150 and 1230 on the Conversion Workbench will rebuild ShopLoad. I’m not sure what the difference is between them but I used to run them regularly when we were on a buggy release of E9. They fixed it up nicely.