Hybris:将没有超类别的产品标记为不活动
Hybris: Mark products with no super-category as inactive
我们正在执行目录清理任务,并要求将所有没有超类别的产品标记为非活动。这样的产品直接在PCM的目录根目录下,不在任何超目录下。
我想获取所有此类产品的列表,并且通过 impex 我可以更新所有此类产品的批准状态 'check',这样它们就不再对店面的用户可见。
非常感谢任何帮助!
获取您的目标产品
想法是从 'YOUR_CATALOG_ID' 中提取所有产品,除了(不在)具有至少一个类别的所有产品之外。
您可以使用这种灵活的搜索:
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'
}})
如果您的数据模型已自定义,您应该将 "Product" 替换为您的自定义产品类型。
更新产品批准状态
作为第二步,您可以创建一个 impex 以更改批准状态:
INSERT_UPDATE Product;code[unique=true];approvalstatus(code);
;target_product_pk;check;
我们正在执行目录清理任务,并要求将所有没有超类别的产品标记为非活动。这样的产品直接在PCM的目录根目录下,不在任何超目录下。
我想获取所有此类产品的列表,并且通过 impex 我可以更新所有此类产品的批准状态 'check',这样它们就不再对店面的用户可见。
非常感谢任何帮助!
获取您的目标产品
想法是从 'YOUR_CATALOG_ID' 中提取所有产品,除了(不在)具有至少一个类别的所有产品之外。 您可以使用这种灵活的搜索:
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'
}})
如果您的数据模型已自定义,您应该将 "Product" 替换为您的自定义产品类型。
更新产品批准状态
作为第二步,您可以创建一个 impex 以更改批准状态:
INSERT_UPDATE Product;code[unique=true];approvalstatus(code);
;target_product_pk;check;