Взрыв спецификации с функцией ИЕРАРХИЯ в HANA - PullRequest
1 голос
/ 07 мая 2020

Мы пытаемся использовать функцию HIERARCHY в HANA, чтобы ускорить процесс развертывания спецификации, который в настоящее время выполняется в ABAP. Базовый запрос работает, но мы пытаемся улучшить его для конечного пользователя. Цель состоит в том, чтобы нормализовать сборки и отображать в выходных данных отношения «дедушка-дедушка-родитель-потомок», чтобы каждый узел root отображал все подкомпоненты, находящиеся под ним, прежде чем переходить к следующей сборке в выходных данных. Это мой первый пост здесь, поэтому, если мне нужно добавить какой-либо код или дополнительные пояснения, я буду рад.

Текущий выход Current output

Желаемая мощность Desired output

CREATE COLUMN TABLE "BOM_EXPLOSION" ("HIERARCHY_TREE_SIZE" NVARCHAR(10),
     "PARENT_ID" NVARCHAR(15),
     "NODE_ID" NVARCHAR(15),
     "QUANTITY" NVARCHAR(10),
     "VALID_FROM" NVARCHAR(10),
     "VALID_TO" NVARCHAR(10)) UNLOAD PRIORITY 5 AUTO MERGE  

insert into "BOM_EXPLOSION" values('6','X-000-XXX-01','Y-000-XXX-S1','1','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','Y-000-XXX-S1','COMP1','1','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','Y-000-XXX-S1','COMP2','1','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','Y-000-XXX-S1','COMP3','2','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','Y-000-XXX-S1','COMP4','1','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','Y-000-XXX-S1','COMP5','2','20171221','99991231');
insert into "BOM_EXPLOSION" values('4','X-000-XXX-01','Y-000-XXX-S2','1','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','Y-000-XXX-S2','COMP1','2','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','Y-000-XXX-S2','COMP2','1','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','Y-000-XXX-S2','COMP3','1','20171221','99991231');
insert into "BOM_EXPLOSION" values('1','X-000-XXX-01','COMP4','1','20170530','20171221');

1 Ответ

0 голосов
/ 14 мая 2020

Я полагаю, вы ищете узел Root в своей Иерархии. Я бы рекомендовал прочитать функции иерархии в HANA: https://help.sap.com/viewer/4f9859d273254e04af6ab3e9ea3af286/2.0.04/en-US/a93c356d32ef4e7fbd6143b554278eab.html

Специально для ваших нужд посмотрите пример «Root» в этой ссылке: https://help.sap.com/viewer/4f9859d273254e04af6ab3e9ea3af286/2.0.04/en-US/83cf843bfe3c4fd8a5d2aa828fb383c5.html

Это в основном самостоятельное соединение атрибута иерархии_корнев_ранк с фактическим рангом узла.

...