<?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 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018991#M960305</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;Look following trial program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZTRIAL                                  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*report  sy-repid.&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;*ALV Formatting tables /structures&lt;/P&gt;&lt;P&gt;data: gt_fieldcat type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: gt_events type slis_t_event.&lt;/P&gt;&lt;P&gt;data: gs_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;data: gt_page type slis_t_listheader.&lt;/P&gt;&lt;P&gt;data: gs_page type slis_listheader.&lt;/P&gt;&lt;P&gt;data: v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV Formatting work area&lt;/P&gt;&lt;P&gt;data: w_fieldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: w_events type slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: gt_bsid type table of bsid with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_EVENTS CHANGING GT_EVENTS.&lt;/P&gt;&lt;P&gt;  perform build_page_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;*perform build_comment.     "top_of_page - in initialization at present&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select * from bsid into table gt_bsid up to 10 rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform populate_for_fm using '1' '3' 'BUKRS' '8' 'GT_BSID' 'Whee'.&lt;/P&gt;&lt;P&gt;*USING = Row, Column, Field name, display length, table name, heading&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*OR&lt;/P&gt;&lt;P&gt;  perform build_fieldcat.&lt;/P&gt;&lt;P&gt;  gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*top of page event does not work without I_callback_program&lt;/P&gt;&lt;P&gt;  v_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                = v_repid&lt;/P&gt;&lt;P&gt;      i_structure_name                  = 'BSID'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_background_id                   = 'ALV_BACKGROUND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_grid_title                      = 'This is the grid title'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      is_layout                         = gs_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat                       = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_events                         = gt_events[]&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab                          = gt_bsid.&lt;/P&gt;&lt;P&gt;&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;Form..............:  populate_for_fm&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description.......:  Populates fields for function module used in ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate_for_fm using    p_row&lt;/P&gt;&lt;P&gt;                                    p_col&lt;/P&gt;&lt;P&gt;                                    p_fieldname&lt;/P&gt;&lt;P&gt;                                    p_len&lt;/P&gt;&lt;P&gt;                                    p_table&lt;/P&gt;&lt;P&gt;                                    p_desc.&lt;/P&gt;&lt;P&gt;  w_fieldcat-row_pos = p_row.          "Row Position&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos = p_col.          "Column Position&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = p_fieldname.  "Field name&lt;/P&gt;&lt;P&gt;  w_fieldcat-outputlen = p_len.        "Column Lenth&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname = p_table.        "Table name&lt;/P&gt;&lt;P&gt;  w_fieldcat-reptext_ddic = p_desc.    "Field Description&lt;/P&gt;&lt;P&gt;  w_fieldcat-input = '1'.&lt;/P&gt;&lt;P&gt;  append w_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;  clear w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " populate_for_fm&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;*&amp;amp;      Form  build_events&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_EVENTS CHANGING GT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LINE_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;  CLEAR LINE_EVENT.&lt;/P&gt;&lt;P&gt;  LINE_EVENT-NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  LINE_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND LINE_EVENT TO GT_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_events&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When user command is called it uses 2 parameters. The itab&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;passed to the ALV is in whatever order it currently is on screen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Therefore, you can read table itab index rs_selfield-tabindex to get&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all data from the table. You can also check r_ucomm and code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;P&gt;  read table gt_bsid index rs_selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error checking etc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  set parameter id 'KUN' field gt_bsid-kunnr.&lt;/P&gt;&lt;P&gt;  call transaction 'XD03' and skip first screen.&lt;/P&gt;&lt;P&gt;endform.&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;*&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Your own company logo can go here if it has been saved (OAOR)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the logo is larger than the size of the headings in gt_page,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the window will not show full logo and will have a scroll bar. Thus,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it is a good idea to have a standard ALV header if you are going to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;use logos in your top of page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form top_of_page.&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 = gt_page&lt;/P&gt;&lt;P&gt;            i_logo             = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;endform.&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;*&amp;amp;      Form  build_fieldcat&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;*Many and varied fields are available here. Have a look at documentation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for FM REUSE_ALV_LIST_DISPLAY and REUSE_ALV_FIELDCATALOG_MERGE&lt;/P&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;&lt;/P&gt;&lt;P&gt;form build_fieldcat.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = 'BUDAT'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_m = 'Dte pst'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-ddictxt(1) = 'M'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Can change the position of fields if you do not want them in order&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of the DDIC or itab&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; w_fieldcat-row_pos = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_fieldcat-col_pos = '10'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append w_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;  clear w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " build_fieldcat&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;*&amp;amp;      Form  build_page_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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      gt_page is used in top of page (ALV subroutine - NOT event)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      *H = Header, S = Selection, A = Action&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;&lt;/P&gt;&lt;P&gt;form build_page_header.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Headers, Key is not printed and is irrelevant. Will not cause&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a syntax error, but is not used.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ = 'H'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Header 1'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_page-typ = 'H'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Header 2'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Selections, the Key is printed (bold). It can be anything up to 20&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;bytes. It gets printed in order of code here, not by key value.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ = 'S'.&lt;/P&gt;&lt;P&gt;  gs_page-key = 'And the winner is:'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Selection 1'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_page-typ = 'S'.&lt;/P&gt;&lt;P&gt;  gs_page-key = 'Runner up:'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Selection 2'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Action, Key is also irrelevant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ = 'A'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Action goes here'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " build_page_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward pts if usefull.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Dhan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Jun 2008 05:54:40 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-19T05:54:40Z</dc:date>
    <item>
      <title>ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018985#M960299</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;I want to use top-of-page event in an alv report.I want to display the following text at the top of the page before the data gets displayed in the alv grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Title: purchased parts forecast report&lt;/P&gt;&lt;P&gt;Plant: 1002 US UPG Wichita&lt;/P&gt;&lt;P&gt;Currency: USD&lt;/P&gt;&lt;P&gt;Period: 01.10.2007 To 31.12.2007&lt;/P&gt;&lt;P&gt;Sys Date and Time: 24.10.2007 20:01:57&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I do this in an alv report?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:47:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018985#M960299</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T05:47:04Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018986#M960300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can use the TOP of PAGE parameter of Reuse function module to display ALV grid .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And add following code to your report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page_grid.&lt;/P&gt;&lt;P&gt;*DATA: ls_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;  DATA:info1(50).&lt;/P&gt;&lt;P&gt;  REFRESH gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'H'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_line-key = 'Purchase Register Report'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE 'Exception Report' TO ls_line-info.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key = 'Material No :'.&lt;/P&gt;&lt;P&gt;  CONCATENATE s_matnr-low ' / ' s_matnr-high INTO info1.&lt;/P&gt;&lt;P&gt;  WRITE info1 TO ls_line-info.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key = 'Plant:'.&lt;/P&gt;&lt;P&gt;  WRITE s_werks-low TO ls_line-info.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO gt_list_top_of_page.&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 ls_line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_line-typ = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_line-key = 'Plant '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:info1(50).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONCATENATE s_werks-low ' / ' s_budat-high INTO info1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE info1 TO ls_line-info.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND ls_line TO gt_list_top_of_page.&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 info1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR ls_line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_line-typ = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_line-key = 'GL Acc No. '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE s_hkont-low TO ls_line-info.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; WRITE info1 TO ls_line-info.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND ls_line TO gt_list_top_of_page.&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;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LOGO = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  it_list_commentary = gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "top_of_page_grid&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:51:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018986#M960300</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T05:51:12Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018987#M960301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use in this way&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf_sub_comment_build  USING  i_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lw_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;  DATA: lv_date(40)  TYPE c,&lt;/P&gt;&lt;P&gt;        lv_pcent(45) TYPE c,&lt;/P&gt;&lt;P&gt;        lv_dat1(10)  TYPE c,&lt;/P&gt;&lt;P&gt;        lv_dat2(10)  TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lw_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  lw_line-info = 'Commission Report'.                       "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  APPEND lw_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;  CLEAR: lw_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT s_fkdat IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE : s_fkdat-low  TO lv_dat1 USING EDIT MASK '__/__/____'.&lt;/P&gt;&lt;P&gt;    WRITE : s_fkdat-high TO lv_dat2 USING EDIT MASK '__/__/____'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF s_fkdat-low IS NOT INITIAL AND s_fkdat-high IS INITIAL.&lt;/P&gt;&lt;P&gt;      lw_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;      lw_line-info = lv_dat1.&lt;/P&gt;&lt;P&gt;      lw_line-key  = 'Billing date     :'.                  "#EC NOTEXT&lt;/P&gt;&lt;P&gt;      APPEND lw_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;      CLEAR: lw_line.&lt;/P&gt;&lt;P&gt;    ELSEIF s_fkdat-low IS NOT INITIAL AND s_fkdat-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'From: ' lv_dat1 ' To ' lv_dat2 INTO lv_date SEPARATED&lt;/P&gt;&lt;P&gt;      BY ''.                                                "#EC NOTEXT&lt;/P&gt;&lt;P&gt;      lw_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;      lw_line-info = lv_date.&lt;/P&gt;&lt;P&gt;      lw_line-key  = 'Billing date     :'.                  "#EC NOTEXT&lt;/P&gt;&lt;P&gt;      APPEND lw_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;      CLEAR: lw_line.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_vkbur-low IS NOT INITIAL AND s_vkbur-high IS INITIAL.&lt;/P&gt;&lt;P&gt;    lw_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;    lw_line-info = s_vkbur-low.&lt;/P&gt;&lt;P&gt;    lw_line-key  = 'Sales Office  :'.                       "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    APPEND lw_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;    CLEAR: lw_line.&lt;/P&gt;&lt;P&gt;  ELSEIF s_vkbur-low IS NOT INITIAL AND s_vkbur-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'From: ' s_vkbur-low ' To ' s_vkbur-high INTO lv_pcent&lt;/P&gt;&lt;P&gt;    SEPARATED BY ''.                                        "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    lw_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;    lw_line-info = lv_pcent.&lt;/P&gt;&lt;P&gt;    lw_line-key  = 'Sales Office   :'.                      "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    APPEND lw_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;    CLEAR: lw_line.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:52:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018987#M960301</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T05:52:53Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018988#M960302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Check the following code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;FORM top_of_page.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = t_list_top_of_page.
