Как удалить значение из коллекции, используя Impex в HYBRIS? - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь расширить OOTB Impex, чтобы удалить customerupportagentrole из usersupportmanagergroup , но он не работает.Пожалуйста, помогите.

это OOB Impex.

INSERT_UPDATE CsAgentGroup;UID[unique=true];locname[lang=en];groups(uid)[mode=append];description
;customersupportmanagergroup;Customer Support Manager Group;customersupportmanagerrole,customersupportagentrole,csagentgroup,csagentmanagergroup;The Customer Support Manager Group has access to the Customer Support Backoffice's Customer Support Manager Group and Customer Support Agent Group views AND/OR the Assisted Service Module.
;customersupportagentgroup;Customer Support Agent Group;customersupportagentrole,csagentgroup;The Customer Support Agent Group has access to the Customer Support Backoffice's Customer Support Agent Group views and AND/OR the Assisted Service Module.

это мой Impex для удаления customerupportagentrole из клиентовsupportmanagergroup

INSERT_UPDATE CsAgentGroup;UID[unique=true];locname[lang=en];groups(uid)[mode=append];description
;customersupportmanagergroup;Customer Support Manager Group;customersupportmanagerrole,csagentgroup,csagentmanagergroup;The Customer Support Manager Group has access to the Customer Support Backoffice's Customer Support Manager Group and Customer Support Agent Group views AND/OR the Assisted Service Module.
;customersupportagentgroup;Customer Support Agent Group;customersupportagentrole,csagentgroup;The Customer Support Agent Group has access to the Customer Support Backoffice's Customer Support Agent Group views and AND/OR the Assisted Service Module.

Ответы [ 4 ]

0 голосов
/ 26 февраля 2019

Вы можете сделать это следующим образом: если вы не используете оператор режима в группах, он заменит коллекцию указанными вами компонентами

INSERT_UPDATE CsAgentGroup;UID [уникальный = true];группы (UID) ;;customersupportmanagergroup; csagentgroup, csagentmanagergroup;

или если вы установите [mode = remove], он удалит указанный вами компонент

INSERT_UPDATE CsAgentGroup;UID [уникальный = true];groups (uid) [mode = удалить] ;;customersupportmanagergroup; customersupportmanagerrole;

0 голосов
/ 18 февраля 2019

Вы используете mode=append, который в основном добавляет ваши значения в существующую коллекцию (группы).В вашем случае некоторые Impex (OOTB) могут уже добавить customersupportagentrole к customersupportmanagergroup, прежде чем ваш Impex будет запущен.Теперь ваш Impex не будет переопределять существующее значение, он просто добавляется.Поэтому попробуйте использовать mode=replace, который в основном переопределяет существующие значения.

INSERT_UPDATE CsAgentGroup; UID[unique=true]            ; groups(uid)[mode=replace]                                   ;                  
                          ; customersupportmanagergroup ; customersupportmanagerrole,csagentgroup,csagentmanagergroup ;                  
                          ; customersupportagentgroup   ; customersupportagentrole,csagentgroup                       ;                  
0 голосов
/ 20 февраля 2019

Вы хотите обновить CustomersupportManagerGroup , чтобы любая ссылка, соединяющая CustomersupportManagerGroup до CustomerSupportagentrole была удалена, а CustomerSupportagentrole все еще существует в базе данных.Использование запроса на удаление приведет к удалению customerupportagentrole из базы данных.

UPDATE CsAgentGroup;UID[unique=true];groups(uid)
;customersupportmanagergroup;customersupportmanagerrole,csagentgroup,csagentmanagergroup
0 голосов
/ 17 февраля 2019

Вам необходимо удалить существующие элементы в вашем импексе.

Ниже кода удалите элемент CsAgentGroup (спасибо @FarrukChishti за внимание)

REMOVE CsAgentGroup;UID[unique=true];groups(uid)
;customersupportmanagergroup;customersupportagentrole

Нам нужноудалить только отношение, чтобы мы могли удалить элемент из типа отношения, как показано ниже, или обновить существующие, как другие ответы.

REMOVE PrincipalGroupRelation;source[unique=true](uid);target[unique=true](uid)
;customersupportmanagergroup;customersupportagentrole
...