<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ALV Report  Format Problem in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133953#M988614</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Pass the Parameter IS_structure in Reuse_alv_grid_dispaly&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Devanand&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 26 Jun 2008 01:53:25 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-26T01:53:25Z</dc:date>
    <item>
      <title>ALV Report  Format Problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133952#M988613</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am writing an ALV report for the following report below , I am not getting the output in the internal table &lt;/P&gt;&lt;P&gt;can anyone correct please&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Piroz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_ROLE LINE-SIZE  220 LINE-COUNT 75&lt;/P&gt;&lt;P&gt;         NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : agr_tcodes,&lt;/P&gt;&lt;P&gt;         agr_users,&lt;/P&gt;&lt;P&gt;         tstct.&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: repid LIKE sy-repid, "Report ID&lt;/P&gt;&lt;P&gt;is_layout TYPE slis_layout_alv, "Layout For ALV&lt;/P&gt;&lt;P&gt;it_fieldcat TYPE slis_t_fieldcat_alv, "ITAB for field&lt;/P&gt;&lt;P&gt;it_events TYPE slis_t_event, "ITAB for event&lt;/P&gt;&lt;P&gt;it_sub TYPE slis_layout_alv_spec1, "subtotals&lt;/P&gt;&lt;P&gt;i_header TYPE slis_t_listheader, "Itab for listheader&lt;/P&gt;&lt;P&gt;lt_sort TYPE slis_t_sortinfo_alv, "itab for sorting&lt;/P&gt;&lt;P&gt;wa_sort LIKE LINE OF lt_sort." slis_t_sortinfo_alv.         &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF itab OCCURS 0  ,&lt;/P&gt;&lt;P&gt;         agr_tcodes type agr_tcodes-tcode ,        " Transaction code     A&lt;/P&gt;&lt;P&gt;         agr_name   type agr_tcodes-agr_name,      " Role Name            B&lt;/P&gt;&lt;P&gt;       END OF itab .&lt;/P&gt;&lt;P&gt;        &lt;/P&gt;&lt;P&gt;DATA:  BEGIN of it_disp Occurs 0 ,&lt;/P&gt;&lt;P&gt;         agr_tcodes type agr_tcodes-tcode ,        " Transaction code     A&lt;/P&gt;&lt;P&gt;         agr_name   type agr_tcodes-agr_name,      " Role Name            B&lt;/P&gt;&lt;P&gt;         agr_uname  type agr_users-uname,          "  Short User Name     B&lt;/P&gt;&lt;P&gt;         ttext      type tstct-ttext,              "  Description Name    C&lt;/P&gt;&lt;P&gt;         sprsl      type tstct-sprsl ,             "  Language            c&lt;/P&gt;&lt;P&gt;       END OF it_disp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA: i_data TYPE TABLE OF ty_data, " internal table&lt;/P&gt;&lt;P&gt;*wa_data TYPE ty_data. " work area&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.&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: p_tcode FOR agr_tcodes-tcode OBLIGATORY, "no-extension no intervals,&lt;/P&gt;&lt;P&gt;                u_name  for agr_users-uname,&lt;/P&gt;&lt;P&gt;                r_name for agr_users-uname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM get_data.&lt;/P&gt;&lt;P&gt;PERFORM modify_data.&lt;/P&gt;&lt;P&gt;PERFORM disp_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form get_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;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;P&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 agr_tcodes&lt;SUB&gt;tcode agr_tcodes&lt;/SUB&gt;agr_name agr_users&lt;SUB&gt;uname  tstct&lt;/SUB&gt;ttext tstct~sprsl&lt;/P&gt;&lt;P&gt;into table it_disp &lt;/P&gt;&lt;P&gt;from agr_tcodes&lt;/P&gt;&lt;P&gt;inner join agr_users&lt;/P&gt;&lt;P&gt;on agr_tcodes&lt;SUB&gt;agr_name = agr_users&lt;/SUB&gt;agr_name&lt;/P&gt;&lt;P&gt;inner join tstct&lt;/P&gt;&lt;P&gt;on agr_tcodes&lt;SUB&gt;tcode = tstct&lt;/SUB&gt;tcode&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;tstct~sprsl eq 'E'.&lt;/P&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;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form modify_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;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;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM modify_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING itab TO it_disp.&lt;/P&gt;&lt;P&gt;APPEND it_disp.&lt;/P&gt;&lt;P&gt;CLEAR it_disp.&lt;/P&gt;&lt;P&gt;ENDFORM. " modify_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form Disp_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;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;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM disp_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM fill_layout_structure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM fill_field_catalog_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM alv_header USING i_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM call_alv_function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Disp_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form fill_layout_structure&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;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;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_layout_structure .&lt;/P&gt;&lt;P&gt;CLEAR is_layout.&lt;/P&gt;&lt;P&gt;is_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;is_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is_layout-no_input = 'X'.&lt;/P&gt;&lt;P&gt;is_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;is_layout-totals_text = 'Totals'(201).&lt;/P&gt;&lt;P&gt;is_layout-totals_only = 'X'.&lt;/P&gt;&lt;P&gt;is_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;is_layout-group_change_edit = 'X'.&lt;/P&gt;&lt;P&gt;is_layout-header_text = 'Wagners Users Transaction Code'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " fill_layout_structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form fill_field_catalog_table&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;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;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_field_catalog_table .&lt;/P&gt;&lt;P&gt;DATA : gls1(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BREAK-POINT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM fill_field_catalog USING :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'agr_tcode' 'Trans Code .' '10' 'IT_DISP' space space 'C11' ' ' ' ',&lt;/P&gt;&lt;P&gt;'agr_name' 'Name' '40' 'IT_FINAL' space space 'C11' ' ' ' ' ,&lt;/P&gt;&lt;P&gt;'agr_uname' 'Role' '60' 'IT_FINAL' space space 'C11' 'X' ' ',&lt;/P&gt;&lt;P&gt;'ttext' 'Descript' '80' 'IT_FINAL' space space 'C11' ' ' ' '. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " fill_field_catalog_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form fill_field_catalog&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;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;FORM fill_field_catalog USING f d l t s z y a b.&lt;/P&gt;&lt;P&gt;DATA t_fld TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;STATICS pos LIKE sy-index VALUE 0.&lt;/P&gt;&lt;P&gt;pos = pos + 1.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR t_fld.&lt;/P&gt;&lt;P&gt;MOVE 1 TO t_fld-row_pos.&lt;/P&gt;&lt;P&gt;MOVE pos TO t_fld-col_pos.&lt;/P&gt;&lt;P&gt;MOVE f TO t_fld-fieldname.&lt;/P&gt;&lt;P&gt;MOVE d TO t_fld-seltext_m.&lt;/P&gt;&lt;P&gt;MOVE l TO t_fld-outputlen.&lt;/P&gt;&lt;P&gt;MOVE t TO t_fld-tabname.&lt;/P&gt;&lt;P&gt;MOVE s TO t_fld-do_sum.&lt;/P&gt;&lt;P&gt;MOVE z TO t_fld-no_zero.&lt;/P&gt;&lt;P&gt;MOVE y TO t_fld-emphasize.&lt;/P&gt;&lt;P&gt;MOVE a TO t_fld-no_out.&lt;/P&gt;&lt;P&gt;MOVE b TO t_fld-no_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND t_fld TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " fill_field_catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form alv_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;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_I_HEADER text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;FORM alv_header USING p_i_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;CLEAR wa_line.&lt;/P&gt;&lt;P&gt;wa_line-typ = 'H'.&lt;/P&gt;&lt;P&gt;wa_line-info = 'Wagners Investment'.&lt;/P&gt;&lt;P&gt;APPEND wa_line TO i_header.&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. " alv_header&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form call_alv_function&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;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;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;FORM call_alv_function .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = REPID&lt;/P&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;P&gt;IS_LAYOUT = IS_LAYOUT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = IT_FIELDCAT&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = IT_DISP.&lt;/P&gt;&lt;P&gt;IF sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " call_alv_function&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jun 2008 01:21:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133952#M988613</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-26T01:21:19Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Report  Format Problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133953#M988614</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Pass the Parameter IS_structure in Reuse_alv_grid_dispaly&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Devanand&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jun 2008 01:53:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133953#M988614</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-26T01:53:25Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Report  Format Problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133954#M988615</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;DATA: i_data TYPE TABLE OF ty_data, " internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;actual statement for itab declaration like:&lt;/P&gt;&lt;P&gt;data: name type &amp;lt;kind= name of itab type&amp;gt; table of linetype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;declare in ur itab with kind and line type( at starting of report  declare line type = ty_data).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this may help u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;krishna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jun 2008 02:44:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133954#M988615</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-26T02:44:24Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Report  Format Problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133955#M988616</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN __default_attr="blue" __jive_macro_name="color"&gt;