ENDFORM.                    " main_title
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      it_fieldcat        = it_fieldcat
      it_events          = it_events[]
      i_callback_program = sy-repid
      is_layout          = gs_layout
    TABLES
      t_outtab           = i_output[].
  IF sy-subrc &amp;lt;&amp;gt; 0.
  ENDIF.
*  ls_line-typ  = 'S'.
*  ls_line-info = 'For the Date  :'.
*  WRITE p_date TO lv_date.
*  CONCATENATE ls_line-info lv_date INTO ls_line-info.
  APPEND ls_line TO t_list_top_of_page.

  ls_line-typ  = 'S'.
  ls_line-info = 'Total Strength of Workman:'.
  lv_total = v_total.
  CONCATENATE ls_line-info lv_total INTO ls_line-info.
  APPEND ls_line TO t_list_top_of_page.
FORM get_events .
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type     = 0
    IMPORTING
      et_events       = it_events[]
    EXCEPTIONS
      list_type_wrong = 1
      OTHERS          = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  READ TABLE it_events WITH KEY name = slis_ev_top_of_page
                                INTO it_events.
  IF sy-subrc = 0.
    MOVE t_formname_top_of_page TO it_events-form.
    APPEND it_events.
  ENDIF.

ENDFORM.                    " get_events
DATA: t_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:53:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018988#M960302</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T05:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018989#M960303</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt; You can find many more links for this . Please  go through the below code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First we nee to create one loacl class to implemment &lt;/P&gt;&lt;P&gt;event receiver handler methods.&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;A L V D E C L A R A T I O N S&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;HR originaltext="------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : dg_fieldcatalog TYPE lvc_t_fcat, " Field Catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to custom container &lt;/P&gt;&lt;P&gt;dg_custom_container TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to Grid &lt;/P&gt;&lt;P&gt;dg_grid1 TYPE REF TO cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to Control container &lt;/P&gt;&lt;P&gt;dg_mycontainer TYPE scrfname VALUE 'CONTROL',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to event receiver &lt;/P&gt;&lt;P&gt;dg_event_receiver TYPE REF TO lcl_event_receiver,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to document &lt;/P&gt;&lt;P&gt;dg_dyndoc_id TYPE REF TO cl_dd_document,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to split container &lt;/P&gt;&lt;P&gt;dg_splitter TYPE REF TO cl_gui_splitter_container,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to grid container &lt;/P&gt;&lt;P&gt;dg_parent_grid TYPE REF TO cl_gui_container,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to html container &lt;/P&gt;&lt;P&gt;dg_html_cntrl TYPE REF TO cl_gui_html_viewer,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to html container &lt;/P&gt;&lt;P&gt;dg_parent_html TYPE REF TO cl_gui_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;C L A S S D E C L A R A T I O N S &lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOCAL CLASSES: Definition &lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*===============================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_event_receiver DEFINITION.&lt;/P&gt;&lt;P&gt;PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;§ 2. Define a method for each print event you need. &lt;/P&gt;&lt;P&gt;METHODS:&lt;/P&gt;&lt;P&gt;top_of_page FOR EVENT top_of_page&lt;/P&gt;&lt;P&gt;OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;IMPORTING e_dyndoc_id,&lt;/P&gt;&lt;P&gt;handle_top_of_page&lt;/P&gt;&lt;P&gt;FOR EVENT print_top_of_page OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;handle_end_of_list&lt;/P&gt;&lt;P&gt;FOR EVENT print_end_of_list OF cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;ENDCLASS.&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;LOCAL CLASSES: Implementation &lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*===============================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class c_event_receiver (Implementation) &lt;/P&gt;&lt;P&gt;CLASS lcl_event_receiver IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;*§ 3.Implement your event handler methods. Use WRITE to provide output&lt;/P&gt;&lt;P&gt;METHOD handle_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Print Top-of-page &lt;/P&gt;&lt;P&gt;PERFORM print_top_of_page.&lt;/P&gt;&lt;P&gt;ENDMETHOD. "handle_top_of_page&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;METHOD handle_end_of_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Print End-of-list &lt;/P&gt;&lt;P&gt;PERFORM print_end_of_list.&lt;/P&gt;&lt;P&gt;ENDMETHOD. "handle_end_of_list&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;METHOD top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Top-of-page event &lt;/P&gt;&lt;P&gt;PERFORM event_top_of_page USING dg_dyndoc_id.&lt;/P&gt;&lt;P&gt;ENDMETHOD. "top_of_page&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form EVENT_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Top-of-page event&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;HR originaltext="------------------------------------------------------------------------------" /&gt;&lt;P&gt;FORM event_top_of_page USING dg_dyndoc_id TYPE REF TO cl_dd_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : dl_text(255) TYPE c, "Text&lt;/P&gt;&lt;P&gt;dl_background_id TYPE sdydo_key VALUE '/EMN/EASTMAN_LOGO',&lt;/P&gt;&lt;P&gt;dl_type.&lt;/P&gt;&lt;P&gt;DATA a_logo TYPE REF TO cl_dd_area.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create TOP-Document &lt;/P&gt;&lt;P&gt;CREATE OBJECT dg_dyndoc_id&lt;/P&gt;&lt;P&gt;EXPORTING style = 'ALV_GRID'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Populating header to top-of-page &lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;add_text&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;text = 'Primary Contact Membership Lists'(036)&lt;/P&gt;&lt;P&gt;sap_style = cl_dd_area=&amp;gt;heading.&lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;new_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : dl_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add 'Primary Contact ID' &lt;/P&gt;&lt;P&gt;dl_text = text-033.&lt;/P&gt;&lt;P&gt;PERFORM add_text USING dl_text 'H'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;add_gap&lt;/P&gt;&lt;P&gt;EXPORTING width = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR dl_text.&lt;/P&gt;&lt;P&gt;CONCATENATE dg_contact dg_ename INTO dl_text&lt;/P&gt;&lt;P&gt;SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM add_text USING dl_text 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add new-line &lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;new_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : dl_text,dt_protc.&lt;/P&gt;&lt;P&gt;READ TABLE dt_protc WITH KEY pgroup = dg_protc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add Protocol category &lt;/P&gt;&lt;P&gt;dl_text = text-034.&lt;/P&gt;&lt;P&gt;PERFORM add_text USING dl_text 'H'.&lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;add_gap&lt;/P&gt;&lt;P&gt;EXPORTING width = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR dl_text.&lt;/P&gt;&lt;P&gt;CONCATENATE dg_protc dt_protc-pgroupnam INTO dl_text&lt;/P&gt;&lt;P&gt;SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM add_text USING dl_text 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add new-line &lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;new_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : dl_text,dt_prot.&lt;/P&gt;&lt;P&gt;READ TABLE dt_prot WITH KEY pnumber = dg_prot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add Protocol Number &lt;/P&gt;&lt;P&gt;dl_text = text-035.&lt;/P&gt;&lt;P&gt;PERFORM add_text USING dl_text 'H'.&lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;add_gap&lt;/P&gt;&lt;P&gt;EXPORTING width = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR dl_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE dg_prot dt_prot-pname INTO dl_text&lt;/P&gt;&lt;P&gt;SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM add_text USING dl_text 'S'.&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 METHOD dg_dyndoc_id-&amp;gt;vertical_split&lt;/P&gt;&lt;P&gt;EXPORTING split_area = dg_dyndoc_id&lt;/P&gt;&lt;P&gt;split_width = '70%'&lt;/P&gt;&lt;P&gt;IMPORTING right_area = a_logo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD a_logo-&amp;gt;add_picture&lt;/P&gt;&lt;P&gt;EXPORTING picture_id = '/EMN/EASTMAN_LOGO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;merge_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;display_document&lt;/P&gt;&lt;P&gt;EXPORTING reuse_control = 'X'&lt;/P&gt;&lt;P&gt;parent = dg_parent_html&lt;/P&gt;&lt;P&gt;EXCEPTIONS html_display_error = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " EVENT_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;2) In PBO do below : First you need to split the container to two containers one is to palce top-of-page and other to display grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF dg_custom_container IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create fieldcatalog for structure dt_final &lt;/P&gt;&lt;P&gt;PERFORM fieldcat_init USING dg_fieldcatalog[].&lt;/P&gt;&lt;P&gt;dt_final] = dt_members[.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create a custom container control for our ALV Control &lt;/P&gt;&lt;P&gt;CREATE OBJECT dg_custom_container&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;container_name = dg_mycontainer&lt;/P&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;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;dg_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add your handling, for example &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;titel = dg_repid&lt;/P&gt;&lt;P&gt;txt2 = sy-subrc&lt;/P&gt;&lt;P&gt;txt1 = 'The control could not be created'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create TOP-Document &lt;/P&gt;&lt;P&gt;CREATE OBJECT dg_dyndoc_id&lt;/P&gt;&lt;P&gt;EXPORTING style = 'ALV_GRID'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create Splitter for custom_container &lt;/P&gt;&lt;P&gt;CREATE OBJECT dg_splitter&lt;/P&gt;&lt;P&gt;EXPORTING parent = dg_custom_container&lt;/P&gt;&lt;P&gt;rows = 2&lt;/P&gt;&lt;P&gt;columns = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Split the custom_container to two containers and move the reference &lt;/P&gt;&lt;P&gt;to receiving containers g_parent_html and g_parent_grid &lt;/P&gt;&lt;P&gt;CALL METHOD dg_splitter-&amp;gt;get_container EXPORTING&lt;/P&gt;&lt;P&gt;row = 1&lt;/P&gt;&lt;P&gt;column = 1&lt;/P&gt;&lt;P&gt;RECEIVING container = dg_parent_html.&lt;/P&gt;&lt;P&gt;CALL METHOD dg_splitter-&amp;gt;get_container EXPORTING&lt;/P&gt;&lt;P&gt;row = 2&lt;/P&gt;&lt;P&gt;column = 1&lt;/P&gt;&lt;P&gt;RECEIVING container = dg_parent_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set height for g_parent_html &lt;/P&gt;&lt;P&gt;CALL METHOD dg_splitter-&amp;gt;set_row_height&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;id = 1&lt;/P&gt;&lt;P&gt;height = 25.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create an instance of alv control &lt;/P&gt;&lt;P&gt;CREATE OBJECT dg_grid1&lt;/P&gt;&lt;P&gt;EXPORTING i_appl_events = c_x&lt;/P&gt;&lt;P&gt;i_parent = dg_parent_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Registering events &lt;/P&gt;&lt;P&gt;CREATE OBJECT dg_event_receiver.&lt;/P&gt;&lt;P&gt;SET HANDLER dg_event_receiver-&amp;gt;top_of_page FOR dg_grid1.&lt;/P&gt;&lt;P&gt;SET HANDLER dg_event_receiver-&amp;gt;handle_top_of_page FOR dg_grid1.&lt;/P&gt;&lt;P&gt;SET HANDLER dg_event_receiver-&amp;gt;handle_end_of_list FOR dg_grid1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Grid display &lt;/P&gt;&lt;P&gt;CALL METHOD dg_grid1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_structure_name = 'TP_FINAL'&lt;/P&gt;&lt;P&gt;is_layout = ds_layout&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;it_fieldcatalog = dg_fieldcatalog[]&lt;/P&gt;&lt;P&gt;it_outtab = dt_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Initializing document &lt;/P&gt;&lt;P&gt;CALL METHOD dg_dyndoc_id-&amp;gt;initialize_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Processing events &lt;/P&gt;&lt;P&gt;CALL METHOD dg_grid1-&amp;gt;list_processing_events&lt;/P&gt;&lt;P&gt;EXPORTING i_event_name = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;i_dyndoc_id = dg_dyndoc_id.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;Setting focus for created grid control &lt;/P&gt;&lt;P&gt;CALL METHOD cl_gui_control=&amp;gt;set_focus EXPORTING control = dg_grid1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:53:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018989#M960303</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T05:53:35Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018990#M960304</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u will be needed to use REUSE_ALV_COMMENTARY_WRITE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:53:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018990#M960304</guid>
      <dc:creator>former_member156446</dc:creator>
      <dc:date>2008-06-19T05:53:59Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018991#M960305</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;Look following trial program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZTRIAL                                  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*report  sy-repid.&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;*ALV Formatting tables /structures&lt;/P&gt;&lt;P&gt;data: gt_fieldcat type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: gt_events type slis_t_event.&lt;/P&gt;&lt;P&gt;data: gs_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;data: gt_page type slis_t_listheader.&lt;/P&gt;&lt;P&gt;data: gs_page type slis_listheader.&lt;/P&gt;&lt;P&gt;data: v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV Formatting work area&lt;/P&gt;&lt;P&gt;data: w_fieldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: w_events type slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: gt_bsid type table of bsid with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_EVENTS CHANGING GT_EVENTS.&lt;/P&gt;&lt;P&gt;  perform build_page_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;*perform build_comment.     "top_of_page - in initialization at present&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select * from bsid into table gt_bsid up to 10 rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform populate_for_fm using '1' '3' 'BUKRS' '8' 'GT_BSID' 'Whee'.&lt;/P&gt;&lt;P&gt;*USING = Row, Column, Field name, display length, table name, heading&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*OR&lt;/P&gt;&lt;P&gt;  perform build_fieldcat.&lt;/P&gt;&lt;P&gt;  gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*top of page event does not work without I_callback_program&lt;/P&gt;&lt;P&gt;  v_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                = v_repid&lt;/P&gt;&lt;P&gt;      i_structure_name                  = 'BSID'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_background_id                   = 'ALV_BACKGROUND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_grid_title                      = 'This is the grid title'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      is_layout                         = gs_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat                       = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_events                         = gt_events[]&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab                          = gt_bsid.&lt;/P&gt;&lt;P&gt;&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;Form..............:  populate_for_fm&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description.......:  Populates fields for function module used in ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate_for_fm using    p_row&lt;/P&gt;&lt;P&gt;                                    p_col&lt;/P&gt;&lt;P&gt;                                    p_fieldname&lt;/P&gt;&lt;P&gt;                                    p_len&lt;/P&gt;&lt;P&gt;                                    p_table&lt;/P&gt;&lt;P&gt;                                    p_desc.&lt;/P&gt;&lt;P&gt;  w_fieldcat-row_pos = p_row.          "Row Position&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos = p_col.          "Column Position&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = p_fieldname.  "Field name&lt;/P&gt;&lt;P&gt;  w_fieldcat-outputlen = p_len.        "Column Lenth&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname = p_table.        "Table name&lt;/P&gt;&lt;P&gt;  w_fieldcat-reptext_ddic = p_desc.    "Field Description&lt;/P&gt;&lt;P&gt;  w_fieldcat-input = '1'.&lt;/P&gt;&lt;P&gt;  append w_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;  clear w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " populate_for_fm&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;*&amp;amp;      Form  build_events&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_EVENTS CHANGING GT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LINE_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;  CLEAR LINE_EVENT.&lt;/P&gt;&lt;P&gt;  LINE_EVENT-NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  LINE_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND LINE_EVENT TO GT_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_events&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When user command is called it uses 2 parameters. The itab&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;passed to the ALV is in whatever order it currently is on screen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Therefore, you can read table itab index rs_selfield-tabindex to get&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all data from the table. You can also check r_ucomm and code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;P&gt;  read table gt_bsid index rs_selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error checking etc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  set parameter id 'KUN' field gt_bsid-kunnr.&lt;/P&gt;&lt;P&gt;  call transaction 'XD03' and skip first screen.&lt;/P&gt;&lt;P&gt;endform.&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;*&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Your own company logo can go here if it has been saved (OAOR)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the logo is larger than the size of the headings in gt_page,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the window will not show full logo and will have a scroll bar. Thus,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it is a good idea to have a standard ALV header if you are going to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;use logos in your top of page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form top_of_page.&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 = gt_page&lt;/P&gt;&lt;P&gt;            i_logo             = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;endform.&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;*&amp;amp;      Form  build_fieldcat&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;*Many and varied fields are available here. Have a look at documentation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for FM REUSE_ALV_LIST_DISPLAY and REUSE_ALV_FIELDCATALOG_MERGE&lt;/P&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;&lt;/P&gt;&lt;P&gt;form build_fieldcat.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = 'BUDAT'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_m = 'Dte pst'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-ddictxt(1) = 'M'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Can change the position of fields if you do not want them in order&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of the DDIC or itab&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; w_fieldcat-row_pos = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_fieldcat-col_pos = '10'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append w_fieldcat to gt_fieldcat.&lt;/P&gt;&lt;P&gt;  clear w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " build_fieldcat&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;*&amp;amp;      Form  build_page_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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      gt_page is used in top of page (ALV subroutine - NOT event)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      *H = Header, S = Selection, A = Action&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;&lt;/P&gt;&lt;P&gt;form build_page_header.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Headers, Key is not printed and is irrelevant. Will not cause&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a syntax error, but is not used.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ = 'H'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Header 1'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_page-typ = 'H'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Header 2'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Selections, the Key is printed (bold). It can be anything up to 20&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;bytes. It gets printed in order of code here, not by key value.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ = 'S'.&lt;/P&gt;&lt;P&gt;  gs_page-key = 'And the winner is:'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Selection 1'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_page-typ = 'S'.&lt;/P&gt;&lt;P&gt;  gs_page-key = 'Runner up:'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Selection 2'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Action, Key is also irrelevant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ = 'A'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Action goes here'.&lt;/P&gt;&lt;P&gt;  append gs_page to gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " build_page_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward pts if usefull.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Dhan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:54:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018991#M960305</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T05:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018992#M960306</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1)Write a subroutine as TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;2)Cal the FM REUSE_ALV_COMMENTARY_WRITE in it&lt;/P&gt;&lt;P&gt;3)Populate heading table&lt;/P&gt;&lt;P&gt;4)Pass the name of the subroutine in REUSE_ALV_GRID_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZALV_REPORT_SFLIGHT
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;---------------------------------------------------------------------*
REPORT  ZALV_REPORT_SFLIGHT.
TABLES : SFLIGHT.
TYPE-POOLS : SLIS.**INTERNAL TABLE DECLARTION
DATA : WA_SFLIGHT TYPE SFLIGHT,
       IT_SFLIGHT TYPE TABLE OF SFLIGHT.**DATA DECLARTION
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
      GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,
      GD_REPID     LIKE SY-REPID,
      G_SAVE TYPE C VALUE 'X',
      G_VARIANT TYPE DISVARIANT,
      GX_VARIANT TYPE DISVARIANT,
      G_EXIT TYPE C,
      ISPFLI TYPE TABLE OF SPFLI.* To understand the importance of the following parameter, click here.
