<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Tree structure format in report. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462206#M552530</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer this code.&lt;/P&gt;&lt;P&gt;REPORT YMS_ALVTREEDEMO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;TABLES: ekko.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis. "ALV Declarations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;statu TYPE ekpo-statu,&lt;/P&gt;&lt;P&gt;aedat TYPE ekpo-aedat,&lt;/P&gt;&lt;P&gt;matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;menge TYPE ekpo-menge,&lt;/P&gt;&lt;P&gt;meins TYPE ekpo-meins,&lt;/P&gt;&lt;P&gt;netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;peinh TYPE ekpo-peinh,&lt;/P&gt;&lt;P&gt;END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;it_ekpo TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;it_emptytab TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_ekko TYPE t_ekko,&lt;/P&gt;&lt;P&gt;wa_ekpo TYPE t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ok_code like sy-ucomm, "OK-Code&lt;/P&gt;&lt;P&gt;save_ok like sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;DATA: fieldcatalog TYPE lvc_t_fcat WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_fieldcat TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;gd_tab_group TYPE slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;gd_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALVtree data declarations&lt;/P&gt;&lt;P&gt;CLASS cl_gui_column_tree DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;CLASS cl_gui_cfw DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_tree TYPE REF TO cl_gui_alv_tree,&lt;/P&gt;&lt;P&gt;gd_hierarchy_header TYPE treev_hhdr,&lt;/P&gt;&lt;P&gt;gd_report_title TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;gd_logo TYPE sdydo_value,&lt;/P&gt;&lt;P&gt;gd_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Create container for alv-tree&lt;/P&gt;&lt;P&gt;DATA: l_tree_container_name(30) TYPE c,&lt;/P&gt;&lt;P&gt;l_custom_container TYPE REF TO cl_gui_custom_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Includes&lt;/P&gt;&lt;P&gt;*INCLUDE ZDEMO_ALVTREEO01. "Screen PBO Modules&lt;/P&gt;&lt;P&gt;*INCLUDE ZDEMO_ALVTREEI01. "Screen PAI Modules&lt;/P&gt;&lt;P&gt;*INCLUDE ZDEMO_ALVTREEF01. "ABAP Subroutines(FORMS)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Start-of-selection.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALVtree setup data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM build_layout.&lt;/P&gt;&lt;P&gt;PERFORM build_hierarchy_header CHANGING gd_hierarchy_header.&lt;/P&gt;&lt;P&gt;PERFORM build_report_title USING gd_report_title gd_logo.&lt;/P&gt;&lt;P&gt;PERFORM build_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display ALVtree report&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call screen 100.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve data into Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM data_retrieval.&lt;/P&gt;&lt;P&gt;SELECT ebeln&lt;/P&gt;&lt;P&gt;UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;FROM ekko&lt;/P&gt;&lt;P&gt;INTO corresponding fields of TABLE it_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_ekko into wa_ekko.&lt;/P&gt;&lt;P&gt;SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh&lt;/P&gt;&lt;P&gt;FROM ekpo&lt;/P&gt;&lt;P&gt;appending TABLE it_ekpo&lt;/P&gt;&lt;P&gt;where ebeln eq wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;ENDFORM. " DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Fieldcatalog for ALV Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Please not there are a number of differences between the structure of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALVtree fieldcatalogs and ALVgrid fieldcatalogs.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For example the field seltext_m is replace by scrtext_m in ALVtree.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'EBELN'. "Field name in itab&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Purchase Order'. "Column text&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 0. "Column position&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15. "Column width&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = 'X'. "Emphasize (X or SPACE)&lt;/P&gt;&lt;P&gt;fieldcatalog-key = 'X'. "Key Field? (X or SPACE)&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldcatalog-do_sum = 'X'. "Sum Column?&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldcatalog-no_zero = 'X'. "Don't display if zero&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'PO Iten'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 1.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'STATU'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Status'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 2.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Item change date'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 3.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Material Number'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 4.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'PO quantity'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 5.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Order Unit'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 6.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'NETPR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Net Price'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 7.&lt;/P&gt;&lt;P&gt;fieldcatalog-datatype = 'CURR'.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'PEINH'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Price Unit'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 8.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build layout for ALV grid report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_layout.&lt;/P&gt;&lt;P&gt;gd_layout-no_input = 'X'.&lt;/P&gt;&lt;P&gt;gd_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;gd_layout-totals_text = 'Totals'(201).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-totals_only = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-f2code = 'DISP'. "Sets fcode for when double&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;"click(press f2)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-zebra = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-group_change_edit = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-header_text = 'helllllo'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form build_hierarchy_header&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;build hierarchy-header-information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_L_HIERARCHY_HEADER structure for hierarchy-header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_hierarchy_header CHANGING&lt;/P&gt;&lt;P&gt;p_hierarchy_header TYPE treev_hhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_hierarchy_header-heading = 'Hierarchy Header'(013).&lt;/P&gt;&lt;P&gt;p_hierarchy_header-tooltip = 'This is the Hierarchy Header !'(014).&lt;/P&gt;&lt;P&gt;p_hierarchy_header-width = 30.&lt;/P&gt;&lt;P&gt;p_hierarchy_header-width_pix = ''.&lt;/P&gt;&lt;P&gt;ENDFORM. " build_hierarchy_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_REPORT_TITLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build table for ALVtree header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-&amp;gt; p1 Header details&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-&amp;gt; p2 Logo value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_report_title CHANGING&lt;/P&gt;&lt;P&gt;pt_report_title TYPE slis_t_listheader&lt;/P&gt;&lt;P&gt;pa_logo TYPE sdydo_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ls_line TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;ld_date(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List Heading Line(TYPE H)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR ls_line.&lt;/P&gt;&lt;P&gt;ls_line-typ = 'H'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ls_line-key "Not Used For This Type(H)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ls_line-info = 'PO ALVTree Display'.&lt;/P&gt;&lt;P&gt;APPEND ls_line TO pt_report_title.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Status Line(TYPE S)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ld_date(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;ld_date+2(1) = '/'.&lt;/P&gt;&lt;P&gt;ld_date&lt;EM&gt;3(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;ld_date+5(1) = '/'.&lt;/P&gt;&lt;P&gt;ld_date+6(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ls_line-typ = 'S'.&lt;/P&gt;&lt;P&gt;ls_line-key = 'Date'.&lt;/P&gt;&lt;P&gt;ls_line-info = ld_date.&lt;/P&gt;&lt;P&gt;APPEND ls_line TO pt_report_title.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Action Line(TYPE A)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR ls_line.&lt;/P&gt;&lt;P&gt;ls_line-typ = 'A'.&lt;/P&gt;&lt;P&gt;CONCATENATE 'Report: ' sy-repid INTO ls_line-info SEPARATED BY space.&lt;/P&gt;&lt;P&gt;APPEND ls_line TO pt_report_title.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_variant.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set repid for storing variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gd_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;endform. " BUILD_VARIANT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check these programs.&lt;/P&gt;&lt;P&gt;e.g&lt;/P&gt;&lt;P&gt;BCALV_TREE_01 ALV tree control: build up the hierarchy tree &lt;/P&gt;&lt;P&gt;BCALV_TREE_02 ALV tree control: event handling &lt;/P&gt;&lt;P&gt;BCALV_TREE_03 ALV tree control: use an own context menu &lt;/P&gt;&lt;P&gt;BCALV_TREE_04 ALV tree control: add a button to the toolbar &lt;/P&gt;&lt;P&gt;BCALV_TREE_05 ALV tree control: add a menu to the toolbar &lt;/P&gt;&lt;P&gt;BCALV_TREE_06 ALV tree control: Icon column and icon for nodes/items &lt;/P&gt;&lt;P&gt;BCALV_TREE_DEMO Demo for ALV tree control &lt;/P&gt;&lt;P&gt;BCALV_TREE_DND ALV tree control: Drag &amp;amp; Drop within a hierarchy tree &lt;/P&gt;&lt;P&gt;BCALV_TREE_DND_MULTIPLE ALV tree control: Drag &amp;amp; Drop within a hierarchy tree &lt;/P&gt;&lt;P&gt;RSDEMO_DRAG_DROP_TREE_MULTI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BCALV_TREE_EVENT_RECEIVER Include BCALV_TREE_EVENT_RECEIVER &lt;/P&gt;&lt;P&gt;BCALV_TREE_EVENT_RECEIVER01 &lt;/P&gt;&lt;P&gt;BCALV_TREE_ITEMLAYOUT ALV Tree: Change Item Layouts at Runtime &lt;/P&gt;&lt;P&gt;BCALV_TREE_MOVE_NODE_TEST Demo for ALV tree control &lt;/P&gt;&lt;P&gt;BCALV_TREE_SIMPLE_DEMO Program BCALV_TREE_SIMPLE_DEMO &lt;/P&gt;&lt;P&gt;BCALV_TREE_VERIFY Verifier for ALV Tree and Simple ALV Tree &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfull answers.&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Jay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Jul 2007 05:17:40 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-02T05:17:40Z</dc:date>
    <item>
      <title>Tree structure format in report.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462200#M552524</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I have got a report to develop where in i have to display the ouptut of the report &lt;/P&gt;&lt;P&gt;in a tree structure.Can anybody tell me how to proceed with this ??     This  is &lt;/P&gt;&lt;P&gt;basically an interactive report where clicking on one of the node will take us to &lt;/P&gt;&lt;P&gt;another page. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards.&lt;/P&gt;&lt;P&gt;syed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 04:15:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462200#M552524</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T04:15:56Z</dc:date>
    </item>
    <item>
      <title>Re: Tree structure format in report.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462201#M552525</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; You can use tree custom controller to do that, or HTML controller in case of weblinks.&lt;/P&gt;&lt;P&gt;You can see all examples of it in SE38. &lt;/P&gt;&lt;P&gt;see BS* and press F4 , search for tree.&lt;/P&gt;&lt;P&gt;Reward if useful!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 04:19:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462201#M552525</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T04:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: Tree structure format in report.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462202#M552526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;Does it mean that you have to do an ALV intearctive report and you have to use the function reuse_alv_hier_seq to display the nodes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks &lt;/P&gt;&lt;P&gt;aruna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 04:36:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462202#M552526</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T04:36:40Z</dc:date>
    </item>
    <item>
      <title>Re: Tree structure format in report.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462203#M552527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;check this code. this is a sample BOM explosion report...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