Hi Piroz,
I have modified ur code. please check. Its working .
&lt;PRE&gt;&lt;CODE&gt;
REPORT ZVENKAT_NOTEPAD LINE-SIZE 220 LINE-COUNT 75
NO STANDARD PAGE HEADING.

TABLES : AGR_TCODES,
AGR_USERS,
TSTCT.


TYPE-POOLS : SLIS.


DATA: REPID LIKE SY-REPID, "Report ID
IS_LAYOUT TYPE SLIS_LAYOUT_ALV, "Layout For ALV
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "ITAB for field
IT_EVENTS TYPE SLIS_T_EVENT, "ITAB for event
IT_SUB TYPE SLIS_LAYOUT_ALV_SPEC1, "subtotals
I_HEADER TYPE SLIS_T_LISTHEADER, "Itab for listheader
LT_SORT TYPE SLIS_T_SORTINFO_ALV, "itab for sorting
WA_SORT LIKE LINE OF LT_SORT." slis_t_sortinfo_alv.

DATA: BEGIN OF ITAB OCCURS 0 ,
AGR_TCODES TYPE AGR_TCODES-TCODE , " Transaction code A
AGR_NAME TYPE AGR_TCODES-AGR_NAME, " Role Name B
END OF ITAB .


DATA: BEGIN OF IT_DISP OCCURS 0 ,
AGR_TCODES TYPE AGR_TCODES-TCODE , " Transaction code A
AGR_NAME   TYPE AGR_TCODES-AGR_NAME, " Role Name B
AGR_UNAME  TYPE AGR_USERS-UNAME, " Short User Name B
TTEXT      TYPE TSTCT-TTEXT, " Description Name C
SPRSL      TYPE TSTCT-SPRSL , " Language c
END OF IT_DISP.

