MODULE init_tree OUTPUT.
IF g_tree IS INITIAL.
DATA: node_table TYPE node_table_type.
DATA : events TYPE cntl_simple_events,
event TYPE cntl_simple_event.
CREATE OBJECT tree_con_ref
EXPORTING " the container is linked to the custom control with the
" name 'TREE_CONTAINER' on the dynpro
container_name = 'TREE_CONTAINER'.
* create a tree control
CREATE OBJECT g_tree
EXPORTING
parent = tree_con_ref
node_selection_mode = cl_gui_simple_tree=>node_sel_mode_single. " single node selection is used
PERFORM build_node_table USING node_table.
* node_table_structure_name = 'MTREESNODE'
CALL METHOD g_tree->add_nodes
EXPORTING
table_structure_name = 'MTREESNODE'
node_table = node_table.
CREATE OBJECT g_application.
* define the events which will be passed to the backend
" node double click
event-eventid = cl_gui_simple_tree=>eventid_node_double_click.
event-appl_event = 'X'. " process PAI if event occurs
APPEND event TO events.
CALL METHOD g_tree->set_registered_events
EXPORTING
events = events
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
illegal_event_combination = 3.
* assign event handlers in the application class to each desired event
SET HANDLER g_application->handle_node_double_click FOR g_tree.
ENDIF.
ENDMODULE. " init_tree OUTPUT
교재내용 중에 위 내용이 잇는데
어떻게 이해하면 되는가요? 교재내용을 봐도 이해가 어려워서 전체이해하는 어려움을 격고 있습니다.
전체적으로 sap tree내용인데 중간중간에 오브젝트내용이 들어가서..
오브젝트 내용이 잇어서 어렵게 느꼈는데 오브젝트 내용을 한번 공부한 후 봤는데도
뭔 내용인지 이해가 안가서 질문을 드립니다.
screen에 init_tree라는 모듈인거 같군요.
tree 오브젝트를 초기화 하기 위한 것으로 보입니다.
g_tree가 tree 오브젝트를 참조로하는 객체겠지요? 그것이 initial이면 초기화 하도록 create object를 하는겁니다.
그 아래에 있는 create object g_tree가 그 내용이구요.
create object tree_con_ref 는 g_tree를 보여줄 수 있는 컨테이너를 초기화 하는 내용입니다.
(오브젝트는 컨테이너가 스크린에 있어야 보여줄 수 있습니다.)