**SELECTION SCREEN DETAILS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002 .
PARAMETERS: VARIANT LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B1.
**GETTING DEFAULT VARIANT
INITIALIZATION.
  GX_VARIANT-REPORT =SY-REPID.
  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
    EXPORTING
      I_SAVE     = G_SAVE
    CHANGING
      CS_VARIANT = GX_VARIANT
    EXCEPTIONS
      NOT_FOUND  = 2.
  IF SY-SUBRC = 0.
    VARIANT = GX_VARIANT-VARIANT.
  ENDIF.**PERFORM DECLARATIONS
START-OF-SELECTION.
  PERFORM DATA_RETRIVEL.
  PERFORM BUILD_FIELDCATALOG.
  PERFORM DISPLAY_ALV_REPORT.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_FIELDCATALOG .  FIELDCATALOG-FIELDNAME   = 'CARRID'.
  FIELDCATALOG-SELTEXT_M   = 'Airline Code'.
  FIELDCATALOG-COL_POS     = 0.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'CONNID'.
  FIELDCATALOG-SELTEXT_M   = 'Flight Connection Number'.
  FIELDCATALOG-COL_POS     = 1.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.  FIELDCATALOG-FIELDNAME   = 'FLDATE'.
  FIELDCATALOG-SELTEXT_M   = 'Flight date'.
  FIELDCATALOG-COL_POS     = 2.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.  FIELDCATALOG-FIELDNAME   = 'PRICE'.
  FIELDCATALOG-SELTEXT_M   = 'Airfare'.
  FIELDCATALOG-COL_POS     = 3.
  FIELDCATALOG-OUTPUTLEN   = 20.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
