<?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: ALV with tree structure in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121069#M741158</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;Following this is sample report for alv tree.&lt;/P&gt;&lt;P&gt;REPORT  yms_alvtreefooter.&lt;/P&gt;&lt;P&gt;TABLES vbak.&lt;/P&gt;&lt;P&gt;TYPE-POOLS slis.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF t_vbak,&lt;/P&gt;&lt;P&gt;vbeln TYPE vbak-vbeln,&lt;/P&gt;&lt;P&gt;erdat TYPE vbak-erdat,&lt;/P&gt;&lt;P&gt;ernam TYPE vbak-ernam,&lt;/P&gt;&lt;P&gt;audat TYPE vbak-audat,&lt;/P&gt;&lt;P&gt;vbtyp TYPE vbak-vbtyp,&lt;/P&gt;&lt;P&gt;netwr TYPE vbak-netwr,&lt;/P&gt;&lt;P&gt;vkorg TYPE vbak-vkorg,&lt;/P&gt;&lt;P&gt;vkgrp TYPE vbak-vkgrp,&lt;/P&gt;&lt;P&gt;line_color(4) TYPE c,&lt;/P&gt;&lt;P&gt;END OF t_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_vbak TYPE STANDARD TABLE OF t_vbak INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_vbak TYPE t_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: fldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;gd_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;gd_repid TYPE sy-repid,&lt;/P&gt;&lt;P&gt;i_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;w_events LIKE LINE OF i_events.&lt;/P&gt;&lt;P&gt;DATA: i_comment TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;wa_comment TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;  PERFORM bld_fldcat.&lt;/P&gt;&lt;P&gt;  PERFORM bld_layout.&lt;/P&gt;&lt;P&gt;  PERFORM call_events.&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Field Catalog for ALV Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM bld_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Sales Document'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 0.&lt;/P&gt;&lt;P&gt;*FLDCAT-EMPHASIZE = 'C411'.&lt;/P&gt;&lt;P&gt;  fldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;  fldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'ERDAT'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Record Date created'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;  fldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Cteated Object Person Name'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'AUDAT'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Document Date'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;  fldcat-emphasize = 'C110'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VBTYP'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'SD Document category'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'NETWR'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Net Value of the SO in Document Currency'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;  fldcat-outputlen = 60.&lt;/P&gt;&lt;P&gt;  fldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  fldcat-datatype = 'CURR'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VKORG'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Sales Organization'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VKGRP'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Sales Group'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 7.&lt;/P&gt;&lt;P&gt;  fldcat-emphasize = 'C801'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BLD_FLDCAT&lt;/P&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;/P&gt;&lt;P&gt;FORM bld_layout.&lt;/P&gt;&lt;P&gt;&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-info_fieldname = 'LINE_COLOR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BLD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display report using ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA t_event TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = t_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  i_callback_program = gd_repid&lt;/P&gt;&lt;P&gt;  is_layout = gd_layout&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE_SPLIT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_HTML_END_OF_LIST = 'END_OF_LIST_HTML'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  it_events = i_events&lt;/P&gt;&lt;P&gt;  it_fieldcat = fldcat[]&lt;/P&gt;&lt;P&gt;  i_save = 'X'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;  t_outtab = it_vbak&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;  program_error = 1&lt;/P&gt;&lt;P&gt;  OTHERS = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve data from VBAK table and populate itab IT_VBAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM data_retrieval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA ld_color(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT vbeln erdat ernam audat vbtyp netwr vkorg&lt;/P&gt;&lt;P&gt;  UP TO 100 ROWS&lt;/P&gt;&lt;P&gt;  FROM vbak&lt;/P&gt;&lt;P&gt;  INTO TABLE it_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_vbak INTO wa_vbak.&lt;/P&gt;&lt;P&gt;    ld_color = ld_color + 1.&lt;/P&gt;&lt;P&gt;    IF ld_color = 8.&lt;/P&gt;&lt;P&gt;      ld_color = 1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'C' ld_color '10' INTO wa_vbak-line_color.&lt;/P&gt;&lt;P&gt;    MODIFY it_vbak FROM wa_vbak.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "DATA_RETRIEVAL&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  CALL_EVENTS&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;      text&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 call_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  i_list_type = 0&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;  et_events = i_events&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIST_TYPE_WRONG = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_events[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE i_events INTO w_events WITH KEY name = 'END_OF_LIST'.&lt;/P&gt;&lt;P&gt;    w_events-form = 'GENERATE_USERCOMMAND_FOOTER'.&lt;/P&gt;&lt;P&gt;    MODIFY i_events FROM w_events INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CALL_EVENTS&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  GENERATE_USERCOMMAND_FOOTER&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;      text&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 generate_usercommand_footer.&lt;/P&gt;&lt;P&gt;  CLEAR i_comment[].&lt;/P&gt;&lt;P&gt;  wa_comment-typ = 'S'.&lt;/P&gt;&lt;P&gt;  wa_comment-info = sy-pagno.&lt;/P&gt;&lt;P&gt;  APPEND wa_comment TO i_comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  it_list_commentary = i_comment&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LOGO = ''&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_end_of_list_grid = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GENERATE_USERCOMMAND_FOOTER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sankar M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Nov 2007 04:11:44 GMT</pubDate>
    <dc:creator>p291102</dc:creator>
    <dc:date>2007-11-22T04:11:44Z</dc:date>
    <item>
      <title>ALV with tree structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121067#M741156</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi gurus,&lt;/P&gt;&lt;P&gt; i want your help in developing alv, my requirement is output is&lt;/P&gt;&lt;P&gt;c1      c2      c3 &lt;/P&gt;&lt;P&gt;r2c1   r2c2    r2c3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when user click on c1 which has a button to expand, it should expand like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c1       c2      c3&lt;/P&gt;&lt;P&gt;c11     c21     c31&lt;/P&gt;&lt;P&gt;c22     c22     c32&lt;/P&gt;&lt;P&gt;r2c1    r2c2    r2c3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can any body give me some sample&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rewards for sure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mandy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 03:50:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121067#M741156</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-22T03:50:50Z</dc:date>
    </item>
    <item>
      <title>Re: ALV with tree structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121068#M741157</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;see example program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bcalv_&lt;STRONG&gt;tree&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 04:02:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121068#M741157</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-22T04:02:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV with tree structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121069#M741158</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;Following this is sample report for alv tree.&lt;/P&gt;&lt;P&gt;REPORT  yms_alvtreefooter.&lt;/P&gt;&lt;P&gt;TABLES vbak.&lt;/P&gt;&lt;P&gt;TYPE-POOLS slis.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF t_vbak,&lt;/P&gt;&lt;P&gt;vbeln TYPE vbak-vbeln,&lt;/P&gt;&lt;P&gt;erdat TYPE vbak-erdat,&lt;/P&gt;&lt;P&gt;ernam TYPE vbak-ernam,&lt;/P&gt;&lt;P&gt;audat TYPE vbak-audat,&lt;/P&gt;&lt;P&gt;vbtyp TYPE vbak-vbtyp,&lt;/P&gt;&lt;P&gt;netwr TYPE vbak-netwr,&lt;/P&gt;&lt;P&gt;vkorg TYPE vbak-vkorg,&lt;/P&gt;&lt;P&gt;vkgrp TYPE vbak-vkgrp,&lt;/P&gt;&lt;P&gt;line_color(4) TYPE c,&lt;/P&gt;&lt;P&gt;END OF t_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_vbak TYPE STANDARD TABLE OF t_vbak INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_vbak TYPE t_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: fldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;gd_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;gd_repid TYPE sy-repid,&lt;/P&gt;&lt;P&gt;i_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;w_events LIKE LINE OF i_events.&lt;/P&gt;&lt;P&gt;DATA: i_comment TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;wa_comment TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;  PERFORM bld_fldcat.&lt;/P&gt;&lt;P&gt;  PERFORM bld_layout.&lt;/P&gt;&lt;P&gt;  PERFORM call_events.&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Field Catalog for ALV Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM bld_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Sales Document'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 0.&lt;/P&gt;&lt;P&gt;*FLDCAT-EMPHASIZE = 'C411'.&lt;/P&gt;&lt;P&gt;  fldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;  fldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'ERDAT'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Record Date created'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;  fldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Cteated Object Person Name'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'AUDAT'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Document Date'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;  fldcat-emphasize = 'C110'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VBTYP'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'SD Document category'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'NETWR'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Net Value of the SO in Document Currency'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;  fldcat-outputlen = 60.&lt;/P&gt;&lt;P&gt;  fldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  fldcat-datatype = 'CURR'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VKORG'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Sales Organization'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VKGRP'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Sales Group'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 7.&lt;/P&gt;&lt;P&gt;  fldcat-emphasize = 'C801'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BLD_FLDCAT&lt;/P&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;/P&gt;&lt;P&gt;FORM bld_layout.&lt;/P&gt;&lt;P&gt;&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-info_fieldname = 'LINE_COLOR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BLD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display report using ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA t_event TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = t_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  i_callback_program = gd_repid&lt;/P&gt;&lt;P&gt;  is_layout = gd_layout&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE_SPLIT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_HTML_END_OF_LIST = 'END_OF_LIST_HTML'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  it_events = i_events&lt;/P&gt;&lt;P&gt;  it_fieldcat = fldcat[]&lt;/P&gt;&lt;P&gt;  i_save = 'X'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;  t_outtab = it_vbak&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;  program_error = 1&lt;/P&gt;&lt;P&gt;  OTHERS = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve data from VBAK table and populate itab IT_VBAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM data_retrieval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA ld_color(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT vbeln erdat ernam audat vbtyp netwr vkorg&lt;/P&gt;&lt;P&gt;  UP TO 100 ROWS&lt;/P&gt;&lt;P&gt;  FROM vbak&lt;/P&gt;&lt;P&gt;  INTO TABLE it_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_vbak INTO wa_vbak.&lt;/P&gt;&lt;P&gt;    ld_color = ld_color + 1.&lt;/P&gt;&lt;P&gt;    IF ld_color = 8.&lt;/P&gt;&lt;P&gt;      ld_color = 1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'C' ld_color '10' INTO wa_vbak-line_color.&lt;/P&gt;&lt;P&gt;    MODIFY it_vbak FROM wa_vbak.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "DATA_RETRIEVAL&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  CALL_EVENTS&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;      text&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 call_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  i_list_type = 0&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;  et_events = i_events&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIST_TYPE_WRONG = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_events[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE i_events INTO w_events WITH KEY name = 'END_OF_LIST'.&lt;/P&gt;&lt;P&gt;    w_events-form = 'GENERATE_USERCOMMAND_FOOTER'.&lt;/P&gt;&lt;P&gt;    MODIFY i_events FROM w_events INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CALL_EVENTS&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  GENERATE_USERCOMMAND_FOOTER&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;      text&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 generate_usercommand_footer.&lt;/P&gt;&lt;P&gt;  CLEAR i_comment[].&lt;/P&gt;&lt;P&gt;  wa_comment-typ = 'S'.&lt;/P&gt;&lt;P&gt;  wa_comment-info = sy-pagno.&lt;/P&gt;&lt;P&gt;  APPEND wa_comment TO i_comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  it_list_commentary = i_comment&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LOGO = ''&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_end_of_list_grid = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GENERATE_USERCOMMAND_FOOTER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sankar M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 04:11:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121069#M741158</guid>
      <dc:creator>p291102</dc:creator>
      <dc:date>2007-11-22T04:11:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV with tree structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121070#M741159</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 site &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdev.co.uk/reporting/alv/alvtree.htm" target="test_blank"&gt;http://www.sapdev.co.uk/reporting/alv/alvtree.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward iuf usefull&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 04:34:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121070#M741159</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-22T04:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: ALV with tree structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121071#M741160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Expert .&lt;/P&gt;&lt;P&gt;Boss , i run this code , it is running fine , but the issue is still remain same .&lt;/P&gt;&lt;P&gt;My Issue is How to expend the ALV display Or some [+] will appear to expend this ALV display .&lt;/P&gt;&lt;P&gt;This is End-User requirement .&lt;/P&gt;&lt;P&gt;Please Help me boss .&lt;/P&gt;&lt;P&gt;Thanx Boss .&lt;/P&gt;&lt;P&gt;Regards : rajneesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 05:32:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121071#M741160</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-22T05:32:17Z</dc:date>
    </item>
    <item>
      <title>Re: ALV with tree structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121072#M741161</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mittal and all, &lt;/P&gt;&lt;P&gt; thanks for reply, but i got solution &lt;/P&gt;&lt;P&gt;here is the modified code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;                                            REPORT  ZDEMO_TREE_LIST_ALV                     .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES vbak.&lt;/P&gt;&lt;P&gt;TYPE-POOLS slis.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF t_vbak,&lt;/P&gt;&lt;P&gt;vbeln TYPE vbak-vbeln,&lt;/P&gt;&lt;P&gt;erdat TYPE vbak-erdat,&lt;/P&gt;&lt;P&gt;ernam TYPE vbak-ernam,&lt;/P&gt;&lt;P&gt;audat TYPE vbak-audat,&lt;/P&gt;&lt;P&gt;vbtyp TYPE vbak-vbtyp,&lt;/P&gt;&lt;P&gt;netwr TYPE vbak-netwr,&lt;/P&gt;&lt;P&gt;vkorg TYPE vbak-vkorg,&lt;/P&gt;&lt;P&gt;vkgrp TYPE vbak-vkgrp,&lt;/P&gt;&lt;P&gt;line_color(4) TYPE c,&lt;/P&gt;&lt;P&gt;END OF t_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_vbak TYPE STANDARD TABLE OF t_vbak INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_vbak TYPE t_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: fldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;gd_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;gd_repid TYPE sy-repid,&lt;/P&gt;&lt;P&gt;i_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;it_sortinfo type slis_t_sortinfo_alv with header line,&lt;/P&gt;&lt;P&gt;w_events LIKE LINE OF i_events.&lt;/P&gt;&lt;P&gt;DATA: i_comment TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;wa_comment TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;  PERFORM bld_fldcat.&lt;/P&gt;&lt;P&gt;  PERFORM it_sortinfo.&lt;/P&gt;&lt;P&gt;  PERFORM bld_layout.&lt;/P&gt;&lt;P&gt;  PERFORM call_events.&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Field Catalog for ALV Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM bld_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Sales Document'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 0.&lt;/P&gt;&lt;P&gt;*FLDCAT-EMPHASIZE = 'C411'.&lt;/P&gt;&lt;P&gt;  fldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;  fldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'ERDAT'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Record Date created'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;  fldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Cteated Object Person Name'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'AUDAT'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Document Date'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;  fldcat-emphasize = 'C110'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VBTYP'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'SD Document category'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'NETWR'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Net Value of the SO in Document Currency'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;  fldcat-outputlen = 60.&lt;/P&gt;&lt;P&gt;  fldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  fldcat-datatype = 'CURR'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VKORG'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_l = 'Sales Organization'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fldcat-fieldname = 'VKGRP'.&lt;/P&gt;&lt;P&gt;  fldcat-seltext_m = 'Sales Group'.&lt;/P&gt;&lt;P&gt;  fldcat-col_pos = 7.&lt;/P&gt;&lt;P&gt;  fldcat-emphasize = 'C801'.&lt;/P&gt;&lt;P&gt;  APPEND fldcat TO fldcat.&lt;/P&gt;&lt;P&gt;  CLEAR fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "BLD_FLDCAT&lt;/P&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;/P&gt;&lt;P&gt;FORM bld_layout.&lt;/P&gt;&lt;P&gt;&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-info_fieldname = 'LINE_COLOR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "BLD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display report using ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA t_event TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = t_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PERFORM z_alv_grid_display TABLES it_vbak..&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;    i_callback_program = gd_repid&lt;/P&gt;&lt;P&gt;    is_layout = gd_layout&lt;/P&gt;&lt;P&gt;    it_events = i_events&lt;/P&gt;&lt;P&gt;    it_fieldcat = fldcat[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_SORT                           = it_sortinfo[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SAVE                            = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = IT_VBAK&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve data from VBAK table and populate itab IT_VBAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM data_retrieval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA ld_color(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT vbeln erdat ernam audat vbtyp netwr vkorg&lt;/P&gt;&lt;P&gt;  UP TO 100 ROWS&lt;/P&gt;&lt;P&gt;  FROM vbak&lt;/P&gt;&lt;P&gt;  INTO TABLE it_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_vbak INTO wa_vbak.&lt;/P&gt;&lt;P&gt;    ld_color = ld_color + 1.&lt;/P&gt;&lt;P&gt;    IF ld_color = 8.&lt;/P&gt;&lt;P&gt;      ld_color = 1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'C' ld_color '10' INTO wa_vbak-line_color.&lt;/P&gt;&lt;P&gt;    MODIFY it_vbak FROM wa_vbak.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "DATA_RETRIEVAL&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 CALL_EVENTS&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;text&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 call_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  i_list_type = 0&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;  et_events = i_events&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIST_TYPE_WRONG = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_events[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE i_events INTO w_events WITH KEY name = 'END_OF_LIST'.&lt;/P&gt;&lt;P&gt;    w_events-form = 'GENERATE_USERCOMMAND_FOOTER'.&lt;/P&gt;&lt;P&gt;    MODIFY i_events FROM w_events INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "CALL_EVENTS&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 GENERATE_USERCOMMAND_FOOTER&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;text&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 generate_usercommand_footer.&lt;/P&gt;&lt;P&gt;  CLEAR i_comment[].&lt;/P&gt;&lt;P&gt;  wa_comment-typ = 'S'.&lt;/P&gt;&lt;P&gt;  wa_comment-info = sy-pagno.&lt;/P&gt;&lt;P&gt;  APPEND wa_comment TO i_comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  it_list_commentary = i_comment&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LOGO = ''&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_end_of_list_grid = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "GENERATE_USERCOMMAND_FOOTER&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  it_sortinfo&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;      text&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;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 it_sortinfo .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_sortinfo-fieldname = 'ERNAM'.&lt;/P&gt;&lt;P&gt;it_sortinfo-tabname = 'IT_VBAK'.&lt;/P&gt;&lt;P&gt;it_sortinfo-subtot = 'X'.&lt;/P&gt;&lt;P&gt;it_sortinfo-obligatory = 'X'.&lt;/P&gt;&lt;P&gt;it_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;it_sortinfo-spos = '1'.&lt;/P&gt;&lt;P&gt;it_sortinfo-expa = 'X'.&lt;/P&gt;&lt;P&gt;append it_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " it_sortinfo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward point if u can.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 13:53:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-with-tree-structure/m-p/3121072#M741161</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-23T13:53:35Z</dc:date>
    </item>
  </channel>
</rss>

