Ненормальное программирование

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

Для работы программы необходим GUI статус с тремя кнопками (см код.). Код не самый оптимальный, исключительно ради примера: