点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我们具有以下类别层次结构。 A-> B-> C-> D1,D2,D3,D4,D5
当我在impex下运行以创建整个类别层次结构时,它工作正常。
INSERT_UPDATE类别;; catalogVersion(Catalog(id),version)[unique = true];名称;说明;超级类别(code,catalogVersion(catalog(id),version)); code [unique = true]
; 22; ProductCatalog:Staged;类别D1;类别D1; C:ProductCatalog:Staged; D1
; 23; ProductCatalog:Staged;类别A;类别A; ; A
; 18; ProductCatalog:Staged;类别D2;类别D2; C:ProductCatalog:Staged; D2
; 19; ProductCatalog:Staged;类别D3;类别D3; C:ProductCatalog:Staged; D3
; 20; ProductCatalog:Staged;类别D4;类别D4; C:ProductCatalog:Staged; D4
; 17; ProductCatalog:Staged;类别B; B类; A:ProductCatalog:Staged; B
; 24; ProductCatalog:Staged; C类; C类; B:ProductCatalog:Staged; C
; 21; ProductCatalog:Staged;类别D5;类别D5; C:ProductCatalog:Staged; D5
此处未按层次结构顺序提及类别。 但是类别是按照正确的层次结构创建的。
但是当我要删除具有以下impex的整个类别层次结构时,顺序与插入相同。
删除类别;; catalogVersion(Catalog(id),version)[unique = true];名称;说明;超级类别(code,catalogVersion(catalog(id),version)); code [unique = true]
; 22; ProductCatalog:Staged;类别D1;类别D1; C:ProductCatalog:Staged; D1
; 23; ProductCatalog:Staged;类别A;类别A; ; A
; 18; ProductCatalog:Staged;类别D2;类别D2; C:ProductCatalog:Staged; D2
; 19; ProductCatalog:Staged;类别D3;类别D3; C:ProductCatalog:Staged; D3
; 20; ProductCatalog:Staged;类别D4;类别D4; C:ProductCatalog:Staged; D4
; 17; ProductCatalog:Staged;类别B; B类; A:ProductCatalog:Staged; B
; 24; ProductCatalog:Staged; C类; C类; B:ProductCatalog:Staged; C
; 21; ProductCatalog:Staged;类别D5;类别D5; C:ProductCatalog:Staged; D5
所有类别均已成功删除,但我在hybris控制台中看到以下错误。
WARN [impex结果工作者[cj:00000BLQ]] [ImpExImportReader]主脚本的第5行:转储未解决的行ValueLine [unrevvable:由于[de.hybris.platform.category.interceptors .CategoryRemovalValidator @ 36860221]:无法删除[A],因为此类别仍具有子类别,主脚本中的第5行为空,空字符串,HeaderDescriptor [主脚本中的第2行,删除,
在主脚本上警告[impex结果工作者[cj:00000BLQ]] [ImpExImportReader]第4行:转储了未解决的行ValueLine [unresolvable:由于[de.hybris.platform.category.interceptors.CategoryRemovalValidator@36860221]而无法删除项目8797046145166: 无法删除[B],因为此类别仍具有子类别,主脚本第4行为空,HeaderDescriptor [主脚本第2行,请删除,
我在这里有两个问题:
-
即使我们遇到类别A和B的错误,类别A和B的删除方式。
-
为什么在类D5位于remove impex语句的最后一行时,为什么没有得到C类错误?
有人可以帮助解决这个问题吗?
嗨-这是预期的行为。 如您所知,ImpEx是多次执行的。 在第一遍中,
A
和B
具有子类别,因此您得到了警告。 但是,一旦删除C
,就不会对B
发出警告,并且当删除B
时,也不会针对A发出警告。
。如果要完全不加任何警告地执行ImpEx,则需要将
REMOVE
ImpEx的值行以类别结构的相反顺序(从下到上)放置。我希望这很清楚。
嗨-通过快速搜索,我可以找到 https://help.sap.com/viewer/d0224eca81e249cb821f2cdf45a82ace/1905/en-US/2fb5a2a780c94325b4a48ff62b36ab23.html ,但肯定有更多页面在讨论。 请再次询问是否还有任何疑问。
使用impex删除类别或将其从后台删除之前。 我们需要分离与其关联的上级和子类。 按照上述警告,它具有关联的子类别。 因此,您将无法删除它们。
非常感谢您的回复。
这两个根类别也都删除了。 我收到警告错误,但类别也已删除。
一周热门 更多>