TABLES : MAST,STPO,MARA,MARC.
INCLUDE &amp;lt;SYMBOL&amp;gt;.

DATA : BEGIN OF I_BOM OCCURS 0.
        INCLUDE STRUCTURE STPOX.

DATA : END OF I_BOM.

DATA : BEGIN OF ITAB OCCURS 0,
       STUFE LIKE STPOX-STUFE,
       IDNRK LIKE STPOX-IDNRK,
       WEGXX LIKE STPOX-WEGXX, "NODE NO
       TTIDX LIKE STPOX-TTIDX, "NODE NO WITH PARENTNODE + 1
       VWEGX LIKE STPOX-VWEGX, "NODE NO OF PARENT
       MENGE LIKE STPOX-MENGE,
       SYMBOL,
       END OF ITAB.
DATA : ITAB1 LIKE ITAB OCCURS 0 WITH HEADER LINE,
       ITAB2 LIKE ITAB OCCURS 0 WITH HEADER LINE.
DATA : V_PARENTID LIKE STPOX-VWEGX,
       V_WEGXX LIKE STPOX-WEGXX,
       V_STUFE LIKE STPOX-STUFE,
       PREV_STUFE LIKE STPOX-STUFE.
DATA : V_OFFSET TYPE I VALUE 1,
       V_CONTENT TYPE I,
       TABIX LIKE SY-TABIX,
       V_TABIX LIKE SY-TABIX,
       T_TABIX LIKE SY-TABIX,
       V_SYMBOL,
       V_LINE LIKE SY-TABIX,
       T_INDEX TYPE I.

