使用impex加afterafter错误重新计算订单

2020-09-15 13:55发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我已经搜索了专家,发现了一个与此...

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

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


我已经搜索了专家,发现了一个与此主题有关的问题,但是由于该问题已有3年以上的历史,因此我决定创建一个新的问题,因为给定的解决方案不适用于我。 我已按照帮助中所述的说明进行操作: help.hybris:导入产品和订单

我应该提到,将价格设置为订购产品而不是产品,但是在后台使用recalculate按钮就可以了,所以我想它也应该以impex形式工作。

insert_update order; code [unique = true]; user(uid); date [dateformat ='yyyy-MM-dd HH:mm:ss']; currency(isocode); paymentCost; totalPrice; deliveryCost; deliveryCostNet; calculated ; 752865; name@email.com ; 2016-01-01 14:30:40; EUR; 0; 0; 10; 12; false

导入

insert_update订单项;订单(代码);产品(catalogVersion(catalog(id [默认='ProductCatalog']),版本[默认='分段']),代码);单位(代码);数量;总价;底价 ; basePriceNet; calculated; entryNumber [unique = true,默认= -1]
; 752865; 40404001; pieces; 3; 410,79; 136,93; 115,063333333333; false

insert_update顺序;代码[unique = true]
#%impex.getLastImportedItem()。recalculate();
; 752865;
有一个产品的代码为40404001

问题:
因此,问题在于未重新计算订单。 价格仍然为0且计算为false
我希望订单实际上是计算得出的,并且所有价格都是根据交货成本和订单项设置的。
这实际上是在单击相应的重新计算按钮时实现的。 一个订单的后台。
(由于这是一个超过10万个订单的数据迁移,因此无需谈论使用按钮)

高级:
我甚至在aftereach上遇到问题:
insert_update order; code [unique = true]
#%aftereach:impex.getLastImportedItem()。recalculate( );
; 752865;
#%afterEach:end

向执行中添加aftereach会在日志中产生一条大错误消息,总结为:发生异常,将忽略:de.hybris.platform.impex.jalo.ImpExException:执行8行代码时出错:源文件:内联 评估:" impex.getLastImportedItem()。recalculate();":方法调用recalculate [HY--1]

3条回答
Baoming ROSE
2020-09-15 13:59

我假设您正在从hAC运行此impex。 您确定这不是您没有在设置中勾选启用代码执行框那样简单的事情吗? 默认情况下它是关闭的。

替代文本

例如,这对于默认的Powertools商店对我而言有效。

  INSERT_UPDATE顺序; code [unique = true];日期; currency(isocode); user(uid)
  ; 12345; Jul 30,2018 10:00:00 AM; USD;匿名

  INSERT_UPDATE OrderEntry; order(code)[unique = true]; entryNumber [unique = true]; product(code,catalogVersion(catalog(id),version)); unit(code)[default = pieces];数量[default = 1  ]; calculated [default = false]
  ; 12345; -1; 1128762:powertoolsProductCatalog:在线

  INSERT_UPDATE顺序;代码[unique = true]
  #%aftereach:impex.getLastImportedItem()。recalculate()
  ; 12345
  

一周热门 更多>