SAP использует иерархии почти везде, в структуре таблицы:
Во-первых, вам нужно убедиться, что в вашем списке записей есть уникальный идентификатор UnID, даже если нужная вам часть информации не является UnID. UnID может быть числовым для простоты приращения.
Затем, когда вы добавляете элементы в вашу иерархическую таблицу, вы должны хранить их в следующем формате:
NodeID
Note: 0 is always the root nodeID. Any other entry is the UnId of the new entry. It can never be null
ParentID
Note: this is the UnID of the parent that you want to attribute to the new entry. It can never be null
ChildId
Note: this can be null. It is updated only when this New entry gets to be a parent.
NextId
Note: this is the important one. It determines which child is next in the sequence of children below the parent. The last one in the sequence is always null
Level
Note: this ensures that a UnID cannot be the parent at more than one level.
Вам понадобится некоторая программная логика, чтобы сгладить попытки создания циклических ссылок, упомянутых в комментарии где-то здесь, но косвенно это означает, что когда происходит переход, вы должны обновить три записи в своей таблице иерархии: Новая запись, родитель и последний потомок родителя (с nextID), чтобы убедиться, что ваша пирамида верна.