Добрый день. Есть такой вопрос. Я создал класс построения дерева. Дерево строится и отображается хорошо, но при попытке раскрыть ветку падает в дамп.
вот кусок кода.
Code:
method add_node.
data: relat_node_key type lvc_nkey.
data: new_node_key type lvc_nkey.
data: node_text type lvc_value.
move '' to relat_node_key.
move me->wa_nodes-objid to node_text.
call method me->g_alv_tree->add_node
exporting
i_relat_node_key = relat_node_key
i_relationship = cl_gui_column_tree=>relat_last_child
is_outtab_line = me->wa_nodes
i_node_text = node_text
importing
e_new_node_key = new_node_key
exceptions
relat_node_not_found = 1
node_not_found = 2
others = 3
.
if sy-subrc <> 0.
endif.
me->node_key = new_node_key.
endmethod.
Code:
method add_child.
data: node_text type lvc_value.
data: wa_obj type objec.
data: lp_key type lvc_nkey.
data: p_node_key type lvc_nkey.
break akomov.
move-corresponding me->wa_childs to wa_obj.
move wa_obj-objid to node_text.
move me->node_key to p_node_key.
call method me->g_alv_tree->add_node
exporting
i_relat_node_key = p_node_key
i_relationship = cl_gui_column_tree=>relat_last_child
is_outtab_line = wa_obj
i_node_text = node_text
* Importing
* E_NEW_NODE_KEY = lp_key
exceptions
relat_node_not_found = 1
node_not_found = 2
others = 3
.
if sy-subrc <> 0.
endif.
endmethod.
и, собственно, сам вызов
Code:
data: node_key type lvc_nkey.
loop at me->nodes into me->wa_nodes.
move '' to me->node_key.
call method me->add_node.
loop at me->childs into me->wa_childs where pobid eq
me->wa_nodes-objid.
call method me->add_child.
endloop.
endloop.
call method me->g_alv_tree->frontend_update.
я не понимаю в чем может быть проблема. Может кто подскажет?