Report Data Definition

I’m getting an error message when trying to get into the data definition for our Job Traveler. The Job Traveler is working fine, however, I would like to modify it. Is there a way around the error so that I can fix it and/or add to it? Any suggestions is greatly appreciated.
The error is:

An error occurred while updating the entries. See the inner exception for details.

Application Error

Exception caught in: Epicor.ServiceModel

Error Detail

Message: An error occurred while updating the entries. See the inner exception for details.
Inner Exception Message: Violation of PRIMARY KEY constraint ‘PK_RptExclude’. Cannot insert duplicate key in object ‘Ice.RptExclude’. The duplicate key value is (CigJbTrav4b, Part, ERP, Part, Number01).
The statement has been terminated.
Program: Epicor.ServiceModel.dll
Method: ShouldRethrowNonRetryableException

Client Stack Trace

at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
at Ice.IceDataContext.SaveChanges(SaveOptions options) in c:_Releases\ICE\3.1.600.0\Source\Framework\Epicor.System\Data\IceDataContext.cs:line 352
at Ice.Services.BO.RptDataDefSvc.syncExcludes(String rptDefID) in C:_Releases\ICE\3.1.600.8\Source\Server\Services\BO\RptDataDef\RptDataDef.cs:line 2593
at Ice.Services.BO.RptDataDefSvc.OnBeforeGetByID(RptDataDefTableset ds, IEnumerable1 queryParameters) in C:\_Releases\ICE\3.1.600.8\Source\Server\Services\BO\RptDataDef\RptDataDef.Designer.cs:line 2000 at Ice.TablesetBound3.InnerGetByID(IceDataContext dataContext, Int32 pageSize, Int32 absolutePage, Boolean& morePages, TFullTableset tableset, IEnumerable1 queryParameters) in c:\_Releases\ICE\3.1.600.0\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 622 at Ice.Services.BO.RptDataDefSvc.GetByID(String rptDefID) in C:\_Releases\ICE\3.1.600.8\Source\Server\Services\BO\RptDataDef\RptDataDef.Designer.cs:line 1985 at Ice.Services.BO.RptDataDefSvcFacade.GetByID(String rptDefID) in C:\_Releases\ICE\3.1.600.8\Source\Server\Services\BO\RptDataDef\RptDataDefSvcFacade.cs:line 732 at SyncInvokeGetByID(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.0\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59
at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func`2 func) in c:_Releases\ICE\3.1.600.0\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.0\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)

Inner Trace:
Violation of PRIMARY KEY constraint ‘PK_RptExclude’. Cannot insert duplicate key in object ‘Ice.RptExclude’. The duplicate key value is (CigJbTrav4b, Part, ERP, Part, Number01).
The statement has been terminated.
: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator, EntityConnection connection, Dictionary2 identifierValues, List1 generatedValues)
at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)

at Epicor.ServiceModel.Channels.ImplBase`1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets)
at Ice.Proxy.BO.RptDataDefImpl.GetByID(String rptDefID)
at Ice.Adapters.RptDataDefAdapter.OnGetByID(String ID)
at Ice.Lib.Framework.EpiBaseAdapter.GetByID(String stringId)
at Erp.UI.App.RptDataDefEntry.Transaction.adapterGetByID(String id)

Inner Exception

Violation of PRIMARY KEY constraint ‘PK_RptExclude’. Cannot insert duplicate key in object ‘Ice.RptExclude’. The duplicate key value is (CigJbTrav4b, Part, ERP, Part, Number01).
The statement has been terminated.

Can you give a bit more detail on exactly what you’re doing when you’re receiving this message? Do you get this error immediately after duplicating the Report Data Definition (RDD)?

I’m just trying to open the RDD at this point and i get the error message. I find it odd that it is functioning in Epicor, in that we are able to print the Job Traveler (It comes out as it should).

Is it the standard RDD or it has been customized?

It’s been customized previously.

I think you’ll need to contact support and have them create you a datafix to remove that row in the database.

Thanks for the information, I will check into it.