<?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 ALV Reports in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/3203572#M763612</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;Can i have code samples of different types of alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Ramya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Dec 2007 09:38:57 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-12-12T09:38:57Z</dc:date>
    <item>
      <title>ALV Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/3203572#M763612</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;Can i have code samples of different types of alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Ramya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Dec 2007 09:38:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/3203572#M763612</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-12T09:38:57Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/3203573#M763613</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;ALV REPORTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report for header window and template&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZALV                                                        *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;Report  ZALV  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:     ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.                                 "ALV Declarations&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------" /&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;      wa_ekko TYPE t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line,&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;      gd_repid     like sy-repid,&lt;/P&gt;&lt;P&gt;      gt_events     type slis_t_event,&lt;/P&gt;&lt;P&gt;      gd_prntparams type slis_print_alv.&lt;/P&gt;&lt;P&gt;&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;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_events.&lt;/P&gt;&lt;P&gt;perform build_print_params.&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;P&gt;*&amp;amp;----&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;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are a number of ways to create a fieldcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For the purpose of this example i will build the fieldcatalog manualy&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;by populating the internal table fields individually and then&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;appending the rows. This method can be the most time consuming but can&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;also allow you  more control of the final product.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Beware though, you need to ensure that all fields required are&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populated. When using some of functionality available via ALV, such as&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;total. You may need to provide more information than if you were&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;simply displaying the result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I.e. Field type may be required in-order for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   the 'TOTAL' function to work.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'EBELN'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Purchase Order'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 10.&lt;/P&gt;&lt;P&gt;  fieldcatalog-emphasize   = 'X'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-key         = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-do_sum      = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-no_zero     = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'PO Item'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Status'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 2.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Item change date'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 3.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Material Number'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 4.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'PO quantity'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 5.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Order Unit'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 6.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Net Price'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 7.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 15.&lt;/P&gt;&lt;P&gt;  fieldcatalog-datatype     = 'CURR'.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Price Unit'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 8.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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;*&amp;amp;----&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;*&amp;amp;----&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;/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;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      Display report using ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&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;            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM&lt;/P&gt;&lt;P&gt;            i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_grid_title           = outtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_special_groups       = gd_tabgroup&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_events               = gt_events&lt;/P&gt;&lt;P&gt;            is_print                = gd_prntparams&lt;/P&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              = z_template&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab                = it_ekko&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;endform.                    " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;*&amp;amp;----&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 form EKPO table and populate itab it_ekko&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;select ebeln ebelp statu aedat matnr menge meins netpr peinh&lt;/P&gt;&lt;P&gt; up to 10 rows&lt;/P&gt;&lt;P&gt;  from ekpo&lt;/P&gt;&lt;P&gt;  into table it_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;/P&gt;&lt;P&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;Form  TOP-OF-PAGE                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;ALV Report Header                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;Form top-of-page.&lt;/P&gt;&lt;P&gt;*ALV Header declarations&lt;/P&gt;&lt;P&gt;data: t_header type slis_t_listheader,&lt;/P&gt;&lt;P&gt;      wa_header type slis_listheader,&lt;/P&gt;&lt;P&gt;      t_line like wa_header-info,&lt;/P&gt;&lt;P&gt;      ld_lines type i,&lt;/P&gt;&lt;P&gt;      ld_linesc(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;Title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_header-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  wa_header-info = 'EKKO Table Report'.&lt;/P&gt;&lt;P&gt;  append wa_header to t_header.&lt;/P&gt;&lt;P&gt;  clear wa_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_header-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  wa_header-key = 'Date: '.&lt;/P&gt;&lt;P&gt;  CONCATENATE  sy-datum+6(2) '.'&lt;/P&gt;&lt;P&gt;               sy-datum+4(2) '.'&lt;/P&gt;&lt;P&gt;               sy-datum(4) INTO wa_header-info.   "todays date&lt;/P&gt;&lt;P&gt;  append wa_header to t_header.&lt;/P&gt;&lt;P&gt;  clear: wa_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Total No. of Records Selected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  describe table it_ekko lines ld_lines.&lt;/P&gt;&lt;P&gt;  ld_linesc = ld_lines.&lt;/P&gt;&lt;P&gt;  concatenate 'Total No. of Records Selected: ' ld_linesc&lt;/P&gt;&lt;P&gt;                    into t_line separated by space.&lt;/P&gt;&lt;P&gt;  wa_header-typ  = 'A'.&lt;/P&gt;&lt;P&gt;  wa_header-info = t_line.&lt;/P&gt;&lt;P&gt;  append wa_header to t_header.&lt;/P&gt;&lt;P&gt;  clear: wa_header, t_line.&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 = t_header.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_logo             = 'Z_LOGO'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;      FORM USER_COMMAND                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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; R_UCOMM                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; RS_SELFIELD                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM user_command USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                  rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check function code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check field clicked on within ALVgrid report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF rs_selfield-fieldname = 'EBELN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Read data table, using index of row user clicked on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Set parameter ID for transaction screen field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Sxecute transaction ME23N, and skip initial data entry screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&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;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_EVENTS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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 events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form build_events.&lt;/P&gt;&lt;P&gt;  data: ls_event type slis_alv_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   = gt_events[].&lt;/P&gt;&lt;P&gt;  read table gt_events with key name =  slis_ev_end_of_page&lt;/P&gt;&lt;P&gt;                           into ls_event.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    move 'END_OF_PAGE' to ls_event-form.&lt;/P&gt;&lt;P&gt;    append ls_event to gt_events.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table gt_events with key name =  slis_ev_end_of_list&lt;/P&gt;&lt;P&gt;                           into ls_event.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    move 'END_OF_LIST' to ls_event-form.&lt;/P&gt;&lt;P&gt;    append ls_event to gt_events.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_EVENTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_PRINT_PARAMS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      Setup print parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form build_print_params.&lt;/P&gt;&lt;P&gt;  gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer&lt;/P&gt;&lt;P&gt;  gd_prntparams-no_coverpage = 'X'.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_PRINT_PARAMS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  END_OF_PAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form END_OF_PAGE.&lt;/P&gt;&lt;P&gt;  data: listwidth type i,&lt;/P&gt;&lt;P&gt;        ld_pagepos(10) type c,&lt;/P&gt;&lt;P&gt;        ld_page(10)    type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: sy-uline(50).&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  write:/40 'Page:', sy-pagno .&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;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  END_OF_LIST&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form END_OF_LIST.&lt;/P&gt;&lt;P&gt;  data: listwidth type i,&lt;/P&gt;&lt;P&gt;        ld_pagepos(10) type c,&lt;/P&gt;&lt;P&gt;        ld_page(10)    type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  write:/40 'Page:', sy-pagno .&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report for different type of layout&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZALV1                                                       *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZALV1                                   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of head occurs 0,&lt;/P&gt;&lt;P&gt;       matnr type ekpo-matnr,&lt;/P&gt;&lt;P&gt;       maktx type makt-maktx,&lt;/P&gt;&lt;P&gt;       EXPAND type c,&lt;/P&gt;&lt;P&gt;      end of head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of detail occurs 0,&lt;/P&gt;&lt;P&gt;       aufnr type afpo-aufnr,&lt;/P&gt;&lt;P&gt;       matnr type afpo-matnr,&lt;/P&gt;&lt;P&gt;       werks type aufk-werks,&lt;/P&gt;&lt;P&gt;       pwerk type afpo-pwerk,&lt;/P&gt;&lt;P&gt;       psmng type afpo-psmng,&lt;/P&gt;&lt;P&gt;      end of detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select * into corresponding fields of table detail&lt;/P&gt;&lt;P&gt;               from afpo&lt;/P&gt;&lt;P&gt;                  inner join aufk&lt;/P&gt;&lt;P&gt;                    on afpo~aufnr = aufk~aufnr&lt;/P&gt;&lt;P&gt;                  inner join afko&lt;/P&gt;&lt;P&gt;                    on afpo~aufnr = afko~aufnr&lt;/P&gt;&lt;P&gt;                              up to 500 rows&lt;/P&gt;&lt;P&gt;                                    where aufk~auart = 'G2P1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not detail[] is initial.&lt;/P&gt;&lt;P&gt;    sort detail ascending by matnr.&lt;/P&gt;&lt;P&gt;    select distinct * into corresponding fields of table head&lt;/P&gt;&lt;P&gt;              from makt&lt;/P&gt;&lt;P&gt;                 for all entries in detail&lt;/P&gt;&lt;P&gt;                    where matnr = detail-matnr&lt;/P&gt;&lt;P&gt;                      and spras = sy-langu.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform call_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;      FORM call_alv                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form call_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: gt_fieldcat type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;        gs_keyinfo  type slis_keyinfo_alv,&lt;/P&gt;&lt;P&gt;        gs_layout   type slis_layout_alv.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  data: ls_fieldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear gs_keyinfo.&lt;/P&gt;&lt;P&gt;  gs_keyinfo-header01 = 'MATNR'.&lt;/P&gt;&lt;P&gt;  gs_keyinfo-item01   = 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname    = 'MATNR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic = 'Material'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname      = 'HEAD'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen    = 18.&lt;/P&gt;&lt;P&gt;  append ls_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname    = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic = 'Description'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname      = 'HEAD'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen    = 40.&lt;/P&gt;&lt;P&gt;  append ls_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname    = 'AUFNR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic = 'Production Order'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname      = 'DETAIL'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen    = 12.&lt;/P&gt;&lt;P&gt;  append ls_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname    = 'WERKS'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic = 'Production Plant'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname      = 'DETAIL'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen    = 4.&lt;/P&gt;&lt;P&gt;  append ls_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname    = 'PWERK'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic = 'Planning Plant'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname      = 'DETAIL'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen    = 4.&lt;/P&gt;&lt;P&gt;  append ls_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname    = 'PSMNG'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic = 'Quantity'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname      = 'DETAIL'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen    = 20.&lt;/P&gt;&lt;P&gt;  append ls_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_layout-expand_fieldname = 'EXPAND'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            it_fieldcat      = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;            is_layout        = gs_layout&lt;/P&gt;&lt;P&gt;            i_tabname_header = 'HEAD'&lt;/P&gt;&lt;P&gt;            i_tabname_item   = 'DETAIL'&lt;/P&gt;&lt;P&gt;            is_keyinfo       = gs_keyinfo&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab_header  = head&lt;/P&gt;&lt;P&gt;            t_outtab_item    = detail.&lt;/P&gt;&lt;P&gt;&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;To display different colors in alv &lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZALVCOLOR                                                   *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZALVCOLOR                               .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : mara TYPE mara.                 " General Material Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.                      " ALV Global types&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS :&lt;/P&gt;&lt;P&gt;   TYPE table.                   " Data to display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS :&lt;/P&gt;&lt;P&gt;  s_matnr FOR mara-matnr.              " Material number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :&lt;/P&gt;&lt;P&gt;  SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max.    "#EC NEEDED&lt;/P&gt;&lt;P&gt;PARAMETERS p_max(2) TYPE n DEFAULT '50' OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_1 = 'Maximum of lines to display'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_read_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;     Form  f_read_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_read_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS :&lt;/P&gt;&lt;P&gt;      TYPE table.             " Data read from DB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    lp_struct  TYPE REF TO data,&lt;/P&gt;&lt;P&gt;    lp_struct2 TYPE REF TO data,&lt;/P&gt;&lt;P&gt;    lp_table   TYPE REF TO data,       " Pointer to dynamic table&lt;/P&gt;&lt;P&gt;    lp_table2  TYPE REF TO data,       " Pointer to dynamic table&lt;/P&gt;&lt;P&gt;    ls_lvc_cat TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;    lt_lvc_cat TYPE lvc_t_fcat.        " Field catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_lvc_cat.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-ref_table = 'MARA'.&lt;/P&gt;&lt;P&gt;  APPEND ls_lvc_cat TO lt_lvc_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2nd column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_lvc_cat.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-ref_table = 'MAKT'.&lt;/P&gt;&lt;P&gt;  APPEND ls_lvc_cat TO lt_lvc_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3rd column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_lvc_cat.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-fieldname = 'MATKL'.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-ref_table = 'MARA'.&lt;/P&gt;&lt;P&gt;  APPEND ls_lvc_cat TO lt_lvc_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create 1st internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;    EXPORTING it_fieldcatalog = lt_lvc_cat&lt;/P&gt;&lt;P&gt;    IMPORTING ep_table = lp_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN lp_table-&amp;gt;* TO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read data into 1st internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT matnr maktx matkl&lt;/P&gt;&lt;P&gt;    INTO TABLE &lt;/P&gt;&lt;P&gt;    FROM v_matnr&lt;/P&gt;&lt;P&gt;      UP TO p_max ROWS&lt;/P&gt;&lt;P&gt;   WHERE matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create 2nd internal table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checkbox&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_lvc_cat.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-fieldname = 'CHECKBOX'.&lt;/P&gt;&lt;P&gt;  APPEND ls_lvc_cat TO lt_lvc_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table color&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_lvc_cat.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-fieldname = 'TABCOLOR'.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-ref_table = 'CALENDAR_TYPE'.&lt;/P&gt;&lt;P&gt;  ls_lvc_cat-ref_field = 'COLTAB'.&lt;/P&gt;&lt;P&gt;  APPEND ls_lvc_cat TO lt_lvc_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create 2nd internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;    EXPORTING it_fieldcatalog = lt_lvc_cat&lt;/P&gt;&lt;P&gt;    IMPORTING ep_table = lp_table2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN lp_table2-&amp;gt;* TO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create structure = structure of the 1st internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA lp_struct LIKE LINE OF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create structure = structure of the 2nd internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA lp_struct2 LIKE LINE OF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move data from 1st internal table --&amp;gt; 2nd internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Fill the internal to display &amp;lt;data&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DO sy-tfill TIMES.&lt;/P&gt;&lt;P&gt;      READ TABLE lt_lvc_cat INTO ls_lvc_cat INDEX sy-index.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    For each field of lt_lvc_cat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ASSIGN COMPONENT ls_lvc_cat-fieldname OF STRUCTURE .&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Modify color&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ASSIGN COMPONENT 'TABCOLOR' OF STRUCTURE  .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_read_data&lt;/P&gt;&lt;P&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;     Form  F_DISPLAY_DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Macro definition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DEFINE m_sort.&lt;/P&gt;&lt;P&gt;    add 1 to ls_sort-spos.&lt;/P&gt;&lt;P&gt;    ls_sort-fieldname = &amp;amp;1.&lt;/P&gt;&lt;P&gt;    ls_sort-down      = 'X'.&lt;/P&gt;&lt;P&gt;    append ls_sort to lt_sort.&lt;/P&gt;&lt;P&gt;  END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    ls_layout   TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;    lt_sort     TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;    ls_sort     TYPE slis_sortinfo_alv,&lt;/P&gt;&lt;P&gt;    ls_fieldcat TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;    lt_fieldcat TYPE slis_t_fieldcat_alv.  " Field catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Fieldcatalog - First column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname   = 'MATNR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'MARA'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-key  = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO lt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Fieldcatalog - 2nd column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname   = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'MAKT'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO lt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Fieldcatalog - 3rd column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname   = 'MATKL'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'MARA'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO lt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  ls_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  ls_layout-box_fieldname = 'CHECKBOX'.&lt;/P&gt;&lt;P&gt;  ls_layout-coltab_fieldname = 'TABCOLOR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  m_sort 'MATNR'.                      " Sort by creation date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            is_layout   = ls_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat = lt_fieldcat&lt;/P&gt;&lt;P&gt;            it_sort     = lt_sort&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab    = .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_DISPLAY_DATA&lt;/P&gt;&lt;P&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;     Form  F_modify_color&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_modify_color USING u_fieldname TYPE lvc_fname&lt;/P&gt;&lt;P&gt;                          ut_tabcolor TYPE table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    l_rnd_value TYPE datatype-integer2,&lt;/P&gt;&lt;P&gt;    ls_tabcolor TYPE lvc_s_scol.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Random value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'RANDOM_I2'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            rnd_min   = 0&lt;/P&gt;&lt;P&gt;            rnd_max   = 3&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            rnd_value = l_rnd_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_tabcolor.&lt;/P&gt;&lt;P&gt;  ls_tabcolor-fname = u_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE l_rnd_value.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-col = 1.       " Blue.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-int = 0.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-inv = 0.&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-col = 3.       " Yellow.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-int = 0.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-inv = 0.&lt;/P&gt;&lt;P&gt;    WHEN 2.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-col = 5.       " Green.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-int = 0.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-inv = 0.&lt;/P&gt;&lt;P&gt;    WHEN 3.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-col = 6.       " Red.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-int = 0.&lt;/P&gt;&lt;P&gt;      ls_tabcolor-color-inv = 0.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  INSERT ls_tabcolor INTO TABLE ut_tabcolor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_MODIFY_COLOR&lt;/P&gt;&lt;P&gt;Alv grid to print logo on the header with radio buttons&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZALVDEMO                                                    *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZALVDEMO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : J_1IEXCHDR, " header table&lt;/P&gt;&lt;P&gt;J_1IEXCDTL, " item table&lt;/P&gt;&lt;P&gt;J_1IPART2, " Excise Part II details&lt;/P&gt;&lt;P&gt;LFA1, " vendor master table&lt;/P&gt;&lt;P&gt;J_1IMOVEND, " vendor excise details table&lt;/P&gt;&lt;P&gt;MSEG, " Document Segment: Material&lt;/P&gt;&lt;P&gt;MKPF, " Header: Material Document&lt;/P&gt;&lt;P&gt;DD07T, " domain text table&lt;/P&gt;&lt;P&gt;T001W. " Plant and Branch Details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_CHDR OCCURS 100,&lt;/P&gt;&lt;P&gt;DOCNO LIKE J_1IEXCHDR-DOCNO,&lt;/P&gt;&lt;P&gt;DOCYR LIKE J_1IEXCHDR-DOCYR,&lt;/P&gt;&lt;P&gt;EXNUM LIKE J_1IEXCHDR-EXNUM,&lt;/P&gt;&lt;P&gt;EXDAT LIKE J_1IEXCHDR-EXDAT,&lt;/P&gt;&lt;P&gt;WERKS LIKE J_1IEXCHDR-WERKS,&lt;/P&gt;&lt;P&gt;EXBED LIKE J_1IEXCHDR-EXBED,&lt;/P&gt;&lt;P&gt;EXCCD LIKE J_1IEXCHDR-EXCCD,&lt;/P&gt;&lt;P&gt;ECS LIKE J_1IEXCHDR-ECS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF IT_CHDR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_CDTL OCCURS 100,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DOCYR LIKE J_1IEXCDTL-DOCYR,&lt;/P&gt;&lt;P&gt;DOCNO LIKE J_1IEXCDTL-DOCNO,&lt;/P&gt;&lt;P&gt;EXNUM LIKE J_1IEXCDTL-EXNUM,&lt;/P&gt;&lt;P&gt;EXDAT LIKE J_1IEXCDTL-EXDAT,&lt;/P&gt;&lt;P&gt;LIFNR LIKE J_1IEXCDTL-LIFNR,&lt;/P&gt;&lt;P&gt;MATNR LIKE J_1IEXCDTL-MATNR,&lt;/P&gt;&lt;P&gt;MAKTX LIKE J_1IEXCDTL-MAKTX,&lt;/P&gt;&lt;P&gt;CHAPID LIKE J_1IEXCDTL-CHAPID,&lt;/P&gt;&lt;P&gt;EXBAS LIKE J_1IEXCDTL-EXBAS,&lt;/P&gt;&lt;P&gt;EXBED LIKE J_1IEXCDTL-EXBED,&lt;/P&gt;&lt;P&gt;ECS LIKE J_1IEXCDTL-ECS,&lt;/P&gt;&lt;P&gt;MENGE LIKE J_1IEXCDTL-MENGE,&lt;/P&gt;&lt;P&gt;MEINS LIKE J_1IEXCDTL-MEINS,&lt;/P&gt;&lt;P&gt;RDOC2 LIKE J_1IEXCDTL-RDOC2,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF IT_CDTL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA TEXT(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_OUT OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SERIALNO LIKE J_1IPART2-SERIALNO,&lt;/P&gt;&lt;P&gt;TEXT1 LIKE TEXT,&lt;/P&gt;&lt;P&gt;EXNUM LIKE J_1IEXCDTL-EXNUM,&lt;/P&gt;&lt;P&gt;EXDAT LIKE J_1IEXCDTL-EXDAT,&lt;/P&gt;&lt;P&gt;NAME LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;DDTEXT LIKE DD07T-DDTEXT,&lt;/P&gt;&lt;P&gt;EXCCD LIKE J_1IEXCHDR-EXCCD,&lt;/P&gt;&lt;P&gt;BUDAT LIKE MKPF-BUDAT,&lt;/P&gt;&lt;P&gt;EXBAS LIKE IT_CDTL-EXBAS,&lt;/P&gt;&lt;P&gt;EXBED LIKE IT_CDTL-EXBED,&lt;/P&gt;&lt;P&gt;ECS LIKE IT_CDTL-ECS,&lt;/P&gt;&lt;P&gt;MATNR LIKE IT_CDTL-MATNR,&lt;/P&gt;&lt;P&gt;MAKTX LIKE IT_CDTL-MAKTX,&lt;/P&gt;&lt;P&gt;CHAPID LIKE IT_CDTL-CHAPID,&lt;/P&gt;&lt;P&gt;MENGE LIKE IT_CDTL-MENGE,&lt;/P&gt;&lt;P&gt;MEINS LIKE IT_CDTL-MEINS,&lt;/P&gt;&lt;P&gt;DEL_IND(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF IT_OUT.&lt;/P&gt;&lt;P&gt;DATA IT_PART2 LIKE J_1IPART2 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA S_NO(4) .&lt;/P&gt;&lt;P&gt;DATA DB_CNT LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;DATA EBELN_T LIKE MSEG-EBELN .&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------" /&gt;&lt;P&gt;TYPE-POOLS : SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : AFIELD TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : LIST_HEADER TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;LS_FTCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;SORTCAT TYPE SLIS_T_SORTINFO_ALV,&lt;/P&gt;&lt;P&gt;SORTCAT_LN LIKE LINE OF SORTCAT,&lt;/P&gt;&lt;P&gt;G_REPID LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;G_BACK_GROUND(70), "like bapibds01-objkey,&lt;/P&gt;&lt;P&gt;GS_VARIANT LIKE DISVARIANT,&lt;/P&gt;&lt;P&gt;G_SAVE ,&lt;/P&gt;&lt;P&gt;GT_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;ALV_EVENT TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;EVENTCAT TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;EVENTCAT_LN LIKE LINE OF EVENTCAT,&lt;/P&gt;&lt;P&gt;LAYOUT_IN TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;LAYOUT_IN1 TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE&lt;/P&gt;&lt;P&gt;'TOP_OF_PAGE',&lt;/P&gt;&lt;P&gt;GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE&lt;/P&gt;&lt;P&gt;'USER_COMMAND',&lt;/P&gt;&lt;P&gt;GC_FORMNAME_BEFORE_OUTPUT TYPE SLIS_FORMNAME VALUE&lt;/P&gt;&lt;P&gt;'BEFORE_OUTPUT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV_EVENT TYPE SLIS_ALV_EVENT,&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;/P&gt;&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;DATA EX_NO LIKE IT_CHDR-EXNUM VALUE 0.&lt;/P&gt;&lt;P&gt;DATA REGTYP_1 LIKE J_1IPART2-REGTYP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS WERKS TYPE J_1IEXCHDR-WERKS.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : BUDAT FOR J_1IEXCHDR-EXDAT.&lt;/P&gt;&lt;P&gt;PARAMETERS : R1 RADIOBUTTON GROUP GRP DEFAULT 'X',&lt;/P&gt;&lt;P&gt;R2 RADIOBUTTON GROUP GRP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;G_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;G_SAVE = 'A'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM BUILD_EVENT USING GT_EVENTS[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM ALV_EVENT_INIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;REFRESH LIST_HEADER.&lt;/P&gt;&lt;P&gt;PERFORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER.&lt;/P&gt;&lt;P&gt;&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;PERFORM ALV_EVENT_INIT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;G_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;G_BACK_GROUND = ' ' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF R1 = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR R2. CLEAR : REGTYP_1.&lt;/P&gt;&lt;P&gt;REGTYP_1 = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF R2 = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR R1.CLEAR : REGTYP_1.&lt;/P&gt;&lt;P&gt;REGTYP_1 = 'C'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;SELECT * FROM J_1IPART2&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE IT_PART2&lt;/P&gt;&lt;P&gt;WHERE REGTYP = REGTYP_1 AND&lt;/P&gt;&lt;P&gt;TRNTYP = 'GRPO' AND&lt;/P&gt;&lt;P&gt;BUDAT IN BUDAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DOCYR = IT_CDTL-DOCYR AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DOCNO = IT_CDTL-DOCNO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT IT_PART2.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM J_1IEXCHDR&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF IT_CHDR&lt;/P&gt;&lt;P&gt;WHERE TRNTYP = 'GRPO' AND&lt;/P&gt;&lt;P&gt;DOCYR = IT_PART2-DOCYR AND&lt;/P&gt;&lt;P&gt;DOCNO = IT_PART2-DOCNO AND&lt;/P&gt;&lt;P&gt;WERKS = WERKS AND&lt;/P&gt;&lt;P&gt;exdat IN BUDAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ORDER BY EXDAT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;APPEND IT_CHDR.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CONTINUE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE E084.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_CHDR.&lt;/P&gt;&lt;P&gt;SELECT * FROM J_1IEXCDTL&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF IT_CDTL&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOR ALL ENTRIES IN IT_CHDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;WHERE&lt;/P&gt;&lt;P&gt;TRNTYP = 'GRPO' AND&lt;/P&gt;&lt;P&gt;DOCNO = IT_CHDR-DOCNO AND&lt;/P&gt;&lt;P&gt;DOCYR = IT_CHDR-DOCYR AND&lt;/P&gt;&lt;P&gt;EXNUM = IT_CHDR-EXNUM AND&lt;/P&gt;&lt;P&gt;EXDAT = IT_CHDR-EXDAT AND&lt;/P&gt;&lt;P&gt;WERKS = IT_CHDR-WERKS.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;APPEND IT_CDTL.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CONTINUE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_CDTL.&lt;/P&gt;&lt;P&gt;CLEAR TEXT.&lt;/P&gt;&lt;P&gt;DB_CNT = DB_CNT + 1.&lt;/P&gt;&lt;P&gt;READ TABLE IT_CHDR WITH KEY EXNUM = IT_CDTL-EXNUM.&lt;/P&gt;&lt;P&gt;READ TABLE IT_PART2 WITH KEY DOCNO = IT_CDTL-DOCNO .&lt;/P&gt;&lt;P&gt;IT_OUT-SERIALNO = IT_PART2-SERIALNO.&lt;/P&gt;&lt;P&gt;SELECT SINGLE NAME1 FROM LFA1&lt;/P&gt;&lt;P&gt;INTO IT_OUT-NAME&lt;/P&gt;&lt;P&gt;WHERE LIFNR = IT_CDTL-LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM LFA1&lt;/P&gt;&lt;P&gt;WHERE LIFNR = IT_CDTL-LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF LFA1-LAND1 EQ 'IN'.&lt;/P&gt;&lt;P&gt;TEXT = 'INVOICE'.&lt;/P&gt;&lt;P&gt;IT_OUT-TEXT1 = TEXT.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;TEXT = 'BOE'.&lt;/P&gt;&lt;P&gt;IT_OUT-TEXT1 = TEXT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM J_1IMOVEND&lt;/P&gt;&lt;P&gt;WHERE LIFNR = IT_CDTL-LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM DD07T&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTO IT_OUT-DDTEXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;WHERE DOMNAME = 'J_1IVTYP' AND&lt;/P&gt;&lt;P&gt;DDLANGUAGE = 'EN' AND&lt;/P&gt;&lt;P&gt;DOMVALUE_L = J_1IMOVEND-J_1IVTYP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF DD07T-DDTEXT = 'First Stage Dealer of indigenous excisable goods'&lt;/P&gt;&lt;P&gt;OR&lt;/P&gt;&lt;P&gt;DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisablegoods'.&lt;/P&gt;&lt;P&gt;DD07T-DDTEXT = 'Dealer'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IT_OUT-DDTEXT = DD07T-DDTEXT.&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;ELSEIF DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*goods'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DD07T-DDTEXT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR EBELN_T.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE LFBNR FROM MSEG&lt;/P&gt;&lt;P&gt;INTO EBELN_T&lt;/P&gt;&lt;P&gt;WHERE MBLNR = IT_CDTL-RDOC2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM MSEG&lt;/P&gt;&lt;P&gt;WHERE BWART = '106' AND&lt;/P&gt;&lt;P&gt;LFBNR = EBELN_T ."and&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ebeln = ebeln_t.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_OUT-DEL_IND = 'X'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;IT_OUT-DEL_IND = ' '.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE BUDAT FROM MKPF&lt;/P&gt;&lt;P&gt;INTO IT_OUT-BUDAT&lt;/P&gt;&lt;P&gt;WHERE MBLNR = EBELN_T ."MSEG-LFBNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_OUT-EXNUM = IT_CDTL-EXNUM.&lt;/P&gt;&lt;P&gt;IT_OUT-EXDAT = IT_CDTL-EXDAT.&lt;/P&gt;&lt;P&gt;IT_OUT-EXCCD = IT_CHDR-EXCCD.&lt;/P&gt;&lt;P&gt;IT_OUT-EXBAS = IT_CDTL-EXBAS.&lt;/P&gt;&lt;P&gt;IT_OUT-EXBED = IT_CDTL-EXBED.&lt;/P&gt;&lt;P&gt;IT_OUT-ECS = IT_CDTL-ECS.&lt;/P&gt;&lt;P&gt;IT_OUT-MATNR = IT_CDTL-MATNR.&lt;/P&gt;&lt;P&gt;IT_OUT-MAKTX = IT_CDTL-MAKTX.&lt;/P&gt;&lt;P&gt;IT_OUT-CHAPID = IT_CDTL-CHAPID.&lt;/P&gt;&lt;P&gt;IT_OUT-MENGE = IT_CDTL-MENGE.&lt;/P&gt;&lt;P&gt;IT_OUT-MEINS = IT_CDTL-MEINS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND IT_OUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EX_NO = IT_CDTL-EXNUM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Title Portion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF REGTYP_1 = 'A'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'PAVAN' WITH DB_CNT.&lt;/P&gt;&lt;P&gt;ELSEIF REGTYP_1 = 'C'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'PAVAN1' WITH DB_CNT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------" /&gt;&lt;P&gt;AFIELD-COL_POS = 1.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'SERIALNO'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'INPUTS'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 2.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'TEXT1'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'TYPE OF DOC'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;AFIELD-DECIMALS_OUT = '0'.&lt;/P&gt;&lt;P&gt;AFIELD-NO_ZERO = 'X'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 3.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'EXNUM'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'DOC.NO'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 4.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'EXDAT'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'DOC.DATE'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'C'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 5.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'NAME'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'NAME OF THE SUPPLIER'.&lt;/P&gt;&lt;P&gt;AFIELD-NO_ZERO = 'X'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 6.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'DDTEXT'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'TYPE-OF-SUPPLIER'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 7.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'EXCCD'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'ECC OF THE SUPPLIER'.&lt;/P&gt;&lt;P&gt;AFIELD-NO_ZERO = 'X'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 8.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'BUDAT'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'INPUT RECV DATE'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'C'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 9.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'EXBAS'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'ASSESSABLE-VALUE'.&lt;/P&gt;&lt;P&gt;AFIELD-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'R'.&lt;/P&gt;&lt;P&gt;AFIELD-DECIMALS_OUT = '2'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 10.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'EXBED'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN CENVAT'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'R'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 11.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'ECS'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN E-CESS'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'R'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 12.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'MATERIAL-CODE'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 13.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'MAKTX'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'DESCRIPTION'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 14.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'CHAPID'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'TARIFF-ID'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'L'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 15.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'R'.&lt;/P&gt;&lt;P&gt;AFIELD-DO_SUM = ' '.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 16.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'UOM'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'C'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AFIELD-COL_POS = 17.&lt;/P&gt;&lt;P&gt;AFIELD-FIELDNAME = 'DEL_IND'.&lt;/P&gt;&lt;P&gt;AFIELD-SELTEXT_L = 'Deleted'.&lt;/P&gt;&lt;P&gt;AFIELD-JUST = 'C'.&lt;/P&gt;&lt;P&gt;APPEND AFIELD TO FIELDCAT.&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;* LAYOUT FOR ZEBRA CATLOG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LAYOUT_IN-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT_IN-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT_IN-GET_SELINFOS = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT_IN-CONFIRMATION_PROMPT = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT_IN-DETAIL_POPUP = 'X' .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SORTCAT-decimals = '0'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = G_REPID&lt;/P&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;I_SAVE = G_SAVE&lt;/P&gt;&lt;P&gt;IS_VARIANT = GS_VARIANT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = FIELDCAT&lt;/P&gt;&lt;P&gt;IT_SORT = SORTCAT&lt;/P&gt;&lt;P&gt;IS_LAYOUT = LAYOUT_IN&lt;/P&gt;&lt;P&gt;IT_EVENTS = EVENTCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BACKGROUND_ID = g_back_ground&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = IT_OUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form TOP_OF_PAGE_LIST_HEADER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;LIST_HEADERtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : HLINE TYPE SLIS_LISTHEADER,&lt;/P&gt;&lt;P&gt;TEXT(60) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : HLINE,TEXT.&lt;/P&gt;&lt;P&gt;HLINE-TYP = 'H'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE 'ROOTS INDUSTRIES LTD' TO TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;HLINE-INFO = TEXT.&lt;/P&gt;&lt;P&gt;APPEND HLINE TO LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM T001W WHERE WERKS = WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : HLINE,TEXT.&lt;/P&gt;&lt;P&gt;HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;WRITE 'PLANT :' TO TEXT.&lt;/P&gt;&lt;P&gt;WRITE WERKS TO TEXT+8.&lt;/P&gt;&lt;P&gt;HLINE-INFO = TEXT.&lt;/P&gt;&lt;P&gt;APPEND HLINE TO LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : HLINE,TEXT.&lt;/P&gt;&lt;P&gt;HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;WRITE T001W-NAME1 TO TEXT.&lt;/P&gt;&lt;P&gt;HLINE-INFO = TEXT.&lt;/P&gt;&lt;P&gt;APPEND HLINE TO LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : HLINE,TEXT.&lt;/P&gt;&lt;P&gt;HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;WRITE T001W-STRAS TO TEXT.&lt;/P&gt;&lt;P&gt;HLINE-INFO = TEXT.&lt;/P&gt;&lt;P&gt;APPEND HLINE TO LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : HLINE,TEXT.&lt;/P&gt;&lt;P&gt;HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;WRITE T001W-ORT01 TO TEXT.&lt;/P&gt;&lt;P&gt;HLINE-INFO = TEXT.&lt;/P&gt;&lt;P&gt;APPEND HLINE TO LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : HLINE,TEXT.&lt;/P&gt;&lt;P&gt;HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;WRITE 'DATE :' TO TEXT.&lt;/P&gt;&lt;P&gt;WRITE BUDAT-LOW TO TEXT+7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF BUDAT-HIGH NE ''.&lt;/P&gt;&lt;P&gt;WRITE 'TO' TO TEXT+18.&lt;/P&gt;&lt;P&gt;WRITE BUDAT-HIGH TO TEXT+22.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;HLINE-INFO = TEXT.&lt;/P&gt;&lt;P&gt;APPEND HLINE TO LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "TOP_OF_PAGE_LIST_HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form ALV_EVENT_INIT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM ALV_EVENT_INIT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ALV_EVENT.&lt;/P&gt;&lt;P&gt;ALV_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;ALV_EVENT-FORM = 'ALV_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND ALV_EVENT TO EVENTCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ALV_EVENT.&lt;/P&gt;&lt;P&gt;ALV_EVENT-NAME = SLIS_EV_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;ALV_EVENT-FORM = 'ALV_TOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;APPEND ALV_EVENT TO EVENTCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR ALV_EVENT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV_EVENT-NAME = SLIS_EV_END_OF_LIST.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV_EVENT-FORM = 'ALV_END_OF_LIST'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND ALV_EVENT TO GT_EVENTS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR ALV_EVENT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV_EVENT-NAME = SLIS_EV_END_OF_PAGE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV_EVENT-FORM = 'ALV_END_OF_PAGE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND ALV_EVENT TO GT_EVENTS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ALV_EVENT_INIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form ALV_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM ALV_TOP_OF_PAGE.&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 = LIST_HEADER&lt;/P&gt;&lt;P&gt;I_LOGO = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;ENDFORM. "ALV_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BUILD_EVENT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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_GT_EVENTS[] text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM BUILD_EVENT USING P_EVENTS 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 = P_EVENTS&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;LIST_TYPE_WRONG = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO&lt;/P&gt;&lt;P&gt;ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MOVE GC_FORMNAME_USER_COMMAND TO ALV_EVENT-FORM.&lt;/P&gt;&lt;P&gt;APPEND ALV_EVENT TO P_EVENTS.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT INTO&lt;/P&gt;&lt;P&gt;ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MOVE GC_FORMNAME_BEFORE_OUTPUT TO ALV_EVENT-FORM.&lt;/P&gt;&lt;P&gt;APPEND ALV_EVENT TO P_EVENTS.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_EVENT&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Alv grid display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report zalvg.&lt;/P&gt;&lt;P&gt;TABLES: EKPO.&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;DATA: it_ekko 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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line,&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;      gd_repid     like sy-repid,&lt;/P&gt;&lt;P&gt;      gt_events     type slis_t_event,&lt;/P&gt;&lt;P&gt;      gd_prntparams type slis_print_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform data_retrieval.&lt;/P&gt;&lt;P&gt;perform build_fieldcatalog.&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;P&gt;&lt;/P&gt;&lt;P&gt;form build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are a number of ways to create a fieldcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For the purpose of this example i will build the fieldcatalog manualy&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;by populating the internal table fields individually and then&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;appending the rows. This method can be the most time consuming but can&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;also allow you  more control of the final product.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Beware though, you need to ensure that all fields required are&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populated. When using some of functionality available via ALV, such as&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;total. You may need to provide more information than if you were&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;simply displaying the result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I.e. Field type may be required in-order for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   the 'TOTAL' function to work.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'EBELN'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Purchase Order'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 10.&lt;/P&gt;&lt;P&gt;  fieldcatalog-emphasize   = 'X'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-key         = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-do_sum      = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-no_zero     = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'PO Item'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Status'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 2.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Item change date'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 3.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Material Number'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 4.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'PO quantity'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 5.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Order Unit'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 6.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Net Price'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 7.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 15.&lt;/P&gt;&lt;P&gt;  fieldcatalog-datatype     = 'CURR'.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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-seltext_m   = 'Price Unit'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 8.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&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;form display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&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;            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM&lt;/P&gt;&lt;P&gt;            i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_grid_title           = outtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_special_groups       = gd_tabgroup&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_events               = gt_events&lt;/P&gt;&lt;P&gt;            is_print                = gd_prntparams&lt;/P&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              = z_template&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab                = it_ekko&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;endform.&lt;/P&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;select ebeln ebelp statu aedat matnr menge meins netpr peinh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  from ekpo&lt;/P&gt;&lt;P&gt;  into table it_ekko.&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;Alv grid with radio buttons&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZALVGRID_WITH_RADIOBUTTONS                                  *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZALVGRID_WITH_RADIOBUTTONS              .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: abap, icon. " INCLUDE . for releases &amp;lt; 6.20&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_s_sflight.&lt;/P&gt;&lt;P&gt;INCLUDE TYPE sflight.&lt;/P&gt;&lt;P&gt;TYPES: button1 TYPE iconname.&lt;/P&gt;&lt;P&gt;TYPES: button2 TYPE iconname.&lt;/P&gt;&lt;P&gt;TYPES: button3 TYPE iconname.&lt;/P&gt;&lt;P&gt;TYPES: button4 TYPE iconname.&lt;/P&gt;&lt;P&gt;TYPES: END OF ty_s_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:gt_sflight TYPE STANDARD TABLE OF ty_s_sflight,&lt;/P&gt;&lt;P&gt;     gs_layout TYPE lvc_s_layo,&lt;/P&gt;&lt;P&gt;     gt_fcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:gd_okcode TYPE ui_func,&lt;/P&gt;&lt;P&gt;     go_docking TYPE REF TO cl_gui_docking_container,&lt;/P&gt;&lt;P&gt;     go_grid TYPE REF TO cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*icon_wd_radio_button_empty TYPE REF TO icon_wd_radio_button_empty.&lt;/P&gt;&lt;P&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;CLASS lcl_eventhandler DEFINITION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_eventhandler DEFINITION.&lt;/P&gt;&lt;P&gt;PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;CLASS-METHODS:&lt;/P&gt;&lt;P&gt;handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;e_row_id&lt;/P&gt;&lt;P&gt;e_column_id&lt;/P&gt;&lt;P&gt;es_row_no&lt;/P&gt;&lt;P&gt;sender.&lt;/P&gt;&lt;P&gt;ENDCLASS. "lcl_eventhandler DEFINITION&lt;/P&gt;&lt;P&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;CLASS lcl_eventhandler IMPLEMENTATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CLASS lcl_eventhandler IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;METHOD handle_hotspot_click.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define local data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt; IS ASSIGNED ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set all radio buttons "unselected"&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IS ASSIGNED ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set selected radio button "selected".&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; = icon_wd_radio_button.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Force PAI followed by refresh of table display in PBO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;new_code = 'REFRESH'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RC =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDMETHOD. "handle_hotspot_click&lt;/P&gt;&lt;P&gt;ENDCLASS. "lcl_eventhandler IMPLEMENTATION&lt;/P&gt;&lt;P&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;MAIN *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM select_data.&lt;/P&gt;&lt;P&gt;PERFORM init_controls.&lt;/P&gt;&lt;P&gt;PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM set_layout.&lt;/P&gt;&lt;P&gt;CALL METHOD go_grid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name = 'SFLIGHT'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;is_layout = gs_layout&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;it_fieldcatalog = gt_fcat&lt;/P&gt;&lt;P&gt;it_outtab = gt_sflight.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Link docking container to dynpro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD go_docking-&amp;gt;link&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;repid = syst-repid&lt;/P&gt;&lt;P&gt;dynnr = '0100'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONTAINER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;cntl_error = 1&lt;/P&gt;&lt;P&gt;cntl_system_error = 2&lt;/P&gt;&lt;P&gt;lifetime_dynpro_dynpro_link = 3&lt;/P&gt;&lt;P&gt;OTHERS = 4.&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;CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&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;MODULE PBO OUTPUT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;MODULE pbo OUTPUT.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MAIN100'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'MAIN100'.&lt;/P&gt;&lt;P&gt;ENDMODULE. "PBO OUTPUT&lt;/P&gt;&lt;P&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;MODULE PAI INPUT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;MODULE pai INPUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Leave report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CASE gd_okcode.&lt;/P&gt;&lt;P&gt;WHEN 'BACK' OR&lt;/P&gt;&lt;P&gt;'EXIT' OR&lt;/P&gt;&lt;P&gt;'CANC'.&lt;/P&gt;&lt;P&gt;SET SCREEN 0. LEAVE SCREEN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Refresh table display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;WHEN 'REFRESH'.&lt;/P&gt;&lt;P&gt;PERFORM refresh_display.&lt;/P&gt;&lt;P&gt;WHEN OTHERS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;CLEAR gd_okcode.&lt;/P&gt;&lt;P&gt;ENDMODULE. "PAI INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;*&amp;amp;----&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;/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;/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;define local data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;ls_fcat TYPE lvc_s_fcat.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BUFFER_ACTIVE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_structure_name = 'ICON'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X'&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_INTERNAL_TABNAME =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;ct_fieldcat = gt_fcat&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&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;DELETE gt_fcat WHERE ( fieldname &amp;lt;&amp;gt; 'NAME' ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NOTE: field ICON-NAME has data element ICONNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BUFFER_ACTIVE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_structure_name = 'SFLIGHT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X'&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_INTERNAL_TABNAME =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;ct_fieldcat = gt_fcat&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&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;READ TABLE gt_fcat INTO ls_fcat&lt;/P&gt;&lt;P&gt;WITH KEY fieldname = 'NAME'.&lt;/P&gt;&lt;P&gt;IF ( syst-subrc = 0 ).&lt;/P&gt;&lt;P&gt;DELETE gt_fcat INDEX syst-tabix.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ls_fcat-fieldname = 'BUTTON4'.&lt;/P&gt;&lt;P&gt;ls_fcat-coltext = ls_fcat-fieldname.&lt;/P&gt;&lt;P&gt;ls_fcat-icon = 'X'.&lt;/P&gt;&lt;P&gt;ls_fcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;INSERT ls_fcat INTO gt_fcat INDEX 5.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ls_fcat-fieldname = 'BUTTON3'.&lt;/P&gt;&lt;P&gt;ls_fcat-coltext = ls_fcat-fieldname.&lt;/P&gt;&lt;P&gt;INSERT ls_fcat INTO gt_fcat INDEX 5.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ls_fcat-fieldname = 'BUTTON2'.&lt;/P&gt;&lt;P&gt;ls_fcat-coltext = ls_fcat-fieldname.&lt;/P&gt;&lt;P&gt;INSERT ls_fcat INTO gt_fcat INDEX 5.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ls_fcat-fieldname = 'BUTTON1'.&lt;/P&gt;&lt;P&gt;ls_fcat-coltext = ls_fcat-fieldname.&lt;/P&gt;&lt;P&gt;INSERT ls_fcat INTO gt_fcat INDEX 5.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Renumbering of the columns&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT gt_fcat INTO ls_fcat.&lt;/P&gt;&lt;P&gt;ls_fcat-col_pos = syst-tabix.&lt;/P&gt;&lt;P&gt;MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form SELECT_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM select_data .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define local data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;ls_sflight TYPE ty_s_sflight.&lt;/P&gt;&lt;P&gt;SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight.&lt;/P&gt;&lt;P&gt;ls_sflight-button1 = icon_wd_radio_button. " selected radiobutton&lt;/P&gt;&lt;P&gt;ls_sflight-button2 = icon_wd_radio_button_empty.&lt;/P&gt;&lt;P&gt;ls_sflight-button3 = icon_wd_radio_button_empty.&lt;/P&gt;&lt;P&gt;ls_sflight-button4 = icon_wd_radio_button_empty.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Alternatively: create icons using function module 'ICON_CREATE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;on SAP releases where these icons are not available.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MODIFY gt_sflight FROM ls_sflight&lt;/P&gt;&lt;P&gt;TRANSPORTING button1 button2 button3 button4&lt;/P&gt;&lt;P&gt;WHERE ( carrid IS NOT INITIAL ).&lt;/P&gt;&lt;P&gt;ENDFORM. " SELECT_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form INIT_CONTROLS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM init_controls .&lt;/P&gt;&lt;P&gt;CHECK ( go_docking IS NOT BOUND ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create docking container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CREATE OBJECT go_docking&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;parent = cl_gui_container=&amp;gt;screen0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REPID =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DYNNR =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SIDE = DOCK_AT_LEFT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXTENSION = 50&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STYLE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIFETIME = lifetime_default&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CAPTION =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METRIC = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ratio = 90&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NO_AUTODEF_PROGID_DYNNR =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NAME =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;cntl_error = 1&lt;/P&gt;&lt;P&gt;cntl_system_error = 2&lt;/P&gt;&lt;P&gt;create_error = 3&lt;/P&gt;&lt;P&gt;lifetime_error = 4&lt;/P&gt;&lt;P&gt;lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;OTHERS = 6.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Size of container = full screen size&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD go_docking-&amp;gt;set_extension&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;extension = 99999&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;cntl_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create ALV grid instance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CREATE OBJECT go_grid&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SHELLSTYLE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LIFETIME =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_parent = go_docking&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_APPL_EVENTS = space&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_PARENTDBG =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_APPLOGPARENT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_GRAPHICSPARENT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_NAME =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_FCAT_COMPLETE = SPACE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;error_cntl_create = 1&lt;/P&gt;&lt;P&gt;error_cntl_init = 2&lt;/P&gt;&lt;P&gt;error_cntl_link = 3&lt;/P&gt;&lt;P&gt;error_dp_create = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set event handler for event HOTSPOT_CLICK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SET HANDLER:&lt;/P&gt;&lt;P&gt;lcl_eventhandler=&amp;gt;handle_hotspot_click FOR go_grid.&lt;/P&gt;&lt;P&gt;ENDFORM. " INIT_CONTROLS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form REFRESH_DISPLAY&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Refresh table display after switching the radiobuttons&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM refresh_display .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define local data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;ls_stable TYPE lvc_s_stbl.&lt;/P&gt;&lt;P&gt;ls_stable-row = abap_true.&lt;/P&gt;&lt;P&gt;ls_stable-col = abap_true.&lt;/P&gt;&lt;P&gt;CALL METHOD go_grid-&amp;gt;refresh_table_display&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;is_stable = ls_stable&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SOFT_REFRESH =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;finished = 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;ENDFORM. " REFRESH_DISPLAY&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form SET_LAYOUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Set layout for ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM set_layout .&lt;/P&gt;&lt;P&gt;CLEAR: gs_layout.&lt;/P&gt;&lt;P&gt;gs_layout-cwidth_opt = abap_true. " optimize column width&lt;/P&gt;&lt;P&gt;gs_layout-zebra = abap_true.&lt;/P&gt;&lt;P&gt;ENDFORM. " SET_LAYOUT&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Simple alv report&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZALVTEST                                                    *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZALVTEST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: mara, makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF tab,&lt;/P&gt;&lt;P&gt;          matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;          matkl TYPE matkl,&lt;/P&gt;&lt;P&gt;          maktx TYPE maktx,&lt;/P&gt;&lt;P&gt;       END OF tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab TYPE TABLE OF tab,&lt;/P&gt;&lt;P&gt;      wa LIKE LINE OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line,&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;      gd_repid     like sy-repid.&lt;/P&gt;&lt;P&gt;&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;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 display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are a number of ways to create a fieldcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For the purpose of this example i will build the fieldcatalog manualy&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;by populating the internal table fields individually and then&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;appending the rows. This method can be the most time consuming but can&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;also allow you  more control of the final product.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Beware though, you need to ensure that all fields required are&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populated. When using some of functionality available via ALV, such as&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;total. You may need to provide more information than if you were&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;simply displaying the result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I.e. Field type may be required in-order for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   the 'TOTAL' function to work.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'MATNR'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Material No'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 10.&lt;/P&gt;&lt;P&gt;  fieldcatalog-emphasize   = 'X'.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'MATKL'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Group'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 2.&lt;/P&gt;&lt;P&gt;   fieldcatalog-outputlen   = 5.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Description'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 8.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;*&amp;amp;----&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;*&amp;amp;----&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;/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;endform.                    " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      Display report using ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_grid_title           = outtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_special_groups       = gd_tabgroup&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IT_EVENTS                = GT_XEVENTS&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              = z_template&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab                = itab&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;endform.                    " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;*&amp;amp;----&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 form EKPO table and populate itab it_ekko&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;SELECT F&lt;SUB&gt;matnr F&lt;/SUB&gt;matkl P~maktx&lt;/P&gt;&lt;P&gt;    INTO table itab&lt;/P&gt;&lt;P&gt;    FROM mara AS F INNER JOIN makt AS P&lt;/P&gt;&lt;P&gt;           ON F&lt;SUB&gt;matnr = P&lt;/SUB&gt;matnr.&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;Alv report with Total &amp;amp; Subtotal and also you can restrict number of lines to display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZALVTOTAL                                                   *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZALVTOTAL                               .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :&lt;/P&gt;&lt;P&gt;  BEGIN OF ty_vbak,&lt;/P&gt;&lt;P&gt;    vkorg TYPE vbak-vkorg,             " Sales organization&lt;/P&gt;&lt;P&gt;    kunnr TYPE vbak-kunnr,             " Sold-to party&lt;/P&gt;&lt;P&gt;    vbeln TYPE vbak-vbeln,             " Sales document&lt;/P&gt;&lt;P&gt;    netwr TYPE vbak-netwr,             " Net Value of the Sales Order&lt;/P&gt;&lt;P&gt;    waerk TYPE vbak-waerk,             " Document currency&lt;/P&gt;&lt;P&gt;  END OF ty_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  vbak    TYPE vbak,&lt;/P&gt;&lt;P&gt;  gt_vbak TYPE TABLE OF ty_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS :&lt;/P&gt;&lt;P&gt;  s_vkorg FOR vbak-vkorg,              " Sales organization&lt;/P&gt;&lt;P&gt;  s_kunnr FOR vbak-kunnr,              " Sold-to party&lt;/P&gt;&lt;P&gt;  s_vbeln FOR vbak-vbeln.              " Sales document&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :&lt;/P&gt;&lt;P&gt;  SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max.&lt;/P&gt;&lt;P&gt;PARAMETERS p_max(2) TYPE n DEFAULT '20' OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_1 = 'Maximum of records to read'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_read_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;     Form  f_read_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_read_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT vkorg kunnr vbeln netwr waerk&lt;/P&gt;&lt;P&gt;      UP TO p_max ROWS&lt;/P&gt;&lt;P&gt;    INTO TABLE gt_vbak&lt;/P&gt;&lt;P&gt;    FROM vbak&lt;/P&gt;&lt;P&gt;   WHERE kunnr IN s_kunnr&lt;/P&gt;&lt;P&gt;     AND vbeln IN s_vbeln&lt;/P&gt;&lt;P&gt;     AND vkorg IN s_vkorg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_READ_DATA&lt;/P&gt;&lt;P&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;     Form  f_display_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPE-POOLS: slis.                    " ALV Global types&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DEFINE m_fieldcat.&lt;/P&gt;&lt;P&gt;    add 1 to ls_fieldcat-col_pos.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-fieldname   = &amp;amp;1.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-ref_tabname = 'VBAK'.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-do_sum      = &amp;amp;2.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-cfieldname  = &amp;amp;3.&lt;/P&gt;&lt;P&gt;    append ls_fieldcat to lt_fieldcat.&lt;/P&gt;&lt;P&gt;  END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DEFINE m_sort.&lt;/P&gt;&lt;P&gt;    add 1 to ls_sort-spos.&lt;/P&gt;&lt;P&gt;    ls_sort-fieldname = &amp;amp;1.&lt;/P&gt;&lt;P&gt;    ls_sort-up        = 'X'.&lt;/P&gt;&lt;P&gt;    ls_sort-subtot    = &amp;amp;2.&lt;/P&gt;&lt;P&gt;    append ls_sort to lt_sort.&lt;/P&gt;&lt;P&gt;  END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    ls_fieldcat TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;    lt_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;    lt_sort     TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;    ls_sort     TYPE slis_sortinfo_alv,&lt;/P&gt;&lt;P&gt;    ls_layout   TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  m_fieldcat 'VKORG' ''  ''.&lt;/P&gt;&lt;P&gt;  m_fieldcat 'KUNNR' ''  ''.&lt;/P&gt;&lt;P&gt;  m_fieldcat 'VBELN' ''  ''.&lt;/P&gt;&lt;P&gt;  m_fieldcat 'NETWR' 'X' 'WAERK'.&lt;/P&gt;&lt;P&gt;  m_fieldcat 'WAERK' ''  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  m_sort 'VKORG' 'X'.                  " Sort by vkorg and subtotal&lt;/P&gt;&lt;P&gt;  m_sort 'KUNNR' 'X'.                  " Sort by kunnr and subtotal&lt;/P&gt;&lt;P&gt;  m_sort 'VBELN' ''.                   " Sort by vbeln&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_layout-cell_merge = 'X'.&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;            is_layout   = ls_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat = lt_fieldcat&lt;/P&gt;&lt;P&gt;            it_sort     = lt_sort&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab    = gt_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_DISPLAY_DATA&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Alv report with Radiobuttons and multiple selection option on selection screen&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZALV_DEMO                                                   *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZALV_DEMO                               .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS:  SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: iloa,INET.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: LFIELD TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: XFIELD TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: YFIELD TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: ZFIELD TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: HFIELD TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Headline to the field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: AFIELD TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Special Groups&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GT_SP_GROUPS TYPE SLIS_T_SP_GROUP_ALV WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Intermediate totals and assortment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GT_ZSUM TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filter conditions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GT_FILTER TYPE SLIS_T_FILTER_ALV WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*iTab for head information to the list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: XHEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Layoutstruktur&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: X_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: Y_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: Z_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: H_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: L_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Keyinfo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GS_KEYINFO TYPE SLIS_KEYINFO_ALV.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Excludingtabelle&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GT_EXTAB TYPE slis_T_EXTAB WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Layoutstruktur&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: XISETAB TYPE SLIS_SELDIS_ALV.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GT_XEVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;DATA: GT_YEVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;DATA: GT_ZEVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;DATA: GT_HEVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;DATA: GT_LEVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;data : XS_EVENT  TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GT_PRINT TYPE SLIS_PRINT_ALV.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OK_Code für Layoutpopup&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM.&lt;/P&gt;&lt;P&gt;DATA: FLG_EXIT(1) TYPE C.              " Abbruch des Layoutpopups.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Farbtabelle für Zelleneinfärbungen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GT_COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: WA TYPE VIQMEL,&lt;/P&gt;&lt;P&gt;      TM(8) TYPE C.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ILOAN LIKE VIQMEL-ILOAN,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     QMNUM LIKE VIQMEL-QMNUM,&lt;/P&gt;&lt;P&gt;     QMDAT LIKE VIQMEL-QMDAT,&lt;/P&gt;&lt;P&gt;     AUSVN LIKE VIQMEL-AUSVN, " START DATE OF MAL FUNCTION&lt;/P&gt;&lt;P&gt;     AUZTV LIKE VIQMEL-AUZTV, " START TIME OF MAL FUNCTION&lt;/P&gt;&lt;P&gt;     AUSZT LIKE VIQMEL-AUSZT, " BREAK DOWN TIME&lt;/P&gt;&lt;P&gt;     AUSBS LIKE VIQMEL-AUSBS, " END DATE OF MAL FUNCTION&lt;/P&gt;&lt;P&gt;     AUZTB LIKE VIQMEL-AUZTB, " END TIME OF MAL FUNCTION&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NETID LIKE INET-NETID,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     TPLNR LIKE ILOA-TPLNR,&lt;/P&gt;&lt;P&gt;     END OF ITAB,&lt;/P&gt;&lt;P&gt;     ITAB1 LIKE STANDARD TABLE OF ITAB WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF WA_INETTAB,&lt;/P&gt;&lt;P&gt;      DATVA LIKE INET-DATVA, " START DATE OF LINK CREATED (VALIDITY)&lt;/P&gt;&lt;P&gt;      DATVB LIKE INET-DATVB, " END DATE OF LINK CREATED&lt;/P&gt;&lt;P&gt;      TPKANT LIKE INET-TPKANT, " FUNCTIONAL OBJECT&lt;/P&gt;&lt;P&gt;      NETID LIKE INET-NETID, " NETWORD ID&lt;/P&gt;&lt;P&gt;      TPVON LIKE INET-TPVON, " LINK FROM FUNCT LOC&lt;/P&gt;&lt;P&gt;      TPNACH LIKE INET-TPNACH, " LINK TO FUNCT LOC&lt;/P&gt;&lt;P&gt;      END OF WA_INETTAB,&lt;/P&gt;&lt;P&gt;      INETTAB LIKE STANDARD TABLE OF WA_INETTAB WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;   header data&lt;/P&gt;&lt;P&gt;DATA: HDATA LIKE inettab OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;DATA: BEGIN OF WA_FINALTAB,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ILOAN LIKE VIQMEL-ILOAN,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       QMNUM LIKE VIQMEL-QMNUM,&lt;/P&gt;&lt;P&gt;       QMDAT LIKE VIQMEL-QMDAT,&lt;/P&gt;&lt;P&gt;       AUSVN LIKE VIQMEL-AUSVN, " START DATE OF MAL FUNCTION&lt;/P&gt;&lt;P&gt;       AUZTV LIKE VIQMEL-AUZTV, " START TIME OF MAL FUNCTION&lt;/P&gt;&lt;P&gt;       AUSZT LIKE VIQMEL-AUSZT, " BREAK DOWN TIME&lt;/P&gt;&lt;P&gt;       AUSBS LIKE VIQMEL-AUSBS, " END DATE OF MAL FUNCTION&lt;/P&gt;&lt;P&gt;       AUZTB LIKE VIQMEL-AUZTB, " END TIME OF MAL FUNCTION&lt;/P&gt;&lt;P&gt;       TPLNR LIKE ILOA-TPLNR,&lt;/P&gt;&lt;P&gt;      DATVA LIKE INET-DATVA, " START DATE OF LINK CREATED (VALIDITY)&lt;/P&gt;&lt;P&gt;      DATVB LIKE INET-DATVB, " END DATE OF LINK CREATED&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TPKANT LIKE INET-TPKANT, " FUNCTIONAL OBJECT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      NETID LIKE INET-NETID, " NETWORD ID&lt;/P&gt;&lt;P&gt;      TPVON LIKE INET-TPVON, " LINK FROM FUNCT LOC&lt;/P&gt;&lt;P&gt;      TPNACH LIKE INET-TPNACH, " LINK TO FUNCT LOC&lt;/P&gt;&lt;P&gt;      END OF WA_FINALTAB,&lt;/P&gt;&lt;P&gt;      FINALTAB LIKE STANDARD TABLE OF WA_FINALTAB WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: IDATA LIKE FINALTAB occurs 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS NET_ID FOR INET-NETID NO INTERVALS.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS DATE FOR WA-AUSVN OBLIGATORY NO-EXTENSION.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS FUNC_LOC FOR ILOA-TPLNR NO INTERVALS.&lt;/P&gt;&lt;P&gt;PARAMETERS: RPT_TYP1 RADIOBUTTON GROUP RAD1,&lt;/P&gt;&lt;P&gt;            RPT_TYP2 RADIOBUTTON GROUP RAD1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  MOVE: 'I'      TO DATE-SIGN,&lt;/P&gt;&lt;P&gt;        'EQ'     TO DATE-OPTION,&lt;/P&gt;&lt;P&gt;        '20050101' TO DATE-LOW,&lt;/P&gt;&lt;P&gt;         SY-DATUM  TO DATE-HIGH.&lt;/P&gt;&lt;P&gt;  APPEND DATE.&lt;/P&gt;&lt;P&gt;  REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;  IF DATE-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;    REFRESH DATE.&lt;/P&gt;&lt;P&gt;    MOVE: SY-DATUM  TO DATE-HIGH.&lt;/P&gt;&lt;P&gt;    APPEND DATE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF DATE-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;    REFRESH DATE.&lt;/P&gt;&lt;P&gt;    MOVE: SY-DATUM  TO DATE-HIGH.&lt;/P&gt;&lt;P&gt;    APPEND DATE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF NOT ( FUNC_LOC IS INITIAL ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT V~QMNUM V~QMDAT V~AUSVN V~AUSBS V~AUZTV V~AUZTB V~AUSZT I~TPLNR&lt;/P&gt;&lt;P&gt; INTO CORRESPONDING FIELDS OF TABLE ITAB1&lt;/P&gt;&lt;P&gt; FROM ( VIQMEL AS V INNER JOIN ILOA AS I ON V~ILOAN = I~ILOAN )&lt;/P&gt;&lt;P&gt; WHERE ( V~AUSVN in DATE and V~AUSBS in DATE )&lt;/P&gt;&lt;P&gt; AND   V~MSAUS EQ 'X'&lt;/P&gt;&lt;P&gt; AND   V~EQUNR EQ SPACE&lt;/P&gt;&lt;P&gt; AND   V~QMART IN ('S1','S2','S3')&lt;/P&gt;&lt;P&gt; AND   I~TPLNR in FUNC_LOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT NETID TPKANT TPVON TPNACH DATVA DATVB INTO CORRESPONDING FIELDS&lt;/P&gt;&lt;P&gt; OF TABLE INETTAB FROM INET WHERE NETID IN NET_ID AND TPKANT IN&lt;/P&gt;&lt;P&gt; FUNC_LOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; HDATA[] = INETTAB[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT INETTAB BY NETID TPKANT DATVA DATVB.&lt;/P&gt;&lt;P&gt;  SORT ITAB1 BY TPLNR AUSVN AUZTV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF RPT_TYP1 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT INETTAB.&lt;/P&gt;&lt;P&gt;      LOOP AT ITAB1 WHERE TPLNR EQ INETTAB-TPKANT AND AUSVN GT&lt;/P&gt;&lt;P&gt;      INETTAB-DATVA AND AUSBS LT INETTAB-DATVB.&lt;/P&gt;&lt;P&gt;        CLEAR FINALTAB.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING INETTAB TO FINALTAB.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING ITAB1 TO FINALTAB.&lt;/P&gt;&lt;P&gt;        APPEND FINALTAB.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT FINALTAB BY NETID.&lt;/P&gt;&lt;P&gt;    IDATA[] = FINALTAB[].&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT ITAB1.&lt;/P&gt;&lt;P&gt;   LOOP AT INETTAB WHERE TPKANT EQ ITAB1-TPLNR AND DATVA LE ITAB1-AUSVN&lt;/P&gt;&lt;P&gt;   AND DATVB GE ITAB1-AUSBS.&lt;/P&gt;&lt;P&gt;        CLEAR FINALTAB.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING ITAB1 TO FINALTAB.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING INETTAB TO FINALTAB.&lt;/P&gt;&lt;P&gt;        APPEND FINALTAB.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT FINALTAB BY TPLNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT FINALTAB INTO WA_FINALTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE:/(14) WA_FINALTAB-TPLNR, (8) WA_FINALTAB-NETID, (15)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WA_FINALTAB-TPVON, (10) WA_FINALTAB-TPNACH, (10) WA_FINALTAB-DATVA,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; (10) WA_FINALTAB-DATVB, (10) WA_FINALTAB-AUSBS ,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; (10) WA_FINALTAB-AUSVN, (10) WA_FINALTAB-QMNUM,(10)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WA_FINALTAB-QMDAT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; (15) WA_FINALTAB-AUSZT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              I_CALLBACK_PROGRAM = REPID&lt;/P&gt;&lt;P&gt;              IS_LAYOUT          = H_LAYOUT&lt;/P&gt;&lt;P&gt;              IT_FIELDCAT        = HFIELD&lt;/P&gt;&lt;P&gt;              IS_KEYINFO         = GS_KEYINFO&lt;/P&gt;&lt;P&gt;              I_TABNAME_HEADER   = 'HDATA'&lt;/P&gt;&lt;P&gt;             I_TABNAME_ITEM     = 'IDATA'&lt;/P&gt;&lt;P&gt;              IT_EVENTS          = GT_HEVENTS&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              T_OUTTAB_HEADER    = HDATA&lt;/P&gt;&lt;P&gt;              T_OUTTAB_ITEM      = IDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FIELDS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_COUNT TYPE I.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR AFIELD.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  AFIELD-COL_POS = L_COUNT.&lt;/P&gt;&lt;P&gt;  AFIELD-FIELDNAME = 'NETID'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AFIELD-TABNAME = 'inettab'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AFIELD-REF_TABNAME = 'INET'.&lt;/P&gt;&lt;P&gt;  AFIELD-KEY = 'X'.                    "define field as key&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO XFIELD.&lt;/P&gt;&lt;P&gt;  AFIELD-TABNAME = 'HDATA'.&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO HFIELD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AFIELD-TABNAME = 'LDATA'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND AFIELD TO LFIELD.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR AFIELD.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  AFIELD-COL_POS = L_COUNT.&lt;/P&gt;&lt;P&gt;  AFIELD-FIELDNAME = 'TPKANT'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AFIELD-TABNAME = 'inettab'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AFIELD-REF_TABNAME = 'INET'.&lt;/P&gt;&lt;P&gt;  AFIELD-KEY = 'X'.                    "define field as key&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO XFIELD.&lt;/P&gt;&lt;P&gt;  AFIELD-TABNAME = 'HDATA'.&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO HFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR AFIELD.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  AFIELD-COL_POS = L_COUNT.&lt;/P&gt;&lt;P&gt;  AFIELD-FIELDNAME = 'NETID'.&lt;/P&gt;&lt;P&gt; AFIELD-TABNAME = 'FINALTAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AFIELD-REF_TABNAME = ''.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AFIELD-KEY = 'X'.                    "define field as key&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO XFIELD.&lt;/P&gt;&lt;P&gt;  AFIELD-TABNAME = 'IDATA'.&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO HFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR AFIELD.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  AFIELD-COL_POS = L_COUNT.&lt;/P&gt;&lt;P&gt;  AFIELD-FIELDNAME = 'TPKANT'.&lt;/P&gt;&lt;P&gt; AFIELD-TABNAME = 'FINALTAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AFIELD-REF_TABNAME = ''.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AFIELD-KEY = 'X'.                    "define field as key&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO XFIELD.&lt;/P&gt;&lt;P&gt;  AFIELD-TABNAME = 'IDATA'.&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO HFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR AFIELD.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  AFIELD-COL_POS = L_COUNT.&lt;/P&gt;&lt;P&gt;  AFIELD-FIELDNAME = 'QMNUM'.&lt;/P&gt;&lt;P&gt; AFIELD-TABNAME = 'FINALTAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AFIELD-REF_TABNAME = ''.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AFIELD-KEY = 'X'.                    "define field as key&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO XFIELD.&lt;/P&gt;&lt;P&gt;  AFIELD-TABNAME = 'IDATA'.&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO HFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR AFIELD.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  AFIELD-COL_POS = L_COUNT.&lt;/P&gt;&lt;P&gt;  AFIELD-FIELDNAME = 'QMDAT'.&lt;/P&gt;&lt;P&gt; AFIELD-TABNAME = 'FINALTAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AFIELD-REF_TABNAME = ''.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AFIELD-KEY = 'X'.                    "define field as key&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO XFIELD.&lt;/P&gt;&lt;P&gt;  AFIELD-TABNAME = 'IDATA'.&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO HFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR AFIELD.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  AFIELD-COL_POS = L_COUNT.&lt;/P&gt;&lt;P&gt;  AFIELD-FIELDNAME = 'AUSVN'.&lt;/P&gt;&lt;P&gt; AFIELD-TABNAME = 'FINALTAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AFIELD-REF_TABNAME = ''.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AFIELD-KEY = 'X'.                    "define field as key&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO XFIELD.&lt;/P&gt;&lt;P&gt;  AFIELD-TABNAME = 'IDATA'.&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO HFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR AFIELD.&lt;/P&gt;&lt;P&gt;  L_COUNT = L_COUNT + 1.&lt;/P&gt;&lt;P&gt;  AFIELD-COL_POS = L_COUNT.&lt;/P&gt;&lt;P&gt;  AFIELD-FIELDNAME = 'AUZTV'.&lt;/P&gt;&lt;P&gt; AFIELD-TABNAME = 'FINALTAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AFIELD-REF_TABNAME = ''.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AFIELD-KEY = 'X'.                    "define field as key&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO XFIELD.&lt;/P&gt;&lt;P&gt;  AFIELD-TABNAME = 'IDATA'.&lt;/P&gt;&lt;P&gt;  APPEND AFIELD TO HFIELD.&lt;/P&gt;&lt;P&gt;&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;/P&gt;&lt;P&gt;FORM ZEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = slis_ev_item_data_expand.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'ITEM_DATA_EXPAND'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_HEVENTS.&lt;/P&gt;&lt;P&gt;&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;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Dec 2007 09:39:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/3203573#M763613</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-12T09:39:39Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/3203574#M763614</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;here is three types of ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Simple,&lt;/P&gt;&lt;P&gt;Hierarchical&lt;/P&gt;&lt;P&gt;Block.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In simple i have used REUSE_ALV_GRID_DISPLAY,&lt;/P&gt;&lt;P&gt;same way u can use REUSE_ALV_LIST_DISPLAY,&lt;/P&gt;&lt;P&gt;Just u need to call this function instead of REUSE_ALV_GRID_DISPLAY..&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; Report  ZALV_PRDS&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  zalv_prds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************************************************&lt;/P&gt;&lt;P&gt;****************************************************************************************************&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---------------------" /&gt;Simple ALV Grid with Header-Footer(Interactive)--&lt;HR originaltext="-------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************************************************&lt;/P&gt;&lt;P&gt;****************************************************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*TABLES : mara,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        makt,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        marc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       matnr LIKE mara-matnr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       maktx LIKE makt-maktx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       werks LIKE marc-werks,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      END OF itab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : t_fcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      t_eve TYPE slis_t_event,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      st_line TYPE slis_listheader,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      t_list_top_page TYPE slis_t_listheader,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      t_list_end_page TYPE slis_t_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : t_mat LIKE mara-matnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;*SELECT-OPTIONS : mat FOR mara-matnr.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN : END OF BLOCK blk1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*INITIALIZATION.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM build_cat USING t_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM build_eve.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM get_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM build_header USING t_list_top_page[].&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM build_footer USING t_list_end_page[].&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM dis_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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  buils_cat&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;TEMP_FCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_cat USING temp_fcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA : wa_fcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-tabname = 'ITAB'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-seltext_m = 'Material'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND wa_fcat TO temp_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR wa_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-tabname = 'ITAB'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-fieldname = 'MAKTX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-seltext_m = 'Material Description'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND wa_fcat TO temp_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR wa_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-tabname = 'ITAB'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-fieldname = 'WERKS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-seltext_m = 'Plant'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND wa_fcat TO temp_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR wa_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "build_cat&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_eve&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_eve.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA : wa_eve TYPE slis_alv_event.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_list_type           = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    et_events             = t_eve&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OTHERS                = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; READ TABLE t_eve INTO wa_eve WITH KEY name = 'END_OF_LIST'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_eve-form = 'END_OF_PAGE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY t_eve FROM wa_eve INDEX sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "build_eve&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  get_data&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 get_data.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT mara&lt;SUB&gt;matnr makt&lt;/SUB&gt;maktx marc~werks INTO CORRESPONDING FIELDS OF TABLE itab&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FROM mara INNER JOIN makt ON&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; mara&lt;SUB&gt;matnr = makt&lt;/SUB&gt;matnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INNER JOIN marc ON&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; mara&lt;SUB&gt;matnr = marc&lt;/SUB&gt;matnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WHERE mara~matnr IN mat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "get_data&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  dis_data&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 dis_data.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_callback_program                = 'ZALV_PRDS'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_callback_user_command           = 'USER_COMMAND'&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;    it_fieldcat                       = t_fcat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_save                            = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    it_events                         = t_eve&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_outtab                          = itab&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "dis_data&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_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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;TEMP_LIST          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;TTYPE              text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;SLIS_T_LISTHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_header USING temp_list TYPE slis_t_listheader.&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; CLEAR st_line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_line-typ = 'H'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_line-info = 'Material Info'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND st_line TO temp_list.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "build_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_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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;TEMP_LIST  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_footer USING temp_list TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR st_line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_line-typ = 'H'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_line-info = 'Dhwani Shah'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND st_line TO temp_list.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "build_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  top_Of_page&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 top_of_page.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_list_commentary = t_list_top_page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "top_Of_page&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  end_of_page&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 end_of_page.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_list_commentary = t_list_end_page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "end_of_page&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  user_command&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 user_command USING u_com LIKE sy-ucomm sel_field TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE u_com.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF sel_field-fieldname = 'MATNR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       READ TABLE itab INDEX sel_field-tabindex.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         t_mat = itab-matnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SET PARAMETER ID 'MAT' FIELD t_mat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "user_command&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***************************************************************************************************&lt;/P&gt;&lt;P&gt;***************************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------" /&gt;Hierarchical ALV(Interactive)--&lt;HR originaltext="-----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***************************************************************************************************&lt;/P&gt;&lt;P&gt;***************************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*TABLES : mseg.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : BEGIN OF itab_head OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       matnr LIKE mseg-matnr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       werks LIKE mseg-werks,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      END OF itab_head.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : BEGIN OF itab_item OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       matnr LIKE mseg-matnr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       werks LIKE mseg-werks,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       mblnr LIKE mseg-mblnr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       menge LIKE mseg-menge,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      END OF itab_item.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : t_fcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      key_info TYPE slis_keyinfo_alv,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      t_eve TYPE slis_t_event,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      gt_subtot TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      subtot LIKE LINE OF gt_subtot,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      t_listhead TYPE slis_t_listheader,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      st_line TYPE slis_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : t_mtdoc LIKE mseg-mblnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT-OPTIONS : mat FOR mseg-matnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*INITIALIZATION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM build_cat USING t_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM build_eve.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM get_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM dis_data.&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  build_cat&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;TEMP_FCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_cat USING temp_fcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA : wa_fcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-tabname = 'ITAB_HEAD'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-seltext_m = 'Material'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND wa_fcat TO temp_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR wa_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-tabname = 'ITAB_HEAD'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-fieldname = 'WERKS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-seltext_m = 'Plant'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND wa_fcat TO temp_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR wa_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-tabname = 'ITAB_ITEM'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-fieldname = 'MBLNR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-seltext_m = 'Material Doc.'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND wa_fcat TO temp_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR wa_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-tabname = 'ITAB_ITEM'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-seltext_m = 'Quantity'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-do_sum = 'Y'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND wa_fcat TO temp_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR wa_fcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; subtot-spos = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; subtot-fieldname = 'MATNR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; subtot-tabname = 'ITAB_HEAD'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; subtot-up = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; subtot-group = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; subtot-subtot = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; subtot-expa = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND subtot TO gt_subtot.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "build_cat&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_eve&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_eve.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA : wa_eve TYPE slis_alv_event.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_list_type           = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    et_events             = t_eve&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    OTHERS                = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; READ TABLE t_eve INTO wa_eve WITH KEY name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   wa_eve-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   MODIFY t_eve FROM wa_eve INDEX sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "build_eve&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  get_data&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 get_data.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT matnr werks mblnr menge FROM mseg INTO CORRESPONDING FIELDS OF TABLE itab_item&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WHERE matnr IN mat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "get_data&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  dis_data&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 dis_data.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; key_info-header01 = 'MATNR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; key_info-item01 = 'MATNR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; key_info-header02 = 'WERKS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; key_info-item02 = 'WERKS'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH itab_head.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT itab_item.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ON CHANGE OF itab_item-matnr OR itab_item-werks.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE-CORRESPONDING itab_item TO itab_head.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND itab_head.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDON.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_callback_program             = 'ZALV_PRDS'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_callback_user_command        = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_fieldcat                    = t_fcat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_sort                        = gt_subtot&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_events                      = t_eve[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_tabname_header               = 'ITAB_HEAD'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_tabname_item                 = 'ITAB_ITEM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     is_keyinfo                     = key_info&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_outtab_header                = itab_head&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_outtab_item                  = itab_item&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OTHERS                         = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "dis_data&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  user_Command&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;U_COMM     text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;SELFIELD   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 user_command USING u_comm TYPE sy-ucomm selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE u_comm.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE itab_item INDEX selfield-tabindex.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_mtdoc = itab_item-mblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SET PARAMETER ID 'MBN' FIELD t_mtdoc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL TRANSACTION 'MIGO' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.                    "user_Command&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  top_of_page&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 top_of_page.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR st_line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_line-typ = 'H'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_line-info = 'Dhwani Shah'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND st_line TO t_listhead.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_list_commentary       = t_listhead&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_LOGO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_ALV_FORM               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "top_of_page&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***************************************************************************************************&lt;/P&gt;&lt;P&gt;***************************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------" /&gt;Block ALV(Interactive)--&lt;HR originaltext="---------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***************************************************************************************************&lt;/P&gt;&lt;P&gt;***************************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : mara,&lt;/P&gt;&lt;P&gt;         makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : mat FOR mara-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;        matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;        maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;        matkl LIKE mara-matkl,&lt;/P&gt;&lt;P&gt;        mtart LIKE mara-mtart,&lt;/P&gt;&lt;P&gt;       END OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF itab1 OCCURS 0,&lt;/P&gt;&lt;P&gt;        mtart LIKE mara-mtart,&lt;/P&gt;&lt;P&gt;        count TYPE i,&lt;/P&gt;&lt;P&gt;       END OF itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF itab1_col OCCURS 0,&lt;/P&gt;&lt;P&gt;        mtart LIKE mara-mtart,&lt;/P&gt;&lt;P&gt;        count TYPE i,&lt;/P&gt;&lt;P&gt;       END OF itab1_col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : t_fcat1 TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;       t_fcat2 TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;       wa_fcat TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;       t_eve TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;       wa_eve TYPE slis_alv_event,&lt;/P&gt;&lt;P&gt;       t_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : v_repid LIKE sy-repid,&lt;/P&gt;&lt;P&gt;       t_mat LIKE mara-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DEFINE create_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear wa_fcat.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = &amp;amp;1.&lt;/P&gt;&lt;P&gt;  wa_fcat-seltext_l = &amp;amp;2.&lt;/P&gt;&lt;P&gt;  wa_fcat-outputlen = &amp;amp;3.&lt;/P&gt;&lt;P&gt;  append wa_fcat to t_fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM dis_data.&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  get_data&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 get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT a&lt;SUB&gt;matnr b&lt;/SUB&gt;maktx a&lt;SUB&gt;mtart a&lt;/SUB&gt;matkl INTO CORRESPONDING FIELDS OF TABLE itab&lt;/P&gt;&lt;P&gt;  FROM mara AS a INNER JOIN makt AS b ON&lt;/P&gt;&lt;P&gt;  a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;  WHERE a~matnr IN mat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab.&lt;/P&gt;&lt;P&gt;    itab1-mtart = itab-mtart.&lt;/P&gt;&lt;P&gt;    itab1-count = 1.&lt;/P&gt;&lt;P&gt;    APPEND itab1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT itab1 BY mtart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab1.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING itab1 TO itab1_col.&lt;/P&gt;&lt;P&gt;    COLLECT itab1_col.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "get_data&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  dis_data&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 dis_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program      = v_repid&lt;/P&gt;&lt;P&gt;      i_callback_user_command = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH t_fcat1.&lt;/P&gt;&lt;P&gt;  CLEAR t_fcat1.&lt;/P&gt;&lt;P&gt;  REFRESH t_eve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_eve-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  wa_eve-form = 'TOP_OF_PAGE1'.&lt;/P&gt;&lt;P&gt;  APPEND wa_eve TO t_eve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  create_fcat:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  'MATNR' 'Material' '10',&lt;/P&gt;&lt;P&gt;  'MAKTX' 'Material Description' '40',&lt;/P&gt;&lt;P&gt;  'MTART' 'Type' '10',&lt;/P&gt;&lt;P&gt;  'MATKL' 'Group' '10'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_layout   = t_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat = t_fcat1&lt;/P&gt;&lt;P&gt;      i_tabname   = 'ITAB'&lt;/P&gt;&lt;P&gt;      it_events   = t_eve&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab    = itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH t_fcat1.&lt;/P&gt;&lt;P&gt;  CLEAR t_fcat1.&lt;/P&gt;&lt;P&gt;  REFRESH t_eve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_eve-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  wa_eve-form = 'TOP_OF_PAGE2'.&lt;/P&gt;&lt;P&gt;  APPEND wa_eve TO t_eve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  create_fcat:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  'MTART' 'Type' '10',&lt;/P&gt;&lt;P&gt;  'COUNT' 'Total' '5'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_layout   = t_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat = t_fcat1&lt;/P&gt;&lt;P&gt;      i_tabname   = 'ITAB1_COL'&lt;/P&gt;&lt;P&gt;      it_events   = t_eve&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab    = itab1_col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "dis_data&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  user_command&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;U_COMM     text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;SELF       text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 user_command USING u_comm TYPE sy-ucomm self TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE u_comm.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF self-tabname = 'ITAB'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       READ TABLE itab INDEX self-tabindex.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       t_mat = itab-matnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SET PARAMETER ID 'MAT' FIELD t_mat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.                    "user_command&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  top_of_page1&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 top_of_page1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_POSITIVE.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'First Block'.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "top_of_page&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  top_of_page2&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 top_of_page2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;  WRITE /5 'Second Block'.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Dec 2007 09:43:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/3203574#M763614</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-12T09:43:07Z</dc:date>
    </item>
  </channel>
</rss>

