Нужно выбрать идентификатор ls_extid и вывести итоговую таблицу с элементами, соответствующим данному идентификатору.
Стандартные select * from zst_ps_plan_tree where... не подходят, т.к zst_ps_plan_tree является структурой как быть?
Code:
METHOD supply_tree .
* data declaration
DATA lt_tree TYPE wd_this->elements_tree.
DATA lt_tree2 TYPE wd_this->elements_tree.
DATA ls_tree TYPE wd_this->element_tree.
DATA ls_extid TYPE wd_this->element_context.
FIELD-SYMBOLS:
<s_tree> LIKE LINE OF lt_tree.
CHECK wd_this->mv_id IS NOT INITIAL.
wd_assist->plan_budget_get(
IMPORTING
et_tree = lt_tree
).
wd_assist->plan_budget_get_subtree(
EXPORTING
it_tree = lt_tree
iv_parent = wd_this->mv_id
IMPORTING
et_tree = lt_tree2
).
IF lt_tree2[] IS INITIAL.
DATA lo_dummy TYPE REF TO cl_wd_custom_event.
wd_this->onactionact_back(
wdevent = lo_dummy
).
RETURN.
ENDIF.
CLEAR wd_this->mv_parent_save.
READ TABLE lt_tree2 ASSIGNING <s_tree> INDEX 1.
IF sy-subrc = 0.
wd_this->mv_parent_save = <s_tree>-parent.
CLEAR <s_tree>-parent.
<s_tree>-expanded = 'X'.
ENDIF.
* bind all the elements
node->bind_table(
new_items = lt_tree2
set_initial_elements = abap_true ).
ENDMETHOD.