ENDFORM.                    " BUILD_FIELDCATALOG


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ALV_REPORT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_ALV_REPORT .
  GD_REPID = SY-REPID.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM      = GD_REPID
      I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'  "see FORM
      I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
      IT_FIELDCAT             = FIELDCATALOG[]
      I_SAVE                  = 'X'
      IS_VARIANT              = G_VARIANT
    TABLES
      T_OUTTAB                = IT_SFLIGHT
    EXCEPTIONS
      PROGRAM_ERROR           = 1
      OTHERS                  = 2.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    "DISPLAY_ALV_REPORT" DISPLAY_ALV_REPORT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DATA_RETRIVEL
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM DATA_RETRIVEL .
  SELECT * FROM SFLIGHT INTO TABLE IT_SFLIGHT.
ENDFORM.                    " DATA_RETRIVEL*-------------------------------------------------------------------*
* Form  TOP-OF-PAGE                                                 *
*-------------------------------------------------------------------*
* ALV Report Header                                                 *
*-------------------------------------------------------------------*
FORM TOP-OF-PAGE.
*ALV Header declarations
  DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
        WA_HEADER TYPE SLIS_LISTHEADER,
        T_LINE LIKE WA_HEADER-INFO,
        LD_LINES TYPE I,
        LD_LINESC(10) TYPE C.* Title
  WA_HEADER-TYP  = 'H'.
  WA_HEADER-INFO = 'SFLIGHT Table Report'.
  APPEND WA_HEADER TO T_HEADER.
  CLEAR WA_HEADER.* Date
  WA_HEADER-TYP  = 'S'.
  WA_HEADER-KEY = 'Date: '.
  CONCATENATE  SY-DATUM+6(2) '.'
               SY-DATUM+4(2) '.'
               SY-DATUM(4) INTO WA_HEADER-INFO.   "todays date
  APPEND WA_HEADER TO T_HEADER.
  CLEAR: WA_HEADER.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = T_HEADER.
