未删除ItemType上的属性

2020-09-17 03:11发布

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

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


大家好,

我们正在使用Hybris 6.6.0.0,并通过items.xml向名称为" newField"的产品添加了属性(localized:java.lang.String)。我们部署了新属性并添加了Values 属性。 一段时间后,我们发现不需要该属性,并将其从item.xml中删除。 在我们再次部署更改后,由于作业试图从已删除的属性读取值,因此SyncJobs失败。

在以前的版本中,我们添加和删除了没有问题的字段。 这是Bug还是Hybris的新行为?

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

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


大家好,

我们正在使用Hybris 6.6.0.0,并通过items.xml向名称为" newField"的产品添加了属性(localized:java.lang.String)。我们部署了新属性并添加了Values 属性。 一段时间后,我们发现不需要该属性,并将其从item.xml中删除。 在我们再次部署更改后,由于作业试图从已删除的属性读取值,因此SyncJobs失败。

在以前的版本中,我们添加和删除了没有问题的字段。 这是Bug还是Hybris的新行为?

付费偷看设置
发送
3条回答
My梦
1楼-- · 2020-09-17 03:40

嗨,

这是Hybris的错误还是新行为?

否,请从表格中删除属性。请点击以下链接。 [1]: https://labs。 techaspect.com/index.php/2017/09/06/deleting-an-attribute-from-hybris-database/如果确实对您有用,请接受此问题。
95年老男孩
2楼-- · 2020-09-17 03:20

Stefan,您好

您可以进入后台,然后单击系统->类型
在编辑器部分中,搜索产品,然后单击"属性"选项卡,然后查看属性列表中是否存在" newField"。 请参见下面的屏幕截图。替代文本

如果是,则从此列表中删除属性,然后尝试运行同步。 应该管用。 另外,通过诸如MySQL工作台或数据库可视化程序之类的客户端连接到数据库,并查看该" newField"是否仍存在于数据库中。

让我知道您的工作方式!

大简至美
3楼-- · 2020-09-17 03:34

要从hybris和DB中完全删除属性,您需要在更改items.xml之后进行初始化,或者手动运行SQL查询 在数据库上删除列(或常规脚本),然后从HAC进行更新。

运行此impex删除属性:

  REMOVE AttributeDescriptor;  qualifier [unique = true];  enclosingType(code)[unique = true]
  ;  newField; 产品
  

然后在提交模式下从HAC运行此groovy脚本以将其从数据库中删除:

 导入org.springframework.jdbc.core.JdbcTemplate
      JdbcTemplate jdbcTemplate = spring.getBean(" jdbcTemplate")
      尝试{
      int行= jdbcTemplate.update(" ALTER TABLE产品DROP COLUMN {yourdatabasecolumname};")
      } catch(Exception e){
      println(String.format("'%s'",e.getMessage()))
      }

  

数据库中的列名通常为p_attributename

一周热门 更多>