DATA :  V_PAGE LIKE SY-PAGNO,
        T_PAGE LIKE SY-PAGNO,
        V_LIN LIKE SY-LILLI.


PARAMETERS : P_MATNR LIKE MAST-MATNR,
             P_WERKS LIKE MARC-WERKS.



PERFORM BOM_EXPLODE.
ITAB1[] = ITAB[].
READ TABLE ITAB1 INDEX 1.
APPEND ITAB1 TO ITAB2.
PERFORM PRINT TABLES ITAB2.
AT LINE-SELECTION.

  V_LIN = SY-LILLI.
  T_PAGE = V_PAGE.
  PREV_STUFE = ITAB2-STUFE.
  V_STUFE = ITAB2-STUFE + 1.
  V_WEGXX = ITAB2-WEGXX.
  V_SYMBOL = ITAB2-SYMBOL.
  IF ITAB2-SYMBOL = '+'.
    ITAB2-SYMBOL = '-'.
    MODIFY ITAB2 INDEX V_TABIX.
  ELSEIF ITAB2-SYMBOL = '-'.
    ITAB2-SYMBOL = '+'.
    MODIFY ITAB2 INDEX V_TABIX.

  ENDIF.


  LOOP AT ITAB WHERE STUFE = V_STUFE AND VWEGX = V_WEGXX.


    V_TABIX = V_TABIX + 1.
    IF V_SYMBOL = '+'.

      MOVE-CORRESPONDING ITAB TO ITAB2.
      ITAB2-SYMBOL = '+'.

      INSERT ITAB2 INDEX V_TABIX.
    ELSEIF V_SYMBOL = '-'.
     IF V_TABIX GT 2.
      LOOP AT ITAB2 FROM V_TABIX WHERE STUFE = PREV_STUFE.
        T_TABIX = SY-TABIX.

        T_TABIX = T_TABIX - 1.
        EXIT.
      ENDLOOP.
       IF V_TABIX LE T_TABIX.

        DELETE ITAB2 FROM V_TABIX TO T_TABIX.
       ELSE.
        LOOP AT ITAB2 FROM V_TABIX.
*          T_TABIX = T_TABIX + 1.
          IF ITAB2-STUFE GT PREV_STUFE.
           DELETE ITAB2 INDEX SY-TABIX.
          ELSE.
            EXIT.
          ENDIF.
        ENDLOOP.
*        DELETE ITAB2 FROM V_TABIX WHERE STUFE LT V_STUFE.

       ENDIF.
       EXIT.

      ELSE.
        DELETE ITAB2 FROM V_TABIX.
        EXIT.
      ENDIF.
    ENDIF.
  ENDLOOP.

  SY-LSIND = 0.
  T_INDEX = 1.
  PERFORM PRINT TABLES ITAB2.
  SCROLL LIST INDEX T_INDEX TO PAGE T_PAGE . " LINE V_LIN .




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BOM_EXPLODE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM BOM_EXPLODE .

  CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
    EXPORTING
      CAPID                 = 'PP01'
      DATUV                 = SY-DATUM
      MEHRS                 = 'X'
      MTNRV                 = P_MATNR
      WERKS                 = P_WERKS
    TABLES
      STB                   = I_BOM
    EXCEPTIONS
      ALT_NOT_FOUND         = 1
      CALL_INVALID          = 2
      MATERIAL_NOT_FOUND    = 3
      MISSING_AUTHORIZATION = 4
      NO_BOM_FOUND          = 5
      NO_PLANT_DATA         = 6
      NO_SUITABLE_BOM_FOUND = 7
      CONVERSION_ERROR      = 8
      OTHERS                = 9.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  ITAB-IDNRK = P_MATNR.
  ITAB-MENGE = '1'.
  ITAB-STUFE = '0'.
  ITAB-WEGXX = '0'.
  ITAB-TTIDX = '0'.
  ITAB-VWEGX = '-1'.
  ITAB-SYMBOL = '+'.
  APPEND ITAB.
  CLEAR ITAB.

  LOOP AT I_BOM.
    MOVE-CORRESPONDING I_BOM TO ITAB.
    APPEND ITAB.
    CLEAR ITAB.
  ENDLOOP.

ENDFORM.                    " BOM_EXPLODE
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  PRINT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_ITAB1  text
*----------------------------------------------------------------------*
FORM PRINT  TABLES   P_ITAB1 STRUCTURE ITAB.
  DATA : V_ID LIKE STPOX-VWEGX.
  DATA : T_LINE LIKE SY-TABIX,
         V_LINE TYPE I,
         V_HLINE TYPE I.


  DATA : PAGE TYPE I.
  DESCRIBE TABLE P_ITAB1 LINES V_LINE.

  T_LINE = V_LINE - 1.
  LOOP AT P_ITAB1.
    V_OFFSET = P_ITAB1-STUFE * 3.
    V_CONTENT = P_ITAB1-STUFE * 6.

    V_LINE = P_ITAB1-STUFE * 4.
    IF P_ITAB1-STUFE NE 0.
      V_HLINE = V_LINE + 2.
    ELSE.
      V_HLINE = 2.
    ENDIF.