ENDFORM.                    "top-of-page
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:56:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018992#M960306</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T05:56:23Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018993#M960307</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;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="5244562"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this link..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps you....&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;praveena.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 05:59:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018993#M960307</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T05:59:07Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018994#M960308</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;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF i_data OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vbap-vbeln,&lt;/P&gt;&lt;P&gt;       posnr LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;       matnr LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;       ws_row TYPE i,&lt;/P&gt;&lt;P&gt;       ws_char(5) TYPE c,&lt;/P&gt;&lt;P&gt;       chk,&lt;/P&gt;&lt;P&gt;       END OF i_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : report_id LIKE sy-repid,&lt;/P&gt;&lt;P&gt;       ws_title TYPE lvc_title VALUE 'A simple ALV report',&lt;/P&gt;&lt;P&gt;       i_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;       i_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       i_header TYPE slis_t_listheader.&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 vbeln&lt;/P&gt;&lt;P&gt;       posnr&lt;/P&gt;&lt;P&gt;       matnr&lt;/P&gt;&lt;P&gt;       into table i_data&lt;/P&gt;&lt;P&gt;       from vbap&lt;/P&gt;&lt;P&gt;       where vbeln &amp;lt;= '10'.&lt;/P&gt;&lt;P&gt;loop at i_data.&lt;/P&gt;&lt;P&gt;i_data-ws_row = sy-tabix.&lt;/P&gt;&lt;P&gt;i_data-ws_char = 'AAAA'.&lt;/P&gt;&lt;P&gt;modify i_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;report_id = sy-repid.&lt;/P&gt;&lt;P&gt;perform layout_init changing i_layout.&lt;/P&gt;&lt;P&gt;perform fieldcat_init changing i_fieldcat.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = report_id&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_GRID_TITLE                      = ws_title&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                         = i_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                       = i_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                         = i_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_FULLSCREEN_ADAPTER        =&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;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    t_outtab                          = i_data&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;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  layout_init&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_I_LAYOUT  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 layout_init  changing i_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;clear i_layout.&lt;/P&gt;&lt;P&gt;i_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;i_layout-edit = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " layout_init&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  fieldcat_init&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_I_FIELDCAT  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 fieldcat_init  changing p_i_fieldcat.&lt;/P&gt;&lt;P&gt;data : line_fieldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear line_fieldcat.&lt;/P&gt;&lt;P&gt;line_fieldcat-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;line_fieldcat-tabname = 'IT_DATA'.&lt;/P&gt;&lt;P&gt;line_fieldcat-seltext_m = 'sales doc.'.&lt;/P&gt;&lt;P&gt;append line_fieldcat to i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear line_fieldcat.&lt;/P&gt;&lt;P&gt;line_fieldcat-fieldname = 'POSNR'.&lt;/P&gt;&lt;P&gt;line_fieldcat-tabname = 'IT_DATA'.&lt;/P&gt;&lt;P&gt;line_fieldcat-seltext_m = 'item'.&lt;/P&gt;&lt;P&gt;append line_fieldcat to i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear line_fieldcat.&lt;/P&gt;&lt;P&gt;line_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;line_fieldcat-tabname = 'IT_DATA'.&lt;/P&gt;&lt;P&gt;line_fieldcat-seltext_m = 'material no.'.&lt;/P&gt;&lt;P&gt;append line_fieldcat to i_fieldcat.&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.                    " fieldcat_init&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;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_I_HEADER  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-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : gs_line type slis_listheader.&lt;/P&gt;&lt;P&gt;clear gs_line.&lt;/P&gt;&lt;P&gt;gs_line-typ = 'H'.&lt;/P&gt;&lt;P&gt;gs_line-info = 'purchased parts forecast report'.&lt;/P&gt;&lt;P&gt;append gs_line to i_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear gs_line.&lt;/P&gt;&lt;P&gt;gs_line-typ = 'S'.&lt;/P&gt;&lt;P&gt;gs_line-key = 'plant:'.&lt;/P&gt;&lt;P&gt;gs_line-info = '1002 US UPG Wichita'.&lt;/P&gt;&lt;P&gt;append gs_line to i_header.&lt;/P&gt;&lt;P&gt;gs_line-key = 'currency:'.&lt;/P&gt;&lt;P&gt;gs_line-info = 'USD'.&lt;/P&gt;&lt;P&gt;append gs_line to i_header.&lt;/P&gt;&lt;P&gt;gs_line-key = 'period:'.&lt;/P&gt;&lt;P&gt;gs_line-info = '01.10.2007 To 31.12.2007'.&lt;/P&gt;&lt;P&gt;append gs_line to i_header.&lt;/P&gt;&lt;P&gt;gs_line-key = 'sys date and time:'.&lt;/P&gt;&lt;P&gt;gs_line-info = '24.10.2007 20:01:57'.&lt;/P&gt;&lt;P&gt;append gs_line to i_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    it_list_commentary       = i_header&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_LOGO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_ALV_FORM               =&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 07:06:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report/m-p/4018994#M960308</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-19T07:06:00Z</dc:date>
    </item>
  </channel>
</rss>

