点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在尝试使用Hybris 6.2设置数据中心。 我正在使用SAP Retail系统并安装了Industry Pack Retail 2.2。
将商品主数据从SAP复制到Hybris时,出现以下异常:
{code} o找到类型为:CanonicalPricingSalesAreaMapping,条件为:[] 2016-12-23 16:56:09,359 [错误] [chdssiCompilableSpelExpressionProcessor]未找到类型为:CanonicalPricingSalesAreaMapping的参考规范项, 和条件:[] 2016-12-23 16:56:09,364 [错误] [chdspiDefaultCanonicalToTargetItemConverterService]无法从CanonicalItem {id ='3',integrationKey ='0000017751',status = SUCCESS,dataPool ='创建目标项目 DataHubPoolEntity {id = 0,name = GLOBAL}',字段='{scaleQuantity = null,数量= 314.10,productId = 000000000000002302,endDate = 99991 231,unitFactor = 1,salesOrganization = CS01,unit = PCE,conditionId = 0000017751,productGroup = null,货币= EUR,conditionType = VKP0,distributionChannel = C1,userGroup = n ull,startDate = 20160208}'} com.hybris.datahub.service.spel.TransformationExpressionException:无法通过表达式resolve('CanonicalPricingSalesAreaMapping',' SAPCONFIGURATION_PO OL')。catalogVersion 在com.hybris.datahub.service.spel.impl.CompilableSpelExpressionProcessor.transform(CompilableSpelExpressionProcessor.java:94)〜[datahub-service-6.2.0.1-RC1。 jar:6.2.0.1-RC1],位于com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.populateAttributeFromCanonicalItem(DefaultCanonicalToTargetItemCo nverterService.java:94)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1- RC1],位于com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.lambda $ populateTargetItem $ 26(DefaultCanonicalToTargetItemConverte rService.java:82)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1] at java.util.stream.ReferencePipeline $ 2 $ 1.accept(未知来源)〜[na:1.8.0_60] at [java.util.stream.ForEachOps $ ForEachOp $ OfRef.accept(未知来源)〜[na:1.8.0_60] java.util.stream.AbstractPipeline.copyInto(未知源)〜[na:1.8.0_60]〜[na:1.8.0_60]〜[na:1.8.0_60](未知源)〜[na:1.8.0_60](java.util.stream)。 java.util.stream.ForEachOps $ ForEachOp.evaluateSequential(Unknown Source)的AbstractPipeline.wrapAndCopyInto(未知源)〜[na:1.8.0_60](java.util.stream.ForEachOps处的[na:1.8.0_60]) $ ForEachOp $ OfRef.evaluateSequential(未知来源)〜[na:1.8.0_60]在java.util.stream.AbstractPipeline.evaluate(未知来源)〜[na:1.8.0_60]在java.util.stream.ReferencePipeline.forEach (未知来源)〜[na:1.8.0_60],位于com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.populateTargetItem(DefaultCanonicalToTargetItemConverterService.j ava:82)〜[datahub-service-6.2.0.1-RC1.jar: 6.2.0.1-RC1],位于com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.convert(DefaultCanonicalToTargetItemConverterService.java:57)〜[d atahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)〜[na:1.8.0_60]在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)〜[na:1.8.0_60]在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知 源代码)〜[na:1.8.0_60]在java.lang.reflect.Method.invoke(未知源代码)〜[na:1.8.0_60]在org.springframework.aop.support.AopUtils.invokeJoinpointU singReflection(AopUtils.java:302)[spring-aop-4.2.7.RELEASE.jar:4.2.7.RELEASE]在org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)[spring-aop -4.2.7.RELEASE.jar:4.2.7.RELE ASE]位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)[spring-aop-4.2.7.RELEASE.jar:4.2。 7.RELEASE],网址为org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocation(TransactionInterceptor.java:99)[spring-tx-4.2.7.RELEASE.jar:4。 2.7.RELEASE]位于org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)[spring-tx-4.2.7.RELEASE.j ar:4.2.7.RELEASE]位于org.springframework.transaction。 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)上的interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)[spring-tx-4.2.7.RELEASE.jar:4.2.7.RELEASE] [spring-aop-4.2.7.RELEASE.jar:4.2.7.RELEASE]位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)[spring-aop-4.2.7.RELEASE.jar :com.sun.proxy。$ Proxy165.convert上的:4.2.7.RELEASE](未知来源)com.hybris.datahub.akka.actor.TargetItemCreator.createTargetItem(TargetItemCreator.java:58)上的[na:na] [datahub -service-akka-6.2.0.1-RC1.jar:6.2.0.1-RC1]在akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26)〜[akka-actor_2.11-2.4.8.jar: na] at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21) 在scala.PartialFunction $ class.applyOrElse(PartialFunction.scala:123)处约为[akka-actor_2.11-2.4.8.jar:na],在akka.japi处约为[scala-library-2.11.5.jar:na]。 pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21)〜[akka-actor_2.11-2.4.8.jar:na]在scala.PartialFunction $ OrElse.applyOrElse(PartialFunction.scala:170)〜[scala-library-2.11 .5.jar:na]在akka.actor.Actor $ class.aroundReceive(Actor.scala:484)〜[akka-actor_2.11-2.4.8.jar:na]在akka.actor.AbstractActor.aroundReceive(AbstractActor) .scala:47)〜[akka-actor_2.11-2.4.8.jar:na]在akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)〜[akka-actor_2.11-2.4.8.jar: na] at akka.actor.ActorCell.invoke(ActorCell.scala:495)〜[akka-actor_2.11-2.4.8.jar:na] at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)〜[ akka.dispatch.Mailbox.run(Mailbox.scala:224)的[akka-actor_2.11-2.4.8.jar:na]〜在akka.dispatch的[akka-actor_2.11-2.4.8.jar:na]。 Mailbox.exec(Mailbox.scala:234)〜[akka-actor_2.11-2.4.8.jar:na]在scala.concurrent.forkjoin.ForkJoinTask.doExe c(ForkJoinTask.java:260)〜[scala-library-2.11.5.jar:na]在scala.concurrent.forkjoin.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool.java:1339)〜[scala-library-2.11.5 .jar:na]在scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)〜[scala-library-2.11.5.jar:na]在scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java :107)〜[scala-library-2.11.5.jar:na]原因:com.hybris.datahub.service.spel.MissingReferenceException:找不到类型为:CanonicalPricingSalesAreaMapping的引用规范项,以及条件:com上的[] .hybris.datahub.service.spel.impl.DefaultItemResolver.resolveReference(DefaultItemResolver.java:83)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1]位于com.hybris.datahub.service。 spel.impl.DefaultItemResolver.resolve(DefaultItemResolver.java:57)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1] at com.hybris.datahub.service.spel.impl.ResolveMethodExecutor.execute (ResolveMethodExecutor.java:49)〜[datahub-service-6.2.0.1-RC1.jar:6.2 .0.1-RC1]在org.springframework的org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:129)〜[spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEASE] .expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:85)〜[spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEASE]位于org.springframework.expression.spel.ast.CompoundExpression。 getValueRef(CompoundExpression.java:51)〜[spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEASE]在org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:87)〜 [spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEAS E] {code}
我也定义了SAPProductSalesAreaToCatalogMapping和SAPPricingSalesAreaToCatalog映射。
任何想法,如何解决此问题?
预先感谢您的帮助。
最诚挚的问候
@Alexandors
请问您是否在后台定义了"销售组织:CS01"和"分销渠道:C1"的目录。
此错误即将到来是因为datahub找不到这些属性的正确参考目录。
:我认为Niket可能是正确的。 您是否可以查看是否在SAP Base Store配置中(在"通用设置"或"管理"下,取决于所包含的扩展名)中定义了销售组织和分销渠道? 当加密密钥出现问题时,我也会对此产生一些模糊的记忆。 您是否能够成功将配置上传到Data Hub?
这是我的日志文件中的实际摘录:
在Pool GLOBAL中为PriceRow类型和1个规范项创建目标项2016-12-27 13:44:25,052 [WARN] [c.h.d.s.s.i.DefaultItemResolver]对CanonicalPricingSalesAreaMapping的引用不完整。 com.hybris.datahub.composition.key.IncompleteKeyException:规范项CanonicalPricingSalesAreaMapping的属性distributionChannel的值为空白或null。 在com.hybris.datahub.composition.key.AlphabeticalIntegrationKeyGenerationStrategy.generateKeyValue(AlphabeticalIntegrationKeyGenerationStrategy.java:38)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1]在com.hybris.datahub.composition处。 key.DefaultIntegrationKeyGenerator.calculateIntegrationKey(DefaultIntegrationKeyGenerator.java:73)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1] at com.hybris.datahub.composition.key.DefaultIntegrationKeyGenerator.calculateIntegrationKey(DefaultIntegrationKeyGenerator.java :54)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1] at com.hybris.datahub.service.spel.impl.DefaultItemResolver.calculateIntegrationKey(DefaultItemResolver.java:98)〜[datahub- service-6.2.0.1-RC1.jar:6.2.0.1-RC1]位于com.hybris.datahub.service.spel.impl.DefaultItemResolver.lookupReferencedItemByMatchingKey(DefaultItemResolver.java:90)〜[datahub-service-6.2.0.1-RC1 .jar:6.2.0.1-RC1],位于com.hybris.datahub.service.spel.impl.DefaultItemResolver.resolveReference(DefaultItemResolver.java:78)〜[d atahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1]在com.hybris.datahub.service.spel.impl.DefaultItemResolver.resolve(DefaultItemResolver.java:57)〜[datahub-service-6.2.0.1 -RC1.jar:6.2.0.1-RC1],位于com.hybris.datahub.service.spel.impl.ResolveMethodExecutor.execute(ResolveMethodExecutor.java:49)[datahub-service-6.2.0.1-RC1.jar:6.2.0.1 -RC1],位于org.springframework.expression的org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:129)[spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEASE]。 spel.ast.MethodReference.getValueInternal(MethodReference.java:85)[spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEASE]位于org.springframework.expression.spel.ast.CompoundExpression.getValueRef(CompoundExpression。 java:51)[spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEASE]位于org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:87)[spring-expression-4.2 .7.RELEASE.jar:4.2.7.RELEASE],位于org.springframework.expression.spel.ast.Sp elNodeImpl.getValue(SpelNodeImpl.java:120)[spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEASE]位于org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:242) [spring-expression-4.2.7.RELEASE.jar:4.2.7.RELEASE]位于com.hybris.datahub.service.spel.impl.CompilableSpelExpressionProcessor.transform(CompilableSpelExpressionProcessor.java:89)[datahub-service-6.2.0.1 -RC1.jar:6.2.0.1-RC1],位于com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.populateAttributeFromCanonicalItem(DefaultCanonicalToTargetItemConverterService.java:94)[datahub-service-6.2.0.1-RC1.jar:6.2.0.1 -RC1],位于com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.lambda $ populateTargetItem $ 26(DefaultCanonicalToTargetItemConverterService.java:82)[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1] .util.stream.ForEachOps $ ForEachOp $ OfRef.accept(未知来源)〜[na:1.8.0_60] at java.util.stream.ReferencePipeline $ 2 $ 1.accept(U nknown来源)〜[na:1.8.0_60] at java.util.HashMap $ KeySpliterator.forEachRemaining(未知来源)〜[na:1.8.0_60] at java.util.stream.AbstractPipeline.copyInto(未知来源)〜[na :1.8.0_60]在java.util.stream.AbstractPipeline.wrapAndCopyInto(未知来源)〜[na:1.8.0_60]在java.util.stream.ForEachOps $ ForEachOp.evaluateSequential(未知来源)〜[na:1.8.0_60 ] at java.util.stream.ForEachOps $ ForEachOp $ OfRef.evaluateSequential(未知来源)〜[na:1.8.0_60] at java.util.stream.AbstractPipeline.evaluate(未知来源)〜[na:1.8.0_60] at java.util.stream.ReferencePipeline.forEach(未知来源)〜[na:1.8.0_60],位于com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.populateTargetItem(DefaultCanonicalToTargetItemConverterService.java:82)[datahub-service-6.2 .0.1-RC1.jar:6.2.0.1-RC1],位于com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.convert(DefaultCanonicalToTargetItemConverterService.java:57)[datahub-service-6 在sun.reflect.GeneratedMethodAccessor510.invoke(未知源)〜[na:na]处的.2.0.1-RC1.jar:6.2.0.1-RC1]在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)〜[na:1.8处的[na:na] .0_60]在java.lang.reflect.Method.invoke(未知来源)〜[na:1.8.0_60]在org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)〜[spring-aop- 4.2.7.RELEASE.jar:4.2.7.RELEASE],位于org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)〜[spring-aop-4.2.7.RELEASE.jar:4.2.7 [RELEASE],位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)〜[spring-aop-4.2.7.RELEASE.jar:4.2.7.RELEASE],位于org.springframework.transaction.interceptor .TransactionInterceptor $ 1.proceedWithInvocation(TransactionInterceptor.java:99)〜[spring-tx-4.2.7.RELEASE.jar:4.2.7.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport)。 java:281)〜[spring-tx-4.2.7.RELEASE.jar:4.2.7.RELEASE]在org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)〜[spring-tx-4.2 .7.RELEASE.jar:4.2.7.RELEASE]位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)〜[spring-aop-4.2.7.RELEASE.jar:4.2.7。 RELEASE]在org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)〜[spring-aop-4.2.7.RELEASE.jar:4.2.7.RELEASE]在com.sun.proxy。$ Proxy164 .convert(未知来源)〜[na:na],位于com.hybris.datahub.akka.actor.TargetItemCreator.createTargetItem(TargetItemCreator.java:58)〜[datahub-service-akka-6.2.0.1-RC1.jar:6.2 .0.1-RC1]位于akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26)〜[akka-actor_2.11-2.4.8.jar:na],位于akka.japi.pf.UnitCaseStatement.apply(CaseStatements .scala:21)〜[akka-actor_2.11-2.4.8.jar:na]在scala.PartialFunction $ class.applyOrElse(PartialFunction.scala:123)〜[scala-library-2.11.5.jar: na] at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21)〜[akka-actor_2.11-2.4.8.jar:na] at scala.PartialFunction $ OrElse.applyOrElse(PartialFunction.scala:170) 〜位于akka.actor.Actor $ class.aroundReceive(Actor.scala:484)的[scala-library-2.11.5.jar:na]〜位于akka的[akka-actor_2.11-2.4.8.jar:na]。 actor.AbstractActor.aroundReceive(AbstractActor.scala:47)〜[akka-actor_2.11-2.4.8.jar:na]在akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)〜[akka-actor_2.11 -2.4.8.jar:na]在akka.actor.ActorCell.invoke(ActorCell.scala:495)〜[akka-actor_2.11-2.4.8.jar:na]在akka.dispatch.Mailbox.processMailbox(Mailbox .scala:257)〜[akka-actor_2.11-2.4.8.jar:na]在akka.dispatch.Mailbox.run(Mailbox.scala:224)〜[akka-actor_2.11-2.4.8.jar: na] at akka.dispatch.Mailbox.exec(Mailbox.scala:234)〜[akka-actor_2.11-2.4.8.jar:na] at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 〜[scala-library-2.11.5.jar:na]在scala.concurrent.forkjoin.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool。 java:1339)〜在scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)〜[scala-library-2.11.5.jar:na]〜在[scala-library-2.11.5.jar:na] scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)〜[scala-library-2.11.5.jar:na] 2016-12-27 13:44:25,053 [ERROR] [chdssiCompilableSpelExpressionProcessor]对CanonicalPricingSalesAreaMapping的引用 不完整。 2016-12-27 13:44:25,055 [错误] [chdspiDefaultCanonicalToTargetItemConverterService]无法从CanonicalItem {id ='2920',integrationKey ='0000017748',status = SUCCESS,dataPool ='DataHubPoolEntity {id = 0)创建目标项目 ,名称= GLOBAL}',字段='{scaleQuantity = null,数量= 349.00,productId = 000000000000002302,endDate = 99991231,unitFactor = 1,salesOrganization = null,unit = PCE,conditionId = 0000017748,productGroup = null,currency = EUR ,conditionType = PB00,distributionChannel = null,userGroup = null,startDate = 20160208}'} com.hybris.datahub.service.spel.TransformationExpressionException:无法通过表达式resolve('CanonicalPricingSalesAreaMapping','SAPCONFIGURATION_POOL')。com转换成catalogVersion .hybris.datahub.service.spel.impl.CompilableSpelExpressionProcessor.transform(CompilableSpelExpressionProcessor.java:94)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1]位于com.hybris.datahub.service。 publication.impl.DefaultCanonicalToTargetItemConverterService.populateAttributeFromC anonicalItem(DefaultCanonicalToTargetItemConverterService.java:94)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1] at com.hybris.datahub.service.publication.impl.DefaultCanonicalToTargetItemConverterService.lambda $ populateTargetItem $ 26(DefaultCanonicalServiceTarget。 java:82)〜[datahub-service-6.2.0.1-RC1.jar:6.2.0.1-RC1] at java.util.stream.ForEachOps $ ForEachOp $ OfRef.accept(未知来源)〜[na:1.8.0_60]
显然,销售组织是空的。 但是我对此没有任何解释。 我在后台进行了以下设置:
从我的角度来看,这应该是价格映射的相关设置
您有任何解决方案吗?
\
[c.h.d.s.s.i.CompilableSpelExpressionProcessor]对CanonicalPricingSalesAreaMapping的引用不完整。 2016-12-27 13:44:25,055 [错误] [chdspiDefaultCanonicalToTargetItemConverterService]无法从CanonicalItem {id ='2920',integrationKey ='0000017748',status = SUCCESS,dataPool ='DataHubPoolEntity {id = 0)创建目标项目 ,名称= GLOBAL}',字段='{scaleQuantity = null,数量= 349.00,productId = 000000000000002302,endDate = 99991231,unitFactor = 1,salesOrganization = null,unit = PCE,conditionId = 0000017748,productGroup = null,currency = EUR ,conditionType = PB00,distributionChannel = null,userGroup = null,startDate = 20160208}'}
上面的规范是由salesOrganization = null和distributionChannel = null组成的,这就是为什么它显示"对CanonicalPricingSalesAreaMapping的引用不完整"的原因。
是否有解决上述错误的解决方案? 因为我遇到了同样的错误。 请让我知道是否有人有任何想法。
一周热门 更多>