REPORT ztest_tree_alv.
*Data declaration for additional node information
DATA : gwa_node TYPE snodetext.
*Internal table for nodes
DATA : git_node LIKE TABLE OF gwa_node.
DATA:git_ekko TYPE STANDARD TABLE OF ekko WITH HEADER LINE,
git_ekpo TYPE STANDARD TABLE OF ekpo WITH HEADER LINE.
CLEAR : gwa_node.
REFRESH: git_node.
SELECT *
FROM ekko
INTO TABLE git_ekko
UP TO 10 ROWS.
SELECT *
INTO TABLE git_ekpo
FROM ekpo
FOR ALL ENTRIES IN git_ekko
WHERE ebeln = git_ekko-ebeln.
gwa_node-type = 'T'. "第一个
gwa_node-id = 'FIRST'.
gwa_node-name = '采购'.
gwa_node-tlevel = 1. "层次一
gwa_node-nlength = '15'.
gwa_node-color = '4'.
gwa_node-text = '采购订单信息'.
gwa_node-tlength ='20'.
gwa_node-tcolor = 3.
APPEND gwa_node TO git_node.
LOOP AT git_ekko.
CLEAR gwa_node.
gwa_node-type = 'P'.
gwa_node-id = 'HEAD'.
gwa_node-name = '采购订单号'.
gwa_node-tlevel = 2. "层次二
gwa_node-nlength = '8'.
gwa_node-color = '1'.
gwa_node-text = git_ekko-ebeln.
gwa_node-tlength ='20'.
gwa_node-tcolor = 4.
APPEND gwa_node TO git_node.
CLEAR gwa_node.
LOOP AT git_ekpo where ebeln = git_ekko-ebeln.
CLEAR gwa_node.
gwa_node-type = 'P'.
gwa_node-id = 'ITEM'.
gwa_node-name = '行项目'.
gwa_node-tlevel = 3. "层次三
gwa_node-nlength = '6'.
gwa_node-color = '1'.
gwa_node-text = git_ekpo-ebelp.
gwa_node-tlength ='5'.
gwa_node-tcolor = 4.
APPEND gwa_node TO git_node.
CLEAR gwa_node.
ENDLOOP.
ENDLOOP.
*Fm for constructing the tree
CALL FUNCTION 'RS_TREE_CONSTRUCT'
TABLES
nodetab = git_node.
*FM for displaying the tree
CALL FUNCTION 'RS_TREE_LIST_DISPLAY'
EXPORTING
callback_program = sy-repid
check_duplicate_name = '1'
color_of_node = '4'
color_of_mark = '3'
color_of_link = '1'
color_of_match = '5'
node_length = 30
text_length = 75
use_control = 'L'.