*DATA: i_data TYPE TABLE OF ty_data, " internal table
*wa_data TYPE ty_data. " work area



SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME.
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: P_TCODE FOR AGR_TCODES-TCODE OBLIGATORY, "no-extension no intervals,
U_NAME FOR AGR_USERS-UNAME,
R_NAME FOR AGR_USERS-UNAME .

SELECTION-SCREEN END OF BLOCK BLK1.
SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN END OF BLOCK BLK2.
SELECTION-SCREEN END OF BLOCK BLK.






START-OF-SELECTION.


  PERFORM GET_DATA.
  PERFORM MODIFY_DATA.
  PERFORM DISP_DATA .

END-OF-SELECTION.

*&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form get_data
*&amp;amp;---------------------------------------------------------------------

FORM GET_DATA .

  SELECT AGR_TCODES~TCODE AGR_TCODES~AGR_NAME AGR_USERS~UNAME TSTCT~TTEXT TSTCT~SPRSL
  INTO TABLE IT_DISP
  FROM AGR_TCODES
  INNER JOIN AGR_USERS
  ON AGR_TCODES~AGR_NAME = AGR_USERS~AGR_NAME
  INNER JOIN TSTCT
  ON AGR_TCODES~TCODE = TSTCT~TCODE
  AND
  TSTCT~SPRSL EQ 'E'.

ENDFORM. "get_data

*&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form modify_data
*&amp;amp;---------------------------------------------------------------------


FORM MODIFY_DATA .

  MOVE-CORRESPONDING ITAB TO IT_DISP.
  APPEND IT_DISP.
  CLEAR IT_DISP.
ENDFORM. " modify_data

*&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form Disp_data
*&amp;amp;---------------------------------------------------------------------

FORM DISP_DATA .

  PERFORM FILL_LAYOUT_STRUCTURE.

  PERFORM FILL_FIELD_CATALOG_TABLE.

  PERFORM ALV_HEADER USING I_HEADER.

  PERFORM CALL_ALV_FUNCTION.

