Как удалить функцию из продукта? - PullRequest
0 голосов
/ 03 апреля 2020

Так что я все еще изучаю эту удивительную сложную систему, называемую Hybris или SAP Commerce, наряду с множеством других имен :) Я столкнулся с проблемой и ищу, как ее решить. Я добавил четыре новых атрибута классификации (использование, соответствие, материал, функция). Когда я пошел, чтобы добавить их к продуктам, я добавил пробел между ними и цифрой c код, следующий за ним:

$feature1=@Utilization, 445 [$clAttrModifiers]; # Style                                                         
$feature2=@Fit, 446 [$clAttrModifiers]; # Colour                                                        
$feature3=@Material, 447 [$clAttrModifiers]; # Connections                                                   
$feature4=@Function, 448 [$clAttrModifiers]; # Function                                                      
INSERT_UPDATE Product;code[unique=true];$feature1;$feature2;$feature3;$feature4;$catalogVersion;
 ;300413166;my;feature;has;a space   

Проблема в том, что я хочу убрать пробел, как видно на следующий код:

$feature1=@Utilization,445 [$clAttrModifiers];# Style           
$feature2=@Fit,446 [$clAttrModifiers];# Colour          
$feature3=@Material,447 [$clAttrModifiers];# Connections     
$feature4=@Function,448 [$clAttrModifiers];# Function        
INSERT_UPDATE Product;code[unique=true];$feature1;$feature2;$feature3;$feature4;$catalogVersion;
 ;300413166;Bottom;Loose;Yam type;Sportswear 

Когда я запускаю оба этих сценария вместе, я получаю 8 функций:

running both scripts

Так как удалить четыре элемента, в которых есть пробелы? Как мне go фактически удалить первый набор функций?

1 Ответ

0 голосов
/ 04 апреля 2020

Ниже удаляются записи ClassAttributeAssignment, которые также удаляют записи ProductFeature, назначенные всем продуктам. Однако вам нужно найти правильный код категории классификации (например, clasificationCategory1), к которому принадлежит атрибут (например, Utilization, 445). Классификационная категория - это группировка / заголовок, которые вы найдете в Атрибутах

$classificationCatalog=ElectronicsClassification
$classificationSystemVersion=systemVersion(catalog(id[default=$classificationCatalog]),version[default='1.0'])[unique=true,default=$classificationCatalog:1.0]
$classificationCatalogVersion=catalogversion(catalog(id[default=$classificationCatalog]),version[default='1.0'])[unique=true]
$class=classificationClass(code,$classificationCatalogVersion)[unique=true]
$attribute=classificationAttribute(code,$classificationSystemVersion)[unique=true]

REMOVE ClassAttributeAssignment[batchmode=true];$class;$attribute
;clasificationCategory1;Utilization, 445
;clasificationCategory1;Fit, 446

enter image description here

Вы также можете удалить записи ProductFeature (для всех продуктов) как это, но это не удаляет присвоение ClassAttribute.

REMOVE ProductFeature[batchmode=true];qualifier[unique=true]
;ElectronicsClassification/1.0/clasificationCategory1.Utilization, 445

Другие ссылки:

...