动态属性+个性化规则-可以吗?

2020-09-05 03:56发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我创建了一个表示布尔类型的动态属性。 我现在正在尝试在该属性上创建个性化规则(SearchRestriction)。 但是,SearchRestriction的创建失败-这是有道理的,因为没有实际的数据库字段。

 原因:de.hybris.platform.jalo.flexiblesearch.FlexibleSearchException:无法在QBPVariantProduct类型中搜索未知字段'TableField(name ='availableToCurrentDistributionChannel',langPK ='null',type = QBPVariantProduct)' 禁用检查,类型的infoMap = TypeInfoMap = 8796128870482

  

该错误提到"除非您禁用检查"。 "除非您禁用检查"是什么意思? 它是否指我可以使此SearchRestriction工作的某些事情? 我要实现的目标是不可能的吗?

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我创建了一个表示布尔类型的动态属性。 我现在正在尝试在该属性上创建个性化规则(SearchRestriction)。 但是,SearchRestriction的创建失败-这是有道理的,因为没有实际的数据库字段。

 原因:de.hybris.platform.jalo.flexiblesearch.FlexibleSearchException:无法在QBPVariantProduct类型中搜索未知字段'TableField(name ='availableToCurrentDistributionChannel',langPK ='null',type = QBPVariantProduct)' 禁用检查,类型的infoMap = TypeInfoMap = 8796128870482

  

该错误提到"除非您禁用检查"。 "除非您禁用检查"是什么意思? 它是否指我可以使此SearchRestriction工作的某些事情? 我要实现的目标是不可能的吗?

谢谢

付费偷看设置
发送
4条回答
半个程序猿
1楼 · 2020-09-05 04:18.采纳回答

嗨,迈克,

搜索限制附加到您的搜索查询中。 因此,搜索限制所使用的所有属性都必须映射到实际的表列。 "禁用检查"是指在未知字段上覆盖使检查失败的方法,并在对"搜索"方法的调用中进行设置。 禁用检查将不允许您的查询运行,因为没有代表动态属性的列,只会导致数据库错误。

-Mark

嗨,那么在这种情况下我们通常如何禁用检查。 除非您禁用检查,否则我在类型IPAddressAddress内的addressPOS字段"搜索未知字段'TableField(name ='addressPOS',langPK ='null',type = EmailAddressRoot)'"时遇到错误。 当我在目标元素中使ordered =" true"时,将自动生成此字段。 谢谢!

浮生未央
3楼-- · 2020-09-05 04:19

谢谢大家,这是我所怀疑的。

仅供参考,我可以通过使用属性而不是使用动态属性来解决问题,而是将属性添加到用户会话中。 我可以在搜索限制中访问会话。 看起来像这样:

  {programOrderOnly} = true和?session.DISTRIBUTION_CHANNEL.code =?session.DC20_CODE
  
CPLASF-自律
4楼-- · 2020-09-05 04:14

SearchRestrictions(个性化规则)已添加到选择目标项目类型的所有flexibleSearch查询的 WHERE 部分。

因此SearchRestrictions基于flexibleSearch,它已为您的数据库服务器翻译为sql。 由于sql仅支持对数据库的选择,因此无法在搜索中使用动态属性。 当然,动态属性未存储在数据库中。

因此,您的问题不是对SearchRestrictions的动态属性的支持,而是对FlexibleSearch的支持。

一周热门 更多>