ENDFORM. " Disp_data

*&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form fill_layout_structure
*&amp;amp;---------------------------------------------------------------------


FORM FILL_LAYOUT_STRUCTURE .
  CLEAR IS_LAYOUT.
  IS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
  IS_LAYOUT-ZEBRA = 'X'.

  IS_LAYOUT-NO_INPUT = 'X'.
  IS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
  IS_LAYOUT-TOTALS_TEXT = 'Totals'(201).
  IS_LAYOUT-TOTALS_ONLY = 'X'.
  IS_LAYOUT-ZEBRA = 'X'.
  IS_LAYOUT-GROUP_CHANGE_EDIT = 'X'.
  IS_LAYOUT-HEADER_TEXT = 'Wagners Users Transaction Code'.

ENDFORM. " fill_layout_structure

*&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form fill_field_catalog_table
*&amp;amp;---------------------------------------------------------------------


FORM FILL_FIELD_CATALOG_TABLE .
  DATA : GLS1(10).

  PERFORM FILL_FIELD_CATALOG USING :

  'AGR_TCODES' 'Trans Code .' '10' 'IT_DISP' SPACE SPACE 'C11' ' ' ' ',
  'AGR_NAME'   'Name'         '40' 'IT_DISP' SPACE SPACE 'C11' ' ' ' ' ,
  'AGR_UNAME'  'Role'         '60' 'IT_DISP' SPACE SPACE 'C11' 'X' ' ',
  'TTEXT'      'Descript'     '80' 'IT_DISP' SPACE SPACE 'C11' ' ' ' '.

ENDFORM. " fill_field_catalog_table

*&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form fill_field_catalog
*&amp;amp;---------------------------------------------------------------------

FORM FILL_FIELD_CATALOG USING F D L T S Z Y A B.
  DATA T_FLD TYPE SLIS_FIELDCAT_ALV.
  STATICS POS LIKE SY-INDEX VALUE 0.
  POS = POS + 1.

  CLEAR T_FLD.
  MOVE 1 TO T_FLD-ROW_POS.
  MOVE POS TO T_FLD-COL_POS.
  MOVE F TO T_FLD-FIELDNAME.
  MOVE D TO T_FLD-SELTEXT_M.
  MOVE L TO T_FLD-OUTPUTLEN.
  MOVE T TO T_FLD-TABNAME.
  MOVE S TO T_FLD-DO_SUM.
  MOVE Z TO T_FLD-NO_ZERO.
  MOVE Y TO T_FLD-EMPHASIZE.
  MOVE A TO T_FLD-NO_OUT.
  MOVE B TO T_FLD-NO_SUM.

  APPEND T_FLD TO IT_FIELDCAT.

ENDFORM. " fill_field_catalog

*&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form alv_header
*&amp;amp;---------------------------------------------------------------------

FORM ALV_HEADER USING P_I_HEADER.

  DATA: WA_LINE TYPE SLIS_LISTHEADER.
  CLEAR WA_LINE.
  WA_LINE-TYP = 'H'.
  WA_LINE-INFO = 'Wagners Investment'.
  APPEND WA_LINE TO I_HEADER.


ENDFORM. " alv_header
*&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form call_alv_function
*&amp;amp;---------------------------------------------------------------------

FORM CALL_ALV_FUNCTION .

  REPID = SY-REPID.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM       = REPID
*      i_callback_pf_status_set = ' '
      IS_LAYOUT                = IS_LAYOUT
      IT_FIELDCAT              = IT_FIELDCAT
    TABLES
      T_OUTTAB                 = IT_DISP.
  IF SY-SUBRC EQ 0.
  ENDIF.
