技术文章 - CS216485
在Servigistics SPM10.7.0.7中,系统导入“SKU Overrides”失败
已修改: 21-Nov-2016
适用于
- Servigistics Service Parts Management 10.7.0.7
说明
- 系统导入SKU Overrides失败
- Autopilot.log包含错误信息:
ERROR com.svg.core.util.EventLog - Task Get Host Data failed with message: StatementCallback; SQL [insert into IPCS_SKU_OVERRIDE (SKUOverrideID, HostSKUOverrideID, PartID, LocID, BeginDate, EndDate, Note, CodeId, OverrideValue, RecommenderPlannerID, ReviewerPlannerID, ApplyP
org.springframework.dao.DuplicateKeyException: StatementCallback; SQL [insert into IPCS_SKU_OVERRIDE (SKUOverrideID, HostSKUOverrideID, PartID, LocID, BeginDate, EndDate, Note, CodeId, OverrideValue, RecommenderPlannerID, ReviewerPlannerID, ApplyPostOptFlag, OverrideTypeID, Status, CreatedPlannerID, CreatedDate, RecommendDate, ReviewDate, MinOverride, MaxOverride) select s.SKUOverrideID, s.HostSKUOverrideID, s.PartID, s.LocID, s.BeginDate, s.EndDate, s.Note, s.CodeId, s.OverrideValue, s.RecommenderPlannerID, s.ReviewerPlannerID, s.ApplyPostOptFlag, s.OverrideTypeID, s.Status, s.CreatedPlannerID, s.CreatedDate, s.RecommendDate, s.ReviewDate, s.MinOverride, s.MaxOverride from ##IPCSTMP_L67313 s left join IPCS_SKU_OVERRIDE c on s.BeginDate = c.BeginDate and s.LocID = c.LocID and s.OverrideTypeID = c.OverrideTypeID and s.PartID = c.PartID where c.BeginDate is null]; Violation of UNIQUE KEY constraint 'IDX_SKU_OVR_ID'. Cannot insert duplicate key in object 'dbo.IPCS_SKU_OVERRIDE'.; nested exception is java.sql.SQLException: Violation of UNIQUE KEY constraint 'IDX_SKU_OVR_ID'. Cannot insert duplicate key in object 'dbo.IPCS_SKU_OVERRIDE'.
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:245)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:521)
at com.svg.core.process.TableSync.executeInsertQuery(TableSync.java:394)
at com.svg.core.process.TableSync.doInsert(TableSync.java:362)
at com.svg.core.process.TableSync.process(TableSync.java:161)
at com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:110)
at com.svg.core.process.BatchConnectorImpl.access$000(BatchConnectorImpl.java:29)
at com.svg.core.process.BatchConnectorImpl$2.doInConnection(BatchConnectorImpl.java:96)
at com.svg.core.database.ConnectionTemplate$1.doInTransaction(ConnectionTemplate.java:32)
at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:45)
at com.svg.core.database.ConnectionTemplate.execute(ConnectionTemplate.java:27)
at com.svg.core.database.ConnectionUtil.execute(ConnectionUtil.java:53)
at com.svg.core.database.ConnectionUtil.execute(ConnectionUtil.java:47)
at com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:92)
at com.svg.core.gateway.SkuOverrideGateway.syncToCore(SkuOverrideGateway.java:179)
at com.svg.core.gateway.SyncGateway.doPopulate(SyncGateway.java:116)
at com.svg.core.gateway.SyncGateway.populate(SyncGateway.java:59)
at com.svg.core.gateway.Gateway.process(Gateway.java:90)
at com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:110)
at com.svg.core.process.BatchConnectorImpl.access$000(BatchConnectorImpl.java:29)
at com.svg.core.process.BatchConnectorImpl$1.doInTransaction(BatchConnectorImpl.java:87)
at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:45)
at com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:84)
at com.svg.core.task.BatchTask$1.doInConnection(BatchTask.java:92)
at com.svg.core.task.BatchTask$1.doInConnection(BatchTask.java:87)
at com.svg.core.database.ConnectionTemplate$1.doInTransaction(ConnectionTemplate.java:32)
at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:45)
at com.svg.core.database.ConnectionTemplate.execute(ConnectionTemplate.java:27)
at com.svg.core.database.ConnectionUtil.execute(ConnectionUtil.java:53)
at com.svg.core.database.ConnectionUtil.execute(ConnectionUtil.java:47)
at com.svg.core.task.BatchTask.runConnector(BatchTask.java:87)
at com.svg.core.task.AbstractTask.run(AbstractTask.java:203)
at com.svg.core.task.BatchTask.run(BatchTask.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy520.run(Unknown Source)
at com.svg.core.service.impl.TaskServiceImpl$1.run(TaskServiceImpl.java:409)
at java.lang.Thread.run(Thread.java:724)
at com.svg.core.util.ThreadUtil$1.run(ThreadUtil.java:43)
org.springframework.dao.DuplicateKeyException: StatementCallback; SQL [insert into IPCS_SKU_OVERRIDE (SKUOverrideID, HostSKUOverrideID, PartID, LocID, BeginDate, EndDate, Note, CodeId, OverrideValue, RecommenderPlannerID, ReviewerPlannerID, ApplyPostOptFlag, OverrideTypeID, Status, CreatedPlannerID, CreatedDate, RecommendDate, ReviewDate, MinOverride, MaxOverride) select s.SKUOverrideID, s.HostSKUOverrideID, s.PartID, s.LocID, s.BeginDate, s.EndDate, s.Note, s.CodeId, s.OverrideValue, s.RecommenderPlannerID, s.ReviewerPlannerID, s.ApplyPostOptFlag, s.OverrideTypeID, s.Status, s.CreatedPlannerID, s.CreatedDate, s.RecommendDate, s.ReviewDate, s.MinOverride, s.MaxOverride from ##IPCSTMP_L67313 s left join IPCS_SKU_OVERRIDE c on s.BeginDate = c.BeginDate and s.LocID = c.LocID and s.OverrideTypeID = c.OverrideTypeID and s.PartID = c.PartID where c.BeginDate is null]; Violation of UNIQUE KEY constraint 'IDX_SKU_OVR_ID'. Cannot insert duplicate key in object 'dbo.IPCS_SKU_OVERRIDE'.; nested exception is java.sql.SQLException: Violation of UNIQUE KEY constraint 'IDX_SKU_OVR_ID'. Cannot insert duplicate key in object 'dbo.IPCS_SKU_OVERRIDE'.
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:245)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:521)
at com.svg.core.process.TableSync.executeInsertQuery(TableSync.java:394)
at com.svg.core.process.TableSync.doInsert(TableSync.java:362)
at com.svg.core.process.TableSync.process(TableSync.java:161)
at com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:110)
at com.svg.core.process.BatchConnectorImpl.access$000(BatchConnectorImpl.java:29)
at com.svg.core.process.BatchConnectorImpl$2.doInConnection(BatchConnectorImpl.java:96)
at com.svg.core.database.ConnectionTemplate$1.doInTransaction(ConnectionTemplate.java:32)
at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:45)
at com.svg.core.database.ConnectionTemplate.execute(ConnectionTemplate.java:27)
at com.svg.core.database.ConnectionUtil.execute(ConnectionUtil.java:53)
at com.svg.core.database.ConnectionUtil.execute(ConnectionUtil.java:47)
at com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:92)
at com.svg.core.gateway.SkuOverrideGateway.syncToCore(SkuOverrideGateway.java:179)
at com.svg.core.gateway.SyncGateway.doPopulate(SyncGateway.java:116)
at com.svg.core.gateway.SyncGateway.populate(SyncGateway.java:59)
at com.svg.core.gateway.Gateway.process(Gateway.java:90)
at com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:110)
at com.svg.core.process.BatchConnectorImpl.access$000(BatchConnectorImpl.java:29)
at com.svg.core.process.BatchConnectorImpl$1.doInTransaction(BatchConnectorImpl.java:87)
at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:45)
at com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:84)
at com.svg.core.task.BatchTask$1.doInConnection(BatchTask.java:92)
at com.svg.core.task.BatchTask$1.doInConnection(BatchTask.java:87)
at com.svg.core.database.ConnectionTemplate$1.doInTransaction(ConnectionTemplate.java:32)
at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:45)
at com.svg.core.database.ConnectionTemplate.execute(ConnectionTemplate.java:27)
at com.svg.core.database.ConnectionUtil.execute(ConnectionUtil.java:53)
at com.svg.core.database.ConnectionUtil.execute(ConnectionUtil.java:47)
at com.svg.core.task.BatchTask.runConnector(BatchTask.java:87)
at com.svg.core.task.AbstractTask.run(AbstractTask.java:203)
at com.svg.core.task.BatchTask.run(BatchTask.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy520.run(Unknown Source)
at com.svg.core.service.impl.TaskServiceImpl$1.run(TaskServiceImpl.java:409)
at java.lang.Thread.run(Thread.java:724)
at com.svg.core.util.ThreadUtil$1.run(ThreadUtil.java:43)
这是文章 216485 的 PDF 版本,可能已过期。最新版本 CS216485