点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在新促销引擎中,可以使用CalculationService方法来标识已应用了哪些RAOAction来触发该促销(根据新促销引擎),我们只能在规则引擎层中看到RAOAction,而对于CalculationService/Strategy而言并不持久。 是否可以使用任何属性(在PromotionOrderResults/PromotionResultModel中)进行标识,该属性可以定义促销是否具有某些条件/动作(例如,几乎等于旧版ProductBOGOFPromotion)。 我们没有任何剩余的旧促销类型的商品,那么如何迁移专门针对那些PromotionType编写的代码。 任何想法都会有所帮助
非常感谢Manushi
嗨Manushi,
您没有直接从服务代码访问RAOAction的权限,而是可以从已消费的条目本身访问促销活动,然后从那里获取操作详细信息。
嗨
我已使用以下代码来了解我的晋升行动已被取消,我不确定是否建议这样做,但无论如何我已经在专家中发布了替代方案。 请使用此解决方法。 另一种方法是重写侦听器PromotionRuleCompilerListener。
请告知我您是否还有其他选择。
PromotionOrderResults promoOrderResults = promotionsService.getPromotionResults(cartModel); if(CollectionUtils.isNotEmpty(promoOrderResults.getAppliedOrderPromotions())){for(PromotionResult promoResults:promoOrderResults.getAppliedOrderPromotions()){this.updateDeliveryCostAtOrder(promoResults,cartModel); }
Collection PromotionActions = promoOrderResults.getActions(); if(CollectionUtils.isNotEmpty(promotionActions)){for(AbstractPromotionAction PromotionAction:PromotionActions){if(promotionAction.getComposedType()。getCode()。equals(RuleBasedOrderShippingGroupActionModel._TYPECODE)){//您的逻辑。 }}}
一周热门 更多>