查询hyris中所有已发布的促销

时间:2019-06-20 11:55:16

标签: sap hybris

是否可以查询所有已发布的hybris促销以及其合格产品?加入购物车后,我们始终可以使用字段allPromotionResults获取它们。假设我想在添加到购物车之前获取所有促销信息,我需要加入哪些课程。

我尝试过的查询:

select * from {AbstractPromotion as ap} where 
({ap.startDate} >= '2019-02-01T00:00:00.000'
 AND {ap.endDate} <='2019-07-30T00:00:00.000' AND {ap.enabled}=1)

如何过滤未发布的产品?如何获得合格的产品?

1 个答案:

答案 0 :(得分:0)

据我所知allPromotionResults返回的是购物车上应用的促销,这意味着 该特定购物车的促销条件已满足。

促销的条件存储为Json(即 SourceRule#conditions )。 因此,为了获得所有发布的至少使用一种“合格产品”条件的促销,您可以使用:

select * from {PromotionSourceRule as PSR } where {PSR:status} = ({{select distinct(PK) from {RuleStatus} where {code} = 'PUBLISHED' }}) and {PSR:conditions} like '%y_qualifying_products%'

其中8796113010779是已发布枚举值的PK(可以在backoffice-> System-> Types中找到。)