Hybris:将没有超级类别的产品标记为非活动

Hybris:将没有超级类别的产品标记为非活动,hybris,Hybris,我们正在执行目录清理任务,并要求所有没有超级类别的产品标记为非活动。这些产品可以直接位于PCM的目录根下,而不在任何超级类别下 我想获得所有此类产品的列表,并通过impex更新所有此类产品的批准状态,如“检查”,以便用户在店面上不再看到这些产品 非常感谢您的帮助 获取您的目标产品 这个想法是从“你的目录”中提取所有产品,除了(不在)所有至少有一个类别的产品。 您可以使用这种灵活的搜索: select {p.pk} from { Product as p join CatalogVersion a

我们正在执行目录清理任务,并要求所有没有超级类别的产品标记为非活动。这些产品可以直接位于PCM的目录根下,而不在任何超级类别下

我想获得所有此类产品的列表,并通过impex更新所有此类产品的批准状态,如“检查”,以便用户在店面上不再看到这些产品


非常感谢您的帮助

获取您的目标产品

这个想法是从“你的目录”中提取所有产品,除了(不在)所有至少有一个类别的产品。 您可以使用这种灵活的搜索:

select {p.pk}
from { Product as p join CatalogVersion as cv on {p.catalogversion}={cv.pk}
  join Catalog as catalog on {cv.catalog}={catalog.pk} }
where {catalog.id}='YOUR_CATALOG_ID'
and {cv.version}='Staged'
and {p.pk} not in ({{
  select {p.pk}
  from {Product as p join CategoryProductRelation as pc on {p.pk}={pc.target}
    join Category as c on {pc.source}={c.pk} 
    join CatalogVersion as cv on {p.catalogversion}={cv.pk}
    join catalog as catalog on {cv.catalog}={catalog.pk}}
  where {catalog.id}='YOUR_CATALOG_ID'
  and {cv.version}='Staged'
}})
如果您的数据模型已自定义,则应将“产品”替换为自定义产品类型

更新产品批准状态

作为第二步,您可以创建一个impex以更改approvalStatus:

INSERT_UPDATE Product;code[unique=true];approvalstatus(code);
;target_product_pk;check;