<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Alv interactive reporting in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053214#M722983</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What is Alv interactive reporting ? what r the events used in it?&lt;/P&gt;&lt;P&gt;Can I get a sample program.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Nov 2007 12:04:31 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-28T12:04:31Z</dc:date>
    <item>
      <title>Alv interactive reporting</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053214#M722983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What is Alv interactive reporting ? what r the events used in it?&lt;/P&gt;&lt;P&gt;Can I get a sample program.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 12:04:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053214#M722983</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T12:04:31Z</dc:date>
    </item>
    <item>
      <title>Re: Alv interactive reporting</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053215#M722984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV interactive means its same as intercative report &lt;/P&gt;&lt;P&gt;when you click on the basic list it will display a secondary list or detailed list &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;events are same as interactive report TOP-OF-page , END-OF-PAGE, START-OF-SELECTION, INITIALIZATION,AT SELECTION &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;example code to diplay a logo on the top-of-page &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZTEST_ALV_LOGO&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ztest_alv_logo.&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.&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;&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.&lt;/P&gt;&lt;P&gt;  DATA: ls_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = gt_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE gt_events&lt;/P&gt;&lt;P&gt;             WITH KEY name =  slis_ev_user_command&lt;/P&gt;&lt;P&gt;             INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE slis_ev_user_command TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO gt_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE gt_events&lt;/P&gt;&lt;P&gt;             WITH KEY name =  slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;             INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE slis_ev_top_of_page TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO gt_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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.                    "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;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.                    "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;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;P&gt;  w_fieldcat-edit = 'x'.&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 12:08:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053215#M722984</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T12:08:10Z</dc:date>
    </item>
    <item>
      <title>Re: Alv interactive reporting</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053216#M722985</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;/P&gt;&lt;P&gt;Events in alv and their FM The main events in alv and their FM and why we use these: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. SLIS_PRINT_ALV. &lt;/P&gt;&lt;P&gt;2. SLIS_T_LISTHEADER. &lt;/P&gt;&lt;P&gt;3. SLIS_T_EVENT. &lt;/P&gt;&lt;P&gt;4. SLIS_T_SORTINFO_ALV. &lt;/P&gt;&lt;P&gt;5. SLIS_T_LAYOUT_ALV. &lt;/P&gt;&lt;P&gt;6. SLIS_T_FIELDCAT_ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and in classic reports what is the sequence of events: === Events are &lt;/P&gt;&lt;P&gt;At selection-screen output. &lt;/P&gt;&lt;P&gt;Initialization. &lt;/P&gt;&lt;P&gt;At selection-screen on field &lt;/P&gt;&lt;P&gt;At selection-screen on end of field &lt;/P&gt;&lt;P&gt;At selection-screen on Radiobutton Group R1. (If you have any radio buttons) &lt;/P&gt;&lt;P&gt;At selection-screen on block b1. (If you have any blocks) &lt;/P&gt;&lt;P&gt;Start-of-selection. &lt;/P&gt;&lt;P&gt;Get node. (if the data is retreived from a logical database) &lt;/P&gt;&lt;P&gt;Get node late. (if the data is retreived from a logical database) &lt;/P&gt;&lt;P&gt;Top-of-page. (if the write statement is in the end-of-selection event or we can say that before the first write statement) &lt;/P&gt;&lt;P&gt;end-of-selection. &lt;/P&gt;&lt;P&gt;and fuction modules are &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LISTHEADER - Is used to print the header information in the ALV List. Name, Date, Time, ALV Name and other details are called as Header information. EVENT - Basically this is the FM to handle Event's. When the user needs to do some event operation like when double clicking the a particular field we need to perform some operation. These events are captured by this FM. LAYOUT - This FM is used to define the layout of the List. There are many options available in this FM to define the Layout style. FIELDCAT - These are used to populate the List header. We can change them according to our req. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User-defined Text Output Event &lt;/P&gt;&lt;P&gt;Application &lt;/P&gt;&lt;P&gt;print_end_of_list &lt;/P&gt;&lt;P&gt;Define output text to be printed at the end of the entire list &lt;/P&gt;&lt;P&gt;print_top_of_list &lt;/P&gt;&lt;P&gt;Define output text to be printed at the beginning of the entire list &lt;/P&gt;&lt;P&gt;print_end_of_page &lt;/P&gt;&lt;P&gt;Define output text to be printed at the end of each page &lt;/P&gt;&lt;P&gt;print_top_of_page &lt;/P&gt;&lt;P&gt;Define output text to be printed at the beginning of each page &lt;/P&gt;&lt;P&gt;subtotal_text &lt;/P&gt;&lt;P&gt;Define self-defined subtotals texts &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mouse-controlled Actions in the Grid Control Event &lt;/P&gt;&lt;P&gt;Application &lt;/P&gt;&lt;P&gt;button_click &lt;/P&gt;&lt;P&gt;Query a click on a pushbutton in the ALV Grid Control &lt;/P&gt;&lt;P&gt;double_click &lt;/P&gt;&lt;P&gt;Query a double-click on a cell of the ALV Grid control &lt;/P&gt;&lt;P&gt;hotspot_click &lt;/P&gt;&lt;P&gt;Query a hotspot click on columns defined for this purpose in advance &lt;/P&gt;&lt;P&gt;onDrag &lt;/P&gt;&lt;P&gt;Collect information when elements of the ALV Grid Control are dragged &lt;/P&gt;&lt;P&gt;onDrop &lt;/P&gt;&lt;P&gt;Process information when elements of the ALV Grid Control are dropped &lt;/P&gt;&lt;P&gt;onDropComplete &lt;/P&gt;&lt;P&gt;Perform final actions after successful Drag&amp;amp;Drop &lt;/P&gt;&lt;P&gt;onDropGetFlavor &lt;/P&gt;&lt;P&gt;Distinguish between options for Drag&amp;amp;Drop behavior &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Processing of Self-defined and Standard Functions Event &lt;/P&gt;&lt;P&gt;Application &lt;/P&gt;&lt;P&gt;before_user_command &lt;/P&gt;&lt;P&gt;Query self-defined and standard function codes &lt;/P&gt;&lt;P&gt;user_command &lt;/P&gt;&lt;P&gt;Query self-defined function codes &lt;/P&gt;&lt;P&gt;after_user_command &lt;/P&gt;&lt;P&gt;Query self-defined and standard function codes &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Definition of Self-defined Functions Event &lt;/P&gt;&lt;P&gt;Application &lt;/P&gt;&lt;P&gt;toolbar &lt;/P&gt;&lt;P&gt;Change, delete or add GUI elements in the toolbar &lt;/P&gt;&lt;P&gt;menu_button &lt;/P&gt;&lt;P&gt;Define menus for menu buttons in the toolbar &lt;/P&gt;&lt;P&gt;context_menu_request &lt;/P&gt;&lt;P&gt;Change context menu &lt;/P&gt;&lt;P&gt;onf1 &lt;/P&gt;&lt;P&gt;Define self-defined F1 help &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All of these can be found under type group SLIS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Events &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SLIS_EV_ITEM_DATA_EXPAND TYPE SLIS_FORMNAME VALUE 'ITEM_DATA_EXPAND', &lt;/P&gt;&lt;P&gt;SLIS_EV_REPREP_SEL_MODIFY TYPE SLIS_FORMNAME VALUE 'REPREP_SEL_MODIFY', SLIS_EV_CALLER_EXIT_AT_START TYPE SLIS_FORMNAME VALUE 'CALLER_EXIT', &lt;/P&gt;&lt;P&gt;SLIS_EV_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND', &lt;/P&gt;&lt;P&gt;SLIS_EV_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE', &lt;/P&gt;&lt;P&gt;SLIS_EV_DATA_CHANGED TYPE SLIS_FORMNAME VALUE 'DATA_CHANGED', &lt;/P&gt;&lt;P&gt;SLIS_EV_TOP_OF_COVERPAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_COVERPAGE', &lt;/P&gt;&lt;P&gt;SLIS_EV_END_OF_COVERPAGE TYPE SLIS_FORMNAME VALUE 'END_OF_COVERPAGE', &lt;/P&gt;&lt;P&gt;SLIS_EV_FOREIGN_TOP_OF_PAGE TYPE SLIS_FORMNAME &lt;/P&gt;&lt;P&gt;VALUE 'FOREIGN_TOP_OF_PAGE', SLIS_EV_FOREIGN_END_OF_PAGE TYPE SLIS_FORMNAME &lt;/P&gt;&lt;P&gt;VALUE 'FOREIGN_END_OF_PAGE', &lt;/P&gt;&lt;P&gt;SLIS_EV_PF_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET', &lt;/P&gt;&lt;P&gt;SLIS_EV_LIST_MODIFY TYPE SLIS_FORMNAME VALUE 'LIST_MODIFY', &lt;/P&gt;&lt;P&gt;SLIS_EV_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST', &lt;/P&gt;&lt;P&gt;SLIS_EV_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE', &lt;/P&gt;&lt;P&gt;SLIS_EV_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST', &lt;/P&gt;&lt;P&gt;SLIS_EV_AFTER_LINE_OUTPUT TYPE SLIS_FORMNAME VALUE 'AFTER_LINE_OUTPUT', SLIS_EV_BEFORE_LINE_OUTPUT TYPE SLIS_FORMNAME VALUE 'BEFORE_LINE_OUTPUT', &lt;/P&gt;&lt;P&gt;SLIS_EV_SUBTOTAL_TEXT TYPE SLIS_FORMNAME VALUE 'SUBTOTAL_TEXT'.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 12:09:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053216#M722985</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T12:09:10Z</dc:date>
    </item>
    <item>
      <title>Re: Alv interactive reporting</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053217#M722986</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;try this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZINT_ALV&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zint_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS:slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:mara,&lt;/P&gt;&lt;P&gt;       makt,&lt;/P&gt;&lt;P&gt;       mseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;      matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;      maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;     END OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF itab1 OCCURS 0,&lt;/P&gt;&lt;P&gt;      mblnr LIKE mseg-mblnr,&lt;/P&gt;&lt;P&gt;      menge LIKE mseg-menge,&lt;/P&gt;&lt;P&gt;      meins LIKE mseg-meins,&lt;/P&gt;&lt;P&gt;      werks LIKE mseg-werks,&lt;/P&gt;&lt;P&gt;     END OF itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:fcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;     fcat1 TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;     eve TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;     eve1 TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:t_mat LIKE mara-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:mat FOR mara-matnr.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:END OF BLOCK blk1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  PERFORM build_fcat USING fcat.&lt;/P&gt;&lt;P&gt;  PERFORM build_eve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM dis_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/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_fcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;T_FCAT     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 build_fcat USING t_fcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:wa_fcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fcat-tabname = 'ITAB'.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  wa_fcat-seltext_m = 'Material'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fcat-hotspot = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_fcat TO t_fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fcat-tabname = 'ITAB'.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  wa_fcat-seltext_m = 'Description'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat TO t_fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_fcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_eve&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_eve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:t_eve TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     i_list_type           = 0&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     et_events             = eve&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_eve&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT mara&lt;SUB&gt;matnr makt&lt;/SUB&gt;maktx INTO CORRESPONDING FIELDS OF TABLE itab&lt;/P&gt;&lt;P&gt;  FROM mara INNER JOIN makt&lt;/P&gt;&lt;P&gt;  ON mara&lt;SUB&gt;matnr = makt&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;  WHERE mara~matnr IN mat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "get_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  dis_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM dis_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     i_callback_program                = 'ZINT_ALV'&lt;/P&gt;&lt;P&gt;     i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;     i_grid_title                      = 'Interactive ALV'&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = fcat&lt;/P&gt;&lt;P&gt;     it_events                         = eve&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = itab&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;/P&gt;&lt;P&gt;ENDFORM.                    "dis_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  user_command&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;U_COM      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 user_command USING u_com LIKE sy-ucomm sel_field TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE u_com.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      READ TABLE itab INDEX sel_field-tabindex.&lt;/P&gt;&lt;P&gt;      IF sel_field-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          t_mat = itab-matnr.&lt;/P&gt;&lt;P&gt;          PERFORM build_cat1 USING fcat1.&lt;/P&gt;&lt;P&gt;          PERFORM build_eve1.&lt;/P&gt;&lt;P&gt;          PERFORM get_data1.&lt;/P&gt;&lt;P&gt;          PERFORM dis_data1.&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;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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_fcat1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;T_FCAT1    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 build_cat1 USING t_fcat1 TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:wa_fcat1 TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fcat1-tabname = 'ITAB1'.&lt;/P&gt;&lt;P&gt;  wa_fcat1-fieldname = 'MBLNR'.&lt;/P&gt;&lt;P&gt;  wa_fcat1-seltext_m = 'Material Doc.'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat1 TO t_fcat1.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fcat1-tabname = 'ITAB1'.&lt;/P&gt;&lt;P&gt;  wa_fcat1-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  wa_fcat1-seltext_m = 'Quantity'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat1 TO t_fcat1.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fcat1-tabname = 'ITAB1'.&lt;/P&gt;&lt;P&gt;  wa_fcat1-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  wa_fcat1-seltext_m = 'UOM'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat1 TO t_fcat1.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fcat1-tabname = 'ITAB1'.&lt;/P&gt;&lt;P&gt;  wa_fcat1-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;  wa_fcat1-seltext_m = 'Plant'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat1 TO t_fcat1.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_fcat1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_eve1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_eve1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = eve1&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    "build_eve1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT mblnr menge meins werks FROM mseg&lt;/P&gt;&lt;P&gt;  INTO CORRESPONDING FIELDS OF TABLE itab1&lt;/P&gt;&lt;P&gt;  WHERE matnr = t_mat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    "get_data1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  dis_data1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM dis_data1.&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                = 'ZINT_ALV'&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = fcat1&lt;/P&gt;&lt;P&gt;     it_events                         = eve1&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = itab1&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;/P&gt;&lt;P&gt;ENDFORM.                                                    "dis_data1&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 12:23:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/3053217#M722986</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T12:23:40Z</dc:date>
    </item>
  </channel>
</rss>