*    T_INDEX = T_INDEX + 1.
    COMPUTE PAGE = SY-TABIX MOD 13.
    IF PAGE EQ 0.
      NEW-PAGE.
      V_PAGE = SY-PAGNO.
*     T_INDEX = 0.
    ENDIF.


    V_TABIX = SY-TABIX.
    IF P_ITAB1-SYMBOL = '+'.

       WRITE : /.

        WRITE AT : V_OFFSET  SYM_PLUS_FOLDER AS SYMBOL
                COLOR 4 INTENSIFIED HOTSPOT.
        WRITE : AT V_CONTENT P_ITAB1-IDNRK,P_ITAB1-MENGE.

      HIDE : P_ITAB1,V_TABIX,V_PAGE.


    ELSEIF P_ITAB1-SYMBOL = '-'.
      WRITE : /.
      WRITE AT V_OFFSET SYM_MINUS_FOLDER AS SYMBOL
                COLOR 4 INTENSIFIED HOTSPOT.

      WRITE : AT V_CONTENT P_ITAB1-IDNRK,P_ITAB1-MENGE.
      HIDE : P_ITAB1,V_TABIX,V_PAGE.


    ENDIF.
  ENDLOOP.

ENDFORM.                    " PRINT

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;shiba dutta&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 04:36:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462203#M552527</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T04:36:55Z</dc:date>
    </item>
    <item>
      <title>Re: Tree structure format in report.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462204#M552528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can use the classes CL_SIMPLE_TREE_MODEL or CL_GUI_ALV_TREE to achieve this. Please look a the example prog's in SLIS package for CL_GUI_ALV_TREE based tree &amp;amp; package SEU_TREE_MODEL for CL_SIMPLE_TREE_MODEL based trees.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sharat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 04:37:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462204#M552528</guid>
      <dc:creator>sharat_chandra</dc:creator>
      <dc:date>2007-07-02T04:37:35Z</dc:date>
    </item>
    <item>
      <title>Re: Tree structure format in report.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462205#M552529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see this example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZRJNTRIAL_TREE LINE-COUNT 65&lt;/P&gt;&lt;P&gt;LINE-SIZE 80&lt;/P&gt;&lt;P&gt;                                               NO STANDARD PAGE&lt;/P&gt;&lt;P&gt;HEADING.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITEMS OCCURS 100,&lt;/P&gt;&lt;P&gt;         ID(10),&lt;/P&gt;&lt;P&gt;         PARENT_ID(10),&lt;/P&gt;&lt;P&gt;         TEXT(20),&lt;/P&gt;&lt;P&gt;         SYMBOL,&lt;/P&gt;&lt;P&gt;      END OF ITEMS,&lt;/P&gt;&lt;P&gt;      TABIX_STACK LIKE SY-TABIX OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      ITEMS_SHOW LIKE ITEMS OCCURS 100 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;INCLUDE &amp;lt;SYMBOL&amp;gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append sample items (mixed order)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM APPEND_ITEM USING:&lt;/P&gt;&lt;P&gt;    '1'  ''        'Food',&lt;/P&gt;&lt;P&gt;    '2'  ''        'Drinks',&lt;/P&gt;&lt;P&gt;    '12' '9'       'Jack Daniels',&lt;/P&gt;&lt;P&gt;    '17' '11'      'Bosch',&lt;/P&gt;&lt;P&gt;    '3'  ''        'Tools',&lt;/P&gt;&lt;P&gt;    '4'  '1'       'Meat',&lt;/P&gt;&lt;P&gt;    '16' '11'      'Metabo',&lt;/P&gt;&lt;P&gt;    '5'  '1'       'Chocolate',&lt;/P&gt;&lt;P&gt;    '6'  '2'       'Alcoholic',&lt;/P&gt;&lt;P&gt;    '8'  '4'       'Pork',&lt;/P&gt;&lt;P&gt;    '10' '5'       'Milka',&lt;/P&gt;&lt;P&gt;    '11' '3'       'Drills',&lt;/P&gt;&lt;P&gt;    '13' '9'       'Jim Beam',&lt;/P&gt;&lt;P&gt;    '7'  '4'       'Beef',&lt;/P&gt;&lt;P&gt;    '14' '2'       'Non-alcoholic',&lt;/P&gt;&lt;P&gt;    '35' '31'      'Teran',&lt;/P&gt;&lt;P&gt;    '9'  '6'       'Whiskey',&lt;/P&gt;&lt;P&gt;    '15' '14'      'Coca-cola',&lt;/P&gt;&lt;P&gt;    '18' '6'       'Wine',&lt;/P&gt;&lt;P&gt;    '28' '18'      'Croatia',&lt;/P&gt;&lt;P&gt;    '33' '28'      'Slavonia',&lt;/P&gt;&lt;P&gt;    '34' '28'      'Istria',&lt;/P&gt;&lt;P&gt;    '29' '18'      'Hungary',&lt;/P&gt;&lt;P&gt;    '30' '29'      'Tokaj',&lt;/P&gt;&lt;P&gt;    '19' '33'      'Enjingi',&lt;/P&gt;&lt;P&gt;    '20' '33'      'Zdjelarevic',&lt;/P&gt;&lt;P&gt;    '22' '19'      'Riesling',&lt;/P&gt;&lt;P&gt;    '23' '19'      'Chardonnay',&lt;/P&gt;&lt;P&gt;    '24' '20'      'Riesling',&lt;/P&gt;&lt;P&gt;    '32' '31'      'Malvazija',&lt;/P&gt;&lt;P&gt;    '25' '20'      'Merlot',&lt;/P&gt;&lt;P&gt;    '31' '34'      'Tomasevic'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;show initial list (items with level 0 - parentless items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT ITEMS WHERE PARENT_ID = ''.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING ITEMS TO ITEMS_SHOW.&lt;/P&gt;&lt;P&gt;  ITEMS_SHOW-SYMBOL = '+'.&lt;/P&gt;&lt;P&gt;  APPEND ITEMS_SHOW.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;PERFORM PRINT_TREE TABLES ITEMS_SHOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at line-selection - when the node is opened/closed or item double-clk&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;  READ TABLE ITEMS WITH KEY PARENT_ID = ITEMS_SHOW-ID. "see 'hide'&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0. "item has children - expand or collapse&lt;/P&gt;&lt;P&gt;    SY-LSIND = 0.&lt;/P&gt;&lt;P&gt;    PERFORM EXPAND_COLLAPSE USING ITEMS_SHOW-ID.&lt;/P&gt;&lt;P&gt;    PERFORM PRINT_TREE TABLES ITEMS_SHOW.&lt;/P&gt;&lt;P&gt;  ELSE.            "item has NO children - perform some action&lt;/P&gt;&lt;P&gt;    READ TABLE ITEMS WITH KEY ID = ITEMS_SHOW-ID.&lt;/P&gt;&lt;P&gt;    WRITE: 'Action performed on item "' NO-GAP, ITEMS-TEXT NO-GAP,&lt;/P&gt;&lt;P&gt;           '", id.', ITEMS-ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;form print_tree&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM PRINT_TREE TABLES ITEMS STRUCTURE ITEMS.&lt;/P&gt;&lt;P&gt;  DATA: V_TABIX LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;        START_TABIX LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;        V_LEVEL LIKE SY-TFILL,&lt;/P&gt;&lt;P&gt;        V_OFFSET TYPE I,&lt;/P&gt;&lt;P&gt;        V_ID LIKE ITEMS-ID,&lt;/P&gt;&lt;P&gt;        V_PARENT_ID LIKE ITEMS-PARENT_ID,&lt;/P&gt;&lt;P&gt;        V_PARENT_ID_FOR_VLINE LIKE ITEMS-PARENT_ID,&lt;/P&gt;&lt;P&gt;        V_PREV_LEVEL TYPE I,&lt;/P&gt;&lt;P&gt;        V_ITEMS_COUNT LIKE SY-TFILL,&lt;/P&gt;&lt;P&gt;        V_VLINES_STRING(200).&lt;/P&gt;&lt;P&gt;  CHECK NOT ITEMS[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SORT ITEMS BY PARENT_ID ID.&lt;/P&gt;&lt;P&gt;  READ TABLE ITEMS INDEX 1.&lt;/P&gt;&lt;P&gt;  V_PARENT_ID = ITEMS-PARENT_ID.&lt;/P&gt;&lt;P&gt;  START_TABIX = 1.&lt;/P&gt;&lt;P&gt;  REFRESH TABIX_STACK.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    LOOP AT ITEMS FROM START_TABIX.&lt;/P&gt;&lt;P&gt;      V_TABIX = START_TABIX = SY-TABIX."remember current index&lt;/P&gt;&lt;P&gt;      V_ID = ITEMS-ID.&lt;/P&gt;&lt;P&gt;      V_PARENT_ID_FOR_VLINE = ITEMS-PARENT_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    decrease level and exit loop if parent not the same as previous&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF ITEMS-PARENT_ID NE V_PARENT_ID.&lt;/P&gt;&lt;P&gt;        PERFORM READ_FROM_STACK CHANGING START_TABIX. "level = NoOfRecs&lt;/P&gt;&lt;P&gt;        READ TABLE ITEMS INDEX START_TABIX.&lt;/P&gt;&lt;P&gt;        V_PARENT_ID = ITEMS-PARENT_ID.&lt;/P&gt;&lt;P&gt;        ADD 1 TO START_TABIX.   "next loop starts from parent index + 1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear vline&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF V_LEVEL &amp;gt; 1.&lt;/P&gt;&lt;P&gt;          V_OFFSET = 2 + ( V_LEVEL - 2 ) * 3.&lt;/P&gt;&lt;P&gt;          IF V_LEVEL = 1. V_OFFSET = 1. ENDIF.&lt;/P&gt;&lt;P&gt;          V_VLINES_STRING+V_OFFSET = ' '.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      V_PARENT_ID = ITEMS-PARENT_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    write item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE TABIX_STACK LINES V_LEVEL."level is no of StackRecs&lt;/P&gt;&lt;P&gt;      WRITE: / V_VLINES_STRING.&lt;/P&gt;&lt;P&gt;      V_OFFSET = V_LEVEL * 3.&lt;/P&gt;&lt;P&gt;      IF V_LEVEL NE 0.&lt;/P&gt;&lt;P&gt;        IF V_PREV_LEVEL &amp;lt; V_LEVEL.&lt;/P&gt;&lt;P&gt;          WRITE: AT V_OFFSET '|', / ''.&lt;/P&gt;&lt;P&gt;          WRITE: / V_VLINES_STRING.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        V_OFFSET = V_LEVEL * 3.&lt;/P&gt;&lt;P&gt;        WRITE AT V_OFFSET '|--'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      V_OFFSET = V_OFFSET + 3.&lt;/P&gt;&lt;P&gt;      CASE ITEMS-SYMBOL.&lt;/P&gt;&lt;P&gt;        WHEN '+'.&lt;/P&gt;&lt;P&gt;          WRITE AT V_OFFSET SYM_PLUS_FOLDER AS SYMBOL&lt;/P&gt;&lt;P&gt;                COLOR 4 INTENSIFIED HOTSPOT.&lt;/P&gt;&lt;P&gt;        WHEN '-'.&lt;/P&gt;&lt;P&gt;          WRITE AT V_OFFSET SYM_MINUS_FOLDER AS SYMBOL&lt;/P&gt;&lt;P&gt;                COLOR 4 INTENSIFIED HOTSPOT.&lt;/P&gt;&lt;P&gt;        WHEN OTHERS. FORMAT COLOR 5.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;      WRITE: ITEMS-TEXT.&lt;/P&gt;&lt;P&gt;      V_PREV_LEVEL = V_LEVEL.&lt;/P&gt;&lt;P&gt;      HIDE: ITEMS-ID.&lt;/P&gt;&lt;P&gt;      ADD 1 TO V_ITEMS_COUNT.&lt;/P&gt;&lt;P&gt;      READ TABLE ITEMS WITH KEY PARENT_ID = ITEMS-ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    increase level and exit loop if item has children&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        START_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;        APPEND V_TABIX TO TABIX_STACK. "level is no of recs in stack&lt;/P&gt;&lt;P&gt;        V_PARENT_ID = ITEMS-PARENT_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       set vline&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        V_TABIX = V_TABIX + 1.&lt;/P&gt;&lt;P&gt;        READ TABLE ITEMS INDEX V_TABIX.&lt;/P&gt;&lt;P&gt;        V_OFFSET = 2 + ( V_LEVEL - 1 ) * 3.&lt;/P&gt;&lt;P&gt;        IF V_LEVEL &amp;gt; 0.&lt;/P&gt;&lt;P&gt;          IF ITEMS-PARENT_ID = V_PARENT_ID_FOR_VLINE AND SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            V_VLINES_STRING+V_OFFSET = '|'.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            V_VLINES_STRING+V_OFFSET = ' '.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    at last - decrease level&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      AT LAST.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear vline&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF V_LEVEL &amp;gt; 1.&lt;/P&gt;&lt;P&gt;          V_OFFSET = 2 + ( V_LEVEL - 2 ) * 3.&lt;/P&gt;&lt;P&gt;          IF V_LEVEL = 1. V_OFFSET = 1. ENDIF.&lt;/P&gt;&lt;P&gt;          V_VLINES_STRING+V_OFFSET = ' '.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        " next loop starts from parent index, not parent index + 1&lt;/P&gt;&lt;P&gt;        " because of different parents level will decrease anyway&lt;/P&gt;&lt;P&gt;        PERFORM READ_FROM_STACK CHANGING START_TABIX.&lt;/P&gt;&lt;P&gt;        APPEND START_TABIX TO TABIX_STACK. "must return index to stack&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE ITEMS.&lt;/P&gt;&lt;P&gt;    IF START_TABIX &amp;gt; SY-TFILL OR V_ITEMS_COUNT &amp;gt;= SY-TFILL.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;form expand_collapse&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM EXPAND_COLLAPSE USING VALUE(V_ID).&lt;/P&gt;&lt;P&gt;  DATA: V_NO_MORE_ORPHANS,&lt;/P&gt;&lt;P&gt;        ITEMS_TEMP LIKE ITEMS OCCURS 100 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;  DELETE ITEMS_SHOW WHERE PARENT_ID = V_ID. "try to collapse&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.                     "succesfull first collapse&lt;/P&gt;&lt;P&gt;    DO.            "cascade collapse - delete 'orphans' that are left&lt;/P&gt;&lt;P&gt;      REFRESH ITEMS_TEMP.&lt;/P&gt;&lt;P&gt;      MOVE ITEMS_SHOW[] TO ITEMS_TEMP[].&lt;/P&gt;&lt;P&gt;      SORT ITEMS_TEMP BY ID.&lt;/P&gt;&lt;P&gt;      V_NO_MORE_ORPHANS = 'X'.&lt;/P&gt;&lt;P&gt;      LOOP AT ITEMS_SHOW WHERE PARENT_ID NE ''.&lt;/P&gt;&lt;P&gt;        READ TABLE ITEMS_TEMP WITH KEY ID = ITEMS_SHOW-PARENT_ID&lt;/P&gt;&lt;P&gt;                               BINARY SEARCH TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC NE 0.              "no parent - it's an orphan&lt;/P&gt;&lt;P&gt;          CLEAR V_NO_MORE_ORPHANS.&lt;/P&gt;&lt;P&gt;          DELETE ITEMS_SHOW.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      IF V_NO_MORE_ORPHANS = 'X'. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;    ITEMS_SHOW-SYMBOL = '+'.&lt;/P&gt;&lt;P&gt;    MODIFY ITEMS_SHOW TRANSPORTING SYMBOL WHERE ID = V_ID.&lt;/P&gt;&lt;P&gt;  ELSE.                                "unsuccessfull collapse - expand&lt;/P&gt;&lt;P&gt;    ITEMS_SHOW-SYMBOL = '-'.&lt;/P&gt;&lt;P&gt;    MODIFY ITEMS_SHOW TRANSPORTING SYMBOL WHERE ID = V_ID.&lt;/P&gt;&lt;P&gt;    LOOP AT ITEMS WHERE PARENT_ID = V_ID.      "show children&lt;/P&gt;&lt;P&gt;      APPEND ITEMS TO ITEMS_SHOW.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    LOOP AT ITEMS_SHOW WHERE PARENT_ID = V_ID. "check grandchildren&lt;/P&gt;&lt;P&gt;      READ TABLE ITEMS WITH KEY PARENT_ID = ITEMS_SHOW-ID.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        ITEMS_SHOW-SYMBOL = '+'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        ITEMS_SHOW-SYMBOL = ''.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MODIFY ITEMS_SHOW.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;form append_item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM APPEND_ITEM USING VALUE(ID) VALUE(PARENT_ID) VALUE(TEXT).&lt;/P&gt;&lt;P&gt;  ITEMS-ID = ID.&lt;/P&gt;&lt;P&gt;  ITEMS-PARENT_ID = PARENT_ID.&lt;/P&gt;&lt;P&gt;  ITEMS-TEXT = TEXT.&lt;/P&gt;&lt;P&gt;  APPEND ITEMS.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;form read_from_stack&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM READ_FROM_STACK CHANGING TABIX LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE TABIX_STACK.&lt;/P&gt;&lt;P&gt;  CHECK SY-TFILL NE 0.&lt;/P&gt;&lt;P&gt;  READ TABLE TABIX_STACK INDEX SY-TFILL.&lt;/P&gt;&lt;P&gt;  TABIX = TABIX_STACK.&lt;/P&gt;&lt;P&gt;  DELETE TABIX_STACK INDEX SY-TFILL.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;reward if helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;bharat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 04:39:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462205#M552529</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T04:39:10Z</dc:date>
    </item>
    <item>
      <title>Re: Tree structure format in report.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462206#M552530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer this code.&lt;/P&gt;&lt;P&gt;REPORT YMS_ALVTREEDEMO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;TABLES: ekko.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis. "ALV Declarations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;statu TYPE ekpo-statu,&lt;/P&gt;&lt;P&gt;aedat TYPE ekpo-aedat,&lt;/P&gt;&lt;P&gt;matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;menge TYPE ekpo-menge,&lt;/P&gt;&lt;P&gt;meins TYPE ekpo-meins,&lt;/P&gt;&lt;P&gt;netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;peinh TYPE ekpo-peinh,&lt;/P&gt;&lt;P&gt;END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;it_ekpo TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;it_emptytab TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_ekko TYPE t_ekko,&lt;/P&gt;&lt;P&gt;wa_ekpo TYPE t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ok_code like sy-ucomm, "OK-Code&lt;/P&gt;&lt;P&gt;save_ok like sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;DATA: fieldcatalog TYPE lvc_t_fcat WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_fieldcat TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;gd_tab_group TYPE slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;gd_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALVtree data declarations&lt;/P&gt;&lt;P&gt;CLASS cl_gui_column_tree DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;CLASS cl_gui_cfw DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_tree TYPE REF TO cl_gui_alv_tree,&lt;/P&gt;&lt;P&gt;gd_hierarchy_header TYPE treev_hhdr,&lt;/P&gt;&lt;P&gt;gd_report_title TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;gd_logo TYPE sdydo_value,&lt;/P&gt;&lt;P&gt;gd_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Create container for alv-tree&lt;/P&gt;&lt;P&gt;DATA: l_tree_container_name(30) TYPE c,&lt;/P&gt;&lt;P&gt;l_custom_container TYPE REF TO cl_gui_custom_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Includes&lt;/P&gt;&lt;P&gt;*INCLUDE ZDEMO_ALVTREEO01. "Screen PBO Modules&lt;/P&gt;&lt;P&gt;*INCLUDE ZDEMO_ALVTREEI01. "Screen PAI Modules&lt;/P&gt;&lt;P&gt;*INCLUDE ZDEMO_ALVTREEF01. "ABAP Subroutines(FORMS)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Start-of-selection.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALVtree setup data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM build_layout.&lt;/P&gt;&lt;P&gt;PERFORM build_hierarchy_header CHANGING gd_hierarchy_header.&lt;/P&gt;&lt;P&gt;PERFORM build_report_title USING gd_report_title gd_logo.&lt;/P&gt;&lt;P&gt;PERFORM build_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display ALVtree report&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call screen 100.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve data into Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM data_retrieval.&lt;/P&gt;&lt;P&gt;SELECT ebeln&lt;/P&gt;&lt;P&gt;UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;FROM ekko&lt;/P&gt;&lt;P&gt;INTO corresponding fields of TABLE it_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_ekko into wa_ekko.&lt;/P&gt;&lt;P&gt;SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh&lt;/P&gt;&lt;P&gt;FROM ekpo&lt;/P&gt;&lt;P&gt;appending TABLE it_ekpo&lt;/P&gt;&lt;P&gt;where ebeln eq wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;ENDFORM. " DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Fieldcatalog for ALV Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Please not there are a number of differences between the structure of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALVtree fieldcatalogs and ALVgrid fieldcatalogs.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For example the field seltext_m is replace by scrtext_m in ALVtree.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'EBELN'. "Field name in itab&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Purchase Order'. "Column text&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 0. "Column position&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15. "Column width&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = 'X'. "Emphasize (X or SPACE)&lt;/P&gt;&lt;P&gt;fieldcatalog-key = 'X'. "Key Field? (X or SPACE)&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldcatalog-do_sum = 'X'. "Sum Column?&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldcatalog-no_zero = 'X'. "Don't display if zero&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'PO Iten'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 1.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'STATU'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Status'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 2.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Item change date'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 3.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Material Number'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 4.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'PO quantity'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 5.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Order Unit'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 6.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'NETPR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Net Price'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 7.&lt;/P&gt;&lt;P&gt;fieldcatalog-datatype = 'CURR'.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'PEINH'.&lt;/P&gt;&lt;P&gt;fieldcatalog-scrtext_m = 'Price Unit'.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 15.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 8.&lt;/P&gt;&lt;P&gt;APPEND fieldcatalog TO gd_fieldcat..&lt;/P&gt;&lt;P&gt;CLEAR fieldcatalog.&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build layout for ALV grid report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_layout.&lt;/P&gt;&lt;P&gt;gd_layout-no_input = 'X'.&lt;/P&gt;&lt;P&gt;gd_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;gd_layout-totals_text = 'Totals'(201).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-totals_only = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-f2code = 'DISP'. "Sets fcode for when double&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;"click(press f2)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-zebra = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-group_change_edit = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;gd_layout-header_text = 'helllllo'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form build_hierarchy_header&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;build hierarchy-header-information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_L_HIERARCHY_HEADER structure for hierarchy-header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_hierarchy_header CHANGING&lt;/P&gt;&lt;P&gt;p_hierarchy_header TYPE treev_hhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_hierarchy_header-heading = 'Hierarchy Header'(013).&lt;/P&gt;&lt;P&gt;p_hierarchy_header-tooltip = 'This is the Hierarchy Header !'(014).&lt;/P&gt;&lt;P&gt;p_hierarchy_header-width = 30.&lt;/P&gt;&lt;P&gt;p_hierarchy_header-width_pix = ''.&lt;/P&gt;&lt;P&gt;ENDFORM. " build_hierarchy_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_REPORT_TITLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build table for ALVtree header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-&amp;gt; p1 Header details&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-&amp;gt; p2 Logo value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_report_title CHANGING&lt;/P&gt;&lt;P&gt;pt_report_title TYPE slis_t_listheader&lt;/P&gt;&lt;P&gt;pa_logo TYPE sdydo_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ls_line TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;ld_date(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List Heading Line(TYPE H)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR ls_line.&lt;/P&gt;&lt;P&gt;ls_line-typ = 'H'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ls_line-key "Not Used For This Type(H)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ls_line-info = 'PO ALVTree Display'.&lt;/P&gt;&lt;P&gt;APPEND ls_line TO pt_report_title.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Status Line(TYPE S)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ld_date(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;ld_date+2(1) = '/'.&lt;/P&gt;&lt;P&gt;ld_date&lt;EM&gt;3(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;ld_date+5(1) = '/'.&lt;/P&gt;&lt;P&gt;ld_date+6(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ls_line-typ = 'S'.&lt;/P&gt;&lt;P&gt;ls_line-key = 'Date'.&lt;/P&gt;&lt;P&gt;ls_line-info = ld_date.&lt;/P&gt;&lt;P&gt;APPEND ls_line TO pt_report_title.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Action Line(TYPE A)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR ls_line.&lt;/P&gt;&lt;P&gt;ls_line-typ = 'A'.&lt;/P&gt;&lt;P&gt;CONCATENATE 'Report: ' sy-repid INTO ls_line-info SEPARATED BY space.&lt;/P&gt;&lt;P&gt;APPEND ls_line TO pt_report_title.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_variant.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set repid for storing variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gd_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;endform. " BUILD_VARIANT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check these programs.&lt;/P&gt;&lt;P&gt;e.g&lt;/P&gt;&lt;P&gt;BCALV_TREE_01 ALV tree control: build up the hierarchy tree &lt;/P&gt;&lt;P&gt;BCALV_TREE_02 ALV tree control: event handling &lt;/P&gt;&lt;P&gt;BCALV_TREE_03 ALV tree control: use an own context menu &lt;/P&gt;&lt;P&gt;BCALV_TREE_04 ALV tree control: add a button to the toolbar &lt;/P&gt;&lt;P&gt;BCALV_TREE_05 ALV tree control: add a menu to the toolbar &lt;/P&gt;&lt;P&gt;BCALV_TREE_06 ALV tree control: Icon column and icon for nodes/items &lt;/P&gt;&lt;P&gt;BCALV_TREE_DEMO Demo for ALV tree control &lt;/P&gt;&lt;P&gt;BCALV_TREE_DND ALV tree control: Drag &amp;amp; Drop within a hierarchy tree &lt;/P&gt;&lt;P&gt;BCALV_TREE_DND_MULTIPLE ALV tree control: Drag &amp;amp; Drop within a hierarchy tree &lt;/P&gt;&lt;P&gt;RSDEMO_DRAG_DROP_TREE_MULTI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BCALV_TREE_EVENT_RECEIVER Include BCALV_TREE_EVENT_RECEIVER &lt;/P&gt;&lt;P&gt;BCALV_TREE_EVENT_RECEIVER01 &lt;/P&gt;&lt;P&gt;BCALV_TREE_ITEMLAYOUT ALV Tree: Change Item Layouts at Runtime &lt;/P&gt;&lt;P&gt;BCALV_TREE_MOVE_NODE_TEST Demo for ALV tree control &lt;/P&gt;&lt;P&gt;BCALV_TREE_SIMPLE_DEMO Program BCALV_TREE_SIMPLE_DEMO &lt;/P&gt;&lt;P&gt;BCALV_TREE_VERIFY Verifier for ALV Tree and Simple ALV Tree &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfull answers.&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Jay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 05:17:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/tree-structure-format-in-report/m-p/2462206#M552530</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T05:17:40Z</dc:date>
    </item>
  </channel>
</rss>