ENDFORM. " call_alv_function
&lt;/CODE&gt;&lt;/PRE&gt;
I hope that it helps u .
Regards,
Venkat.O
&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jun 2008 03:39:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133955#M988616</guid>
      <dc:creator>venkat_o</dc:creator>
      <dc:date>2008-06-26T03:39:59Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Report  Format Problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133956#M988617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Piroz,&lt;/P&gt;&lt;P&gt;Put the break point before the fm" REUSE_ALV_GRID_DISPLAY'. And then check the internal table IT_DISP whether it contains data or not.&lt;/P&gt;&lt;P&gt;If not the check how the internal table IT_DISP is being populated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;**************&lt;STRONG&gt;Reward Point if helpful&lt;/STRONG&gt;**************&amp;amp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jun 2008 03:43:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133956#M988617</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-26T03:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Report  Format Problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133957#M988618</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Venkat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks guru , Your modified report help me , One last question I want to keep the top of page and display the parameter at the top , Is there any way please&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Piroz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jun 2008 04:30:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133957#M988618</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-26T04:30:33Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Report  Format Problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133958#M988619</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Venkat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot for correcting and sending me the format , Now I can manage to change the other reports too.&lt;/P&gt;&lt;P&gt;I have one more report which is bashing my head like anything , This is basically a fuel calculation report for managment , I want to change this too in ALV FORMAT, I did all my efforts to correct but it is looping inside as i close the report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in Advanced&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_ESLP_ZFCR1 LINE-SIZE  220 LINE-COUNT 75&lt;/P&gt;&lt;P&gt;         NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : equi,&lt;/P&gt;&lt;P&gt;equz,&lt;/P&gt;&lt;P&gt;imptt,&lt;/P&gt;&lt;P&gt;imrg,&lt;/P&gt;&lt;P&gt;eqkt,&lt;/P&gt;&lt;P&gt;iloa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis. "ALV Declarations&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;TYPES: BEGIN OF ty_data ,&lt;/P&gt;&lt;P&gt;equnr type equnr, " Euipment no&lt;/P&gt;&lt;P&gt;eqktx type eqkt-eqktx, " Equipment Text&lt;/P&gt;&lt;P&gt;eqfnr type iloa-eqfnr, " Equipment Sort field&lt;/P&gt;&lt;P&gt;idate type imrg-idate, " Measuring Date&lt;/P&gt;&lt;P&gt;recdu type imrg-recdu, " Unit of measuring ='KM','L','H'&lt;/P&gt;&lt;P&gt;recdv type imrg-recdv, " Counter reading data&lt;/P&gt;&lt;P&gt;cancl type imrg-cancl,&lt;/P&gt;&lt;P&gt;END OF ty_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_final,&lt;/P&gt;&lt;P&gt;equnr type equnr, " Equipment no&lt;/P&gt;&lt;P&gt;eqktx type eqkt-eqktx, " Equipment Text&lt;/P&gt;&lt;P&gt;eqfnr type iloa-eqfnr, " Equipment Sort field&lt;/P&gt;&lt;P&gt;idate type imrg-idate, " Measuring Date&lt;/P&gt;&lt;P&gt;min_date_km type imrg-idate, " Min Date&lt;/P&gt;&lt;P&gt;min_km type P DECIMALS 2, " Max Km&lt;/P&gt;&lt;P&gt;max_date_km type imrg-idate,&lt;/P&gt;&lt;P&gt;max_km type P DECIMALS 2, " Min km&lt;/P&gt;&lt;P&gt;t_max_min_km type P DECIMALS 2, " Total min_km-max_km&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;min_date_hr type imrg-idate, " Max Date&lt;/P&gt;&lt;P&gt;min_hr type P DECIMALS 2, " Max hr&lt;/P&gt;&lt;P&gt;max_date_hr type imrg-idate,&lt;/P&gt;&lt;P&gt;max_hr type P DECIMALS 2, " Min hr&lt;/P&gt;&lt;P&gt;t_max_min_hr type P DECIMALS 2, " Total min_hr-max_hr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;min_date_lit type imrg-idate,&lt;/P&gt;&lt;P&gt;min_lit type P DECIMALS 2, " Min lit&lt;/P&gt;&lt;P&gt;max_date_lit type imrg-idate,&lt;/P&gt;&lt;P&gt;max_lit type P DECIMALS 2, " Max lit&lt;/P&gt;&lt;P&gt;fuel_con type imrg-recdv, " Total_hrs / t_max_min_hr&lt;/P&gt;&lt;P&gt;fuel_con2 type P DECIMALS 2, " Total_hrs / t_max_min_hr&lt;/P&gt;&lt;P&gt;km_l type P DECIMALS 2, " t max_min_km / t_max_min_lit&lt;/P&gt;&lt;P&gt;l_p type P DECIMALS 2 , " t_max_min_lit / t_max_min_hr&lt;/P&gt;&lt;P&gt;l_p2 type P DECIMALS 2 ,&lt;/P&gt;&lt;P&gt;END OF ty_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_data TYPE TABLE OF ty_data, " internal table&lt;/P&gt;&lt;P&gt;wa_data TYPE ty_data, " work area&lt;/P&gt;&lt;P&gt;i_final TYPE TABLE OF ty_final, " internal table&lt;/P&gt;&lt;P&gt;wa_final TYPE ty_final. " work area&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.&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: p_equnr FOR equi-equnr OBLIGATORY, "no-extension no intervals,&lt;/P&gt;&lt;P&gt;p_idate FOR imrg-idate. "NO-EXTENSION NO INTERVALS OBLIGATORY,&lt;/P&gt;&lt;P&gt;"p_recdu FOR imrg-recdu." NO-EXTENSION NO INTERVALS ."default 'M3'" OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;WRITE:/55(40) ' WAGNERS INVESTMENT LIMITED '.&lt;/P&gt;&lt;P&gt;WRITE:/50(40) ' VEHICLE FUEL CONSUMPTION REPORT ' CENTERED ,&lt;/P&gt;&lt;P&gt;2 'Page', sy-pagno.&lt;/P&gt;&lt;P&gt;FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/50(40) '----&lt;/P&gt;&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt;' CENTERED .&lt;/P&gt;&lt;P&gt;FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/2 sy-datum COLOR 3, sy-uzeit .&lt;/P&gt;&lt;P&gt;"WRITE:/1 S903-SPMON ."p_yearf.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;"CENTERED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: /2 'Equipment No :'left-justified,p_equnr-low color 2 , ' to ' , p_equnr-high color 2.&lt;/P&gt;&lt;P&gt;write: /2 'Date From :', p_idate-low color 2 , ' to ' , p_idate-high color 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-PAGE.&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;*******************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select a&lt;SUB&gt;equnr d&lt;/SUB&gt;eqktx f&lt;SUB&gt;eqfnr e&lt;/SUB&gt;idate e&lt;SUB&gt;recdu e&lt;/SUB&gt;recdv&lt;/P&gt;&lt;P&gt;into table i_data&lt;/P&gt;&lt;P&gt;from equi AS a&lt;/P&gt;&lt;P&gt;inner join equz as b&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;equnr = b&lt;/SUB&gt;equnr&lt;/P&gt;&lt;P&gt;inner join iloa as f&lt;/P&gt;&lt;P&gt;on b&lt;SUB&gt;iloan = f&lt;/SUB&gt;iloan&lt;/P&gt;&lt;P&gt;inner join imptt as c&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;objnr = c&lt;/SUB&gt;mpobj&lt;/P&gt;&lt;P&gt;inner join eqkt as d&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;equnr = d&lt;/SUB&gt;equnr&lt;/P&gt;&lt;P&gt;inner join imrg as e&lt;/P&gt;&lt;P&gt;on e&lt;SUB&gt;point = c&lt;/SUB&gt;point&lt;/P&gt;&lt;P&gt;where a~equnr in p_equnr&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;e~idate in p_idate and&lt;/P&gt;&lt;P&gt;e~cancl ne 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_data into wa_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR: wa_final.&lt;/P&gt;&lt;P&gt;READ TABLE i_final into wa_final&lt;/P&gt;&lt;P&gt;with key equnr = wa_data-equnr." BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;PERFORM F_GET_MAX_DATA.&lt;/P&gt;&lt;P&gt;PERFORM F_GET_MAX_HOURS.&lt;/P&gt;&lt;P&gt;PERFORM F_GET_MAX_LIT.&lt;/P&gt;&lt;P&gt;PERFORM prepare_final_rec USING'M'. " Modify Existing Record&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;ElSE.&lt;/P&gt;&lt;P&gt;PERFORM prepare_final_rec USING'A'. " Append New Record.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_final into wa_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;on change of wa_final-equnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uline.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh i_final.&lt;/P&gt;&lt;P&gt;clear i_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_GET_MAX_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single MAX( e&lt;SUB&gt;idate ) Min( e&lt;/SUB&gt;idate ) MAX( e&lt;SUB&gt;recdv ) MIN( e&lt;/SUB&gt;recdv )&lt;/P&gt;&lt;P&gt;into corresponding fields of (wa_final-max_date_km,wa_final-min_date_km,wa_final-max_km ,wa_final-min_km)&lt;/P&gt;&lt;P&gt;from equi AS a&lt;/P&gt;&lt;P&gt;inner join equz as b&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;equnr = b&lt;/SUB&gt;equnr&lt;/P&gt;&lt;P&gt;inner join iloa as f&lt;/P&gt;&lt;P&gt;on b&lt;SUB&gt;iloan = f&lt;/SUB&gt;iloan&lt;/P&gt;&lt;P&gt;inner join imptt as c&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;objnr = c&lt;/SUB&gt;mpobj&lt;/P&gt;&lt;P&gt;inner join eqkt as d&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;equnr = d&lt;/SUB&gt;equnr&lt;/P&gt;&lt;P&gt;inner join imrg as e&lt;/P&gt;&lt;P&gt;on e&lt;SUB&gt;point = c&lt;/SUB&gt;point&lt;/P&gt;&lt;P&gt;where a~equnr in p_equnr&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;e~idate in p_idate&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;e~cancl ne 'X' and&lt;/P&gt;&lt;P&gt;e~recdu = 'KM'&lt;/P&gt;&lt;P&gt;AND a~equnr = wa_data-equnr.&lt;/P&gt;&lt;P&gt;&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;FORM F_GET_MAX_HOURS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single MAX( e&lt;SUB&gt;recdv ) MIN( e&lt;/SUB&gt;recdv )&lt;/P&gt;&lt;P&gt;into corresponding fields of (wa_final-max_hr, wa_final-min_hr)&lt;/P&gt;&lt;P&gt;from equi AS a&lt;/P&gt;&lt;P&gt;inner join equz as b&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;equnr = b&lt;/SUB&gt;equnr&lt;/P&gt;&lt;P&gt;inner join iloa as f&lt;/P&gt;&lt;P&gt;on b&lt;SUB&gt;iloan = f&lt;/SUB&gt;iloan&lt;/P&gt;&lt;P&gt;inner join imptt as c&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;objnr = c&lt;/SUB&gt;mpobj&lt;/P&gt;&lt;P&gt;inner join eqkt as d&lt;/P&gt;&lt;P&gt;on a&lt;SUB&gt;equnr = d&lt;/SUB&gt;equnr&lt;/P&gt;&lt;P&gt;inner join imrg as e&lt;/P&gt;&lt;P&gt;on e&lt;SUB&gt;point = c&lt;/SUB&gt;point&lt;/P&gt;&lt;P&gt;where a~equnr in p_equnr&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;e~idate in p_idate&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;e~cancl ne 'X' and&lt;/P&gt;&lt;P&gt;e~recdu = 'H'&lt;/P&gt;&lt;P&gt;AND a~equnr = wa_data-equnr .&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;FORM F_GET_MAX_LIT.&lt;/P&gt;&lt;P&gt;select SUM( e~recdv )&lt;/P&gt;&lt;P&gt;into corresponding fields of (wa_final-fuel_con2)&lt;/P&gt;&lt;P&gt;from equi AS a&lt;/P&gt;&lt;P&gt;inner join eqkt as b&lt;/P&gt;&lt;P&gt;on b&lt;SUB&gt;equnr = a&lt;/SUB&gt;equnr&lt;/P&gt;&lt;P&gt;inner join imptt as c&lt;/P&gt;&lt;P&gt;on c&lt;SUB&gt;mpobj = a&lt;/SUB&gt;objnr&lt;/P&gt;&lt;P&gt;inner join imrg as e&lt;/P&gt;&lt;P&gt;on e&lt;SUB&gt;point = c&lt;/SUB&gt;point&lt;/P&gt;&lt;P&gt;where a~equnr in p_equnr&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;e~idate in p_idate&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;e~cancl ne 'X' and&lt;/P&gt;&lt;P&gt;e~recdu = 'L'&lt;/P&gt;&lt;P&gt;AND a~equnr = wa_data-equnr.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM prepare_final_rec USING p_mode TYPE char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_final-t_max_min_km = wa_final-max_km - wa_final-min_km .&lt;/P&gt;&lt;P&gt;wa_final-t_max_min_hr = wa_final-max_hr - wa_final-min_hr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_final-t_max_min_km eq 0 .&lt;/P&gt;&lt;P&gt;wa_final-km_l = ( wa_final-max_km - wa_final-min_km ) / ( wa_final-fuel_con2 ) .&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;wa_final-km_l = 0.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_final-t_max_min_hr eq 0 .&lt;/P&gt;&lt;P&gt;wa_final-l_p2 = ( wa_final-fuel_con2 ) / ( wa_final-t_max_min_hr ) .&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;wa_final-l_p2 = 0.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;IF p_mode = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_final-equnr = wa_data-equnr.&lt;/P&gt;&lt;P&gt;wa_final-eqktx = wa_data-eqktx.&lt;/P&gt;&lt;P&gt;wa_final-eqfnr = wa_data-eqfnr.&lt;/P&gt;&lt;P&gt;wa_final-t_max_min_km = wa_final-min_km - wa_final-max_km .&lt;/P&gt;&lt;P&gt;wa_final-t_max_min_hr = wa_final-max_hr - wa_final-min_hr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_final-km_l = ( wa_final-max_km - wa_final-min_km ) / ( wa_final-fuel_con2 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_final-l_p2 = ( wa_final-fuel_con2 ) / ( wa_final-t_max_min_hr ) .&lt;/P&gt;&lt;P&gt;APPEND wa_final TO i_final .&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MODIFY i_final FROM wa_final&lt;/P&gt;&lt;P&gt;TRANSPORTING&lt;/P&gt;&lt;P&gt;eqfnr&lt;/P&gt;&lt;P&gt;max_date_km&lt;/P&gt;&lt;P&gt;min_date_km&lt;/P&gt;&lt;P&gt;max_date_lit&lt;/P&gt;&lt;P&gt;min_date_lit&lt;/P&gt;&lt;P&gt;max_date_hr&lt;/P&gt;&lt;P&gt;min_date_hr&lt;/P&gt;&lt;P&gt;max_km&lt;/P&gt;&lt;P&gt;min_km&lt;/P&gt;&lt;P&gt;max_hr&lt;/P&gt;&lt;P&gt;min_hr&lt;/P&gt;&lt;P&gt;t_max_min_km&lt;/P&gt;&lt;P&gt;t_max_min_hr&lt;/P&gt;&lt;P&gt;fuel_con2&lt;/P&gt;&lt;P&gt;km_l&lt;/P&gt;&lt;P&gt;l_p2&lt;/P&gt;&lt;P&gt;where equnr = wa_data-equnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " PREPARE_FINAL_REC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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;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 = 'EQUNR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Equip no'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&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;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;fieldcatalog-no_zero = '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 = 'EQKTX'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Description'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 1.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 40.&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 = 'EQFNR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Sortfield'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&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 = 'MIN_DATE_KM'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Min Date'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 3.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'MAX_DATE_KM'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Max Date'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 4.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'MIN_KM' .&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Min KM'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 5.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'MAX_KM' .&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Max KM'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 6.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'T_MAX_MIN_KM' .&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Total KM'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 7.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'MIN_HR' .&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Min Hr'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 8.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'MAX_HR' .&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Max Hr'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 9.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'T_MAX_MIN_HR' .&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Total HR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 10.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'FUEL_CON2' .&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Fuel'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 11.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'KM_L' .&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Km/L'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 12.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 12.&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 = 'L_P2' .&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Lit/HR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-tabname = 'i_final'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 13.&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;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;*&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;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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;P&gt;&lt;/P&gt;&lt;P&gt;gd_layout-totals_only = 'X'.&lt;/P&gt;&lt;P&gt;gd_layout-f2code = 'DISP'. "Sets fcode for when double&lt;/P&gt;&lt;P&gt;"click(press f2)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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;&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;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is_layout = gd_layout&lt;/P&gt;&lt;P&gt;it_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_save = 'X'&lt;/P&gt;&lt;P&gt;&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 = i_final&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 eq 0.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jun 2008 04:43:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-format-problem/m-p/4133958#M988619</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-26T04:43:13Z</dc:date>
    </item>
  </channel>
</rss>

