<?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 interactive report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670955#M616630</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;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZDEMOALVINTE
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zdemoalvinte.


TYPE-POOLS:slis.
TABLES:ekko.
SELECT-OPTIONS:s_ebeln FOR ekko-ebeln.

DATA:BEGIN OF i_ekko OCCURS 0,
     ebeln LIKE ekko-ebeln,
     aedat LIKE ekko-aedat,
     bukrs LIKE ekko-bukrs,
     END OF i_ekko.

DATA:wa_ekko LIKE i_ekko.

DATA:BEGIN OF i_ekpo OCCURS 0,
     ebeln LIKE ekpo-ebeln,
     ebelp LIKE ekpo-ebelp,
     matnr LIKE ekpo-matnr,
     END OF i_ekpo.

DATA:wa_ekpo LIKE i_ekpo.



DATA:i_fcat TYPE slis_t_fieldcat_alv.
DATA:i_events TYPE slis_t_event.
DATA:i_repid LIKE sy-repid.
DATA:i_save VALUE 'A'.
DATA:i_layout TYPE slis_layout_alv.

DATA:i_variant LIKE disvariant.
DATA:i_variant1 LIKE disvariant.

i_repid = sy-repid.

DATA:i_listheader TYPE slis_t_listheader.


DATA:i_title_ekko TYPE lvc_title VALUE 'FIRST LIST SELECTED'.
DATA:i_title_ekpo TYPE lvc_title VALUE 'SECONDARY LIST SELECTED'.



PERFORM build_fieldcat.
PERFORM call_event.
PERFORM build_events.


START-OF-SELECTION.
  PERFORM select_data TABLES i_ekko.
  PERFORM build_list USING i_listheader.
  PERFORM display_alv.



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FIELDCAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_fieldcat .

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     i_program_name               = i_repid
     i_internal_tabname           = 'I_EKKO'
*   I_STRUCTURE_NAME             =
*   I_CLIENT_NEVER_DISPLAY       = 'X'
     i_inclname                   = i_repid
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
    CHANGING
      ct_fieldcat                  = i_fcat
* EXCEPTIONS
*   INCONSISTENT_INTERFACE       = 1
*   PROGRAM_ERROR                = 2
*   OTHERS                       = 3
            .
  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.                    " BUILD_FIELDCAT




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CALL_EVENT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM call_event .

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
   EXPORTING
     i_list_type           = 0
   IMPORTING
     et_events             = i_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.


ENDFORM.                    " CALL_EVENT





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_EVENTS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_events .
  DATA:i_event TYPE slis_alv_event.

  READ TABLE i_events WITH KEY name = 'TOP_OF_PAGE'
  INTO i_event.
  IF sy-subrc = 0.
    i_event-form = 'TOP_OF_PAGE'.
    MODIFY i_events FROM i_event TRANSPORTING form
    WHERE name = i_event-name.
  ENDIF.

  CLEAR i_event.
  READ TABLE i_events WITH KEY name = 'USER_COMMAND'
  INTO i_event.
  IF sy-subrc = 0.
    i_event-form = 'USER_COMMAND'.
    MODIFY i_events FROM i_event TRANSPORTING form
    WHERE name = i_event-name.
    CLEAR i_event.
  ENDIF.
ENDFORM.                    " BUILD_EVENTS





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SELECT_DATA
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_EKKO  text
*----------------------------------------------------------------------*
FORM select_data  TABLES   p_i_ekko LIKE i_ekko[].

  SELECT ebeln aedat bukrs FROM ekko INTO TABLE p_i_ekko
  WHERE ebeln IN s_ebeln.

ENDFORM.                    " SELECT_DATA



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_LIST
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_LISTHEADER  text
*----------------------------------------------------------------------*
FORM build_list  USING    p_i_listheader TYPE slis_t_listheader.
  DATA i_line TYPE slis_listheader.

  CLEAR i_line.

  i_line-typ = 'H'.
  i_line-info = 'THIS IS A ALV REPORT'.
  APPEND i_line TO p_i_listheader.


ENDFORM.                    " BUILD_LIST




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ALV
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM display_alv .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
     i_callback_program                = i_repid
*   I_CALLBACK_PF_STATUS_SET          = ' '
     i_callback_user_command           = 'USER_COMMAND'
     i_callback_top_of_page            = 'TOP_OF_PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
     i_grid_title                      = i_title_ekko
*   I_GRID_SETTINGS                   =
     is_layout                         = i_layout
     it_fieldcat                       = i_fcat[]
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
     i_save                            = i_save
     is_variant                        = i_variant
     it_events                         = i_events
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = i_ekko
* 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

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TOP_OF_PAGE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM top_of_page.


  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary       = i_listheader
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
            .
ENDFORM.                    "TOP_OF_PAGE

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_COMMAND
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;R_UCOMM    text
*      --&amp;gt;R_SELFIELD text
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm TYPE sy-ucomm
r_selfield TYPE slis_selfield.
  CASE r_ucomm.

    WHEN '&amp;amp;IC1'.

      READ TABLE i_ekko INTO wa_ekko INDEX r_selfield-tabindex.
      PERFORM build_fieldcat_ekpo.
      PERFORM call_event_ekpo.
      PERFORM build_events_ekpo.
      PERFORM data_get TABLES i_ekpo.
      PERFORM build_list1 USING i_listheader.
      PERFORM display_alv_ekpo.
  ENDCASE.

ENDFORM.                    "USER_COMMAND




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FIELDCAT_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_fieldcat_ekpo  .

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     i_program_name               = i_repid
     i_internal_tabname           = 'I_EKPO'
*   I_STRUCTURE_NAME             =
*   I_CLIENT_NEVER_DISPLAY       = 'X'
     i_inclname                   = i_repid
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
    CHANGING
      ct_fieldcat                  = i_fcat
* EXCEPTIONS
*   INCONSISTENT_INTERFACE       = 1
*   PROGRAM_ERROR                = 2
*   OTHERS                       = 3
            .
  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.                    " BUILD_FIELDCAT_EKPO




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CALL_EVENT_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM call_event_ekpo .

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
   EXPORTING
     i_list_type           = 0
   IMPORTING
     et_events             = i_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.


ENDFORM.                    " CALL_EVENT_EKPO



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_EVENTS_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_events_ekpo .

  DATA:i_event TYPE slis_alv_event.
  READ TABLE i_events WITH KEY name = 'TOP_OF_PAGE'
  INTO i_event.
  IF sy-subrc = 0.
    i_event-form = 'TOP_OF_PAGE'.

    MODIFY i_events FROM i_event TRANSPORTING form WHERE
    name = i_event-name.
    CLEAR i_event.
  ENDIF.
ENDFORM.                    " BUILD_EVENTS_EKPO


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  F_TOP_OF_PAGE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM f_top_of_page.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary       = i_listheader
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
            .

ENDFORM.                    "F_TOP_OF_PAGE




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DATA_GET
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_EKPO  text
*----------------------------------------------------------------------*
FORM data_get  TABLES   p_i_ekpo LIKE i_ekpo[].

  SELECT ebeln ebelp matnr FROM ekpo INTO TABLE i_ekpo
  WHERE ebeln = wa_ekko-ebeln.

ENDFORM.                    " DATA_GET





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_LIST1
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_LISTHEADER  text
*----------------------------------------------------------------------*
FORM build_list1  USING    p_i_listheader TYPE slis_t_listheader.

  DATA:i_line TYPE slis_listheader.

  CLEAR i_line.
  i_line-typ = 'H'.
  i_line-info = 'THIS IS A ALV INTERACTIVE REPORT'.
  APPEND i_line TO p_i_listheader.
ENDFORM.                    " BUILD_LIST1





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ALV_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM display_alv_ekpo .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
     i_callback_program                = i_repid
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
     i_callback_top_of_page            = 'F_TOP_OF_PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
     i_grid_title                      = i_title_ekpo
*   I_GRID_SETTINGS                   =
*     is_layout                         = i_layout
     it_fieldcat                       = i_fcat[]
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
     i_save                            = i_save
     is_variant                        = i_variant1
     it_events                         = i_events
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = i_ekpo
* 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_EKPO&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ravish&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&gt;Reward if useful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 20 Aug 2007 13:43:25 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-20T13:43:25Z</dc:date>
    <item>
      <title>alv interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670953#M616628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i am trying to do alv interactive report. but i am not getting&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can any one send me logic i mean what command i have to use and how to use that commands ,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Aug 2007 13:38:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670953#M616628</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-20T13:38:21Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670954#M616629</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;check this one &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report ZALV_FIELD_GRID1&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZALV_FIELD_GRID1&lt;/P&gt;&lt;P&gt;NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools :slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF TMARA ,&lt;/P&gt;&lt;P&gt;MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;MEINS LIKE MARA-MEINS,&lt;/P&gt;&lt;P&gt;ERSDA LIKE MARA-ERSDA,&lt;/P&gt;&lt;P&gt;color(4) type c,&lt;/P&gt;&lt;P&gt;SEL type c,&lt;/P&gt;&lt;P&gt;LIGHT TYPE C,&lt;/P&gt;&lt;P&gt;END OF TMARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TMAKT,&lt;/P&gt;&lt;P&gt;MATNR LIKE MAKT-MATNR,&lt;/P&gt;&lt;P&gt;MAKTX LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;MAKTG LIKE MAKT-MAKTG,&lt;/P&gt;&lt;P&gt;SEL TYPE C,&lt;/P&gt;&lt;P&gt;COLOR(4),&lt;/P&gt;&lt;P&gt;END OF TMAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ITAB TYPE TMARA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;ITAB1 TYPE TMAKT OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat type slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;fieldcat type slis_fieldcat_alv occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_layout type slis_layout_alv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_LISTHEADER TYPE SLIS_LISTHEADER,&lt;/P&gt;&lt;P&gt;i_LISTHEADER TYPE SLIS_LISTHEADER OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V_EVENTS TYPE SLIS_T_EVENT ,&lt;/P&gt;&lt;P&gt;WA_EVENT TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I_TITLE_MARA TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED',&lt;/P&gt;&lt;P&gt;I_TITLE_MAKT TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PRINT_CONT type slis_print_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION SCREE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block screen1 with frame title TEXT-001.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT /32(35) COMM1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN ULINE /27(35).&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS MATNR FOR MARA-MATNR.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN ULINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT /30(50) COMM2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN ULINE /27(40).&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS ERSDA FOR MARA-ERSDA.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;selection-screen end of block screen1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INITIALIZATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;MATNR-low = '23'.&lt;/P&gt;&lt;P&gt;MATNR-high = '1000'.&lt;/P&gt;&lt;P&gt;MATNR-option = 'BT'.&lt;/P&gt;&lt;P&gt;MATNR-sign = 'I'.&lt;/P&gt;&lt;P&gt;APPEND MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERSDA-low = '20030124'.&lt;/P&gt;&lt;P&gt;ERSDA-high = '20050302' .&lt;/P&gt;&lt;P&gt;APPEND ERSDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FILLFIELD.&lt;/P&gt;&lt;P&gt;PERFORM FILLLAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM build_print_params.&lt;/P&gt;&lt;P&gt;PERFORM FILL_SORT.&lt;/P&gt;&lt;P&gt;PERFORM EVENT_CALL.&lt;/P&gt;&lt;P&gt;PERFORM POPULATE_EVENT.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION-SCREEN OUTPUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;comm1 ='SELECT MATERIAL NUMBER RANGE'.&lt;/P&gt;&lt;P&gt;comm2 ='SELECT MATERIAL CREATION DATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM READDATA.&lt;/P&gt;&lt;P&gt;PERFORM POPDATA.&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 READDATA&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 READDATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;INPUT = MATNR-LOW&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;OUTPUT = MATNR-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;INPUT = MATNR-HIGH&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;OUTPUT = MATNR-HIGH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT MATNR&lt;/P&gt;&lt;P&gt;ERSDA&lt;/P&gt;&lt;P&gt;MEINS&lt;/P&gt;&lt;P&gt;FROM MARA&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;TABLE ITAB&lt;/P&gt;&lt;P&gt;WHERE MATNR IN MATNR AND ERSDA IN ERSDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data id_color type i VALUE 1.&lt;/P&gt;&lt;P&gt;data id_colors(2) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF ITAB-MATNR &amp;lt; '000000000000000100'.&lt;/P&gt;&lt;P&gt;ITAB-LIGHT = '1'.&lt;/P&gt;&lt;P&gt;ELSEIF ITAB-MATNR &amp;lt; '000000000000000150' AND ITAB-MATNR &amp;gt;&lt;/P&gt;&lt;P&gt;'000000000000000100' .&lt;/P&gt;&lt;P&gt;ITAB-LIGHT = '2'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;ITAB-LIGHT = '3'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;id_color = id_color + 1.&lt;/P&gt;&lt;P&gt;if id_color &amp;gt; 7.&lt;/P&gt;&lt;P&gt;id_color = 1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;id_colors = id_color.&lt;/P&gt;&lt;P&gt;concatenate 'C' id_colors '10' into itab-color.&lt;/P&gt;&lt;P&gt;modify itab.&lt;/P&gt;&lt;P&gt;CLEAR ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;ENDFORM. " READDATA&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form FILLFIELD&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;&lt;/P&gt;&lt;P&gt;FORM FILLFIELD .&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-KEY = 'X'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = '1'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-outputlen = 20.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.&lt;/P&gt;&lt;P&gt;*WA_FIELDCAT-EMPHASIZE = 'C210'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO FIELDCAT.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = '2'.&lt;/P&gt;&lt;P&gt;*WA_FIELDCAT-EMPHASIZE = 'C510'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-outputlen = 10.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_m = 'UNIT'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO FIELDCAT.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'ERSDA'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = '3'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-outputlen = 15.&lt;/P&gt;&lt;P&gt;*WA_FIELDCAT-EDIT_MASK = 'DD.MM.YYYY'.&lt;/P&gt;&lt;P&gt;*WA_FIELDCAT-EMPHASIZE = 'C710'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_m = 'CREAT DATE'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO FIELDCAT.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM. "FILLFIELD&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Setup print parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_print_params.&lt;/P&gt;&lt;P&gt;PRINT_CONT-reserve_lines = '3'. "Lines reserved for footer&lt;/P&gt;&lt;P&gt;PRINT_CONT-no_coverpage = 'X'.&lt;/P&gt;&lt;P&gt;endform. " BUILD_PRINT_PARAMS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form POPDATA&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 POPDATA .&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 = sy-repid&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;/UL&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'USER-COMMAND'&lt;/P&gt;&lt;P&gt;I_CALLBACK_TOP_OF_PAGE = 'TOPPAGE'&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 = I_TITLE_MARA&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 = 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;/UL&gt;&lt;P&gt;IT_SORT = SORT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_DEFAULT = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SAVE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_VARIANT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_EVENTS = V_EVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IS_PRINT = PRINT_CONT&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = ITAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. " POPDATA&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form TOPPAGE&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 TOPPAGE.&lt;/P&gt;&lt;P&gt;REFRESH I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ld_lines type i,&lt;/P&gt;&lt;P&gt;ld_linesc(10) type c,&lt;/P&gt;&lt;P&gt;I_DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;I_INFO LIKE WA_LISTHEADER-INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-INFO = 'MATERIAL DETAIL'.&lt;/P&gt;&lt;P&gt;APPEND WA_LISTHEADER TO I_LISTHEADER.&lt;/P&gt;&lt;P&gt;CLEAR WA_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-TYP = 'S'.&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-KEY = 'DATE :'.&lt;/P&gt;&lt;P&gt;CONCATENATE SY-DATUM+6(2) '.'&lt;/P&gt;&lt;P&gt;SY-DATUM+4(2) '.'&lt;/P&gt;&lt;P&gt;SY-DATUM(4) INTO I_DATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-INFO = I_datE.&lt;/P&gt;&lt;P&gt;APPEND WA_LISTHEADER TO I_LISTHEADER.&lt;/P&gt;&lt;P&gt;CLEAR WA_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;describe table ITAB lines ld_lines.&lt;/P&gt;&lt;P&gt;ld_linesc = ld_lines.&lt;/P&gt;&lt;P&gt;concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc&lt;/P&gt;&lt;P&gt;into I_INFO separated by space.&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-TYP = 'A'.&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-INFO = I_INFO.&lt;/P&gt;&lt;P&gt;append WA_LISTHEADER to I_LISTHEADER.&lt;/P&gt;&lt;P&gt;clear: WA_LISTHEADER , I_INFO.&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_LISTHEADER&lt;/P&gt;&lt;P&gt;I_LOGO = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "TOPPAGE&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form FILLLAYOUT&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 FILLLAYOUT .&lt;/P&gt;&lt;P&gt;i_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;i_layout-info_fieldname = 'COLOR'.&lt;/P&gt;&lt;P&gt;i_layout-box_fieldname = 'SEL'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-lights_fieldname = 'LIGHT'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-EDIT ='X'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-no_totalline = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "FILLLAYOUT&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form FILL_SORT&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 FILL_SORT .&lt;/P&gt;&lt;P&gt;SORT-DOWN = 'X'.&lt;/P&gt;&lt;P&gt;SORT-SPOS = 1.&lt;/P&gt;&lt;P&gt;SORT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;SORT-tabname = 'MARA'.&lt;/P&gt;&lt;P&gt;APPEND SORT.&lt;/P&gt;&lt;P&gt;ENDFORM. " FILL_SORT&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form EVENT_CALL&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 EVENT_CALL .&lt;/P&gt;&lt;P&gt;DATA: I_EVENT LIKE V_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_LIST_TYPE = 0&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ET_EVENTS = V_EVENTS.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " EVENT_CALL&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form POPULATE_EVENT&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 POPULATE_EVENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE V_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE&lt;/P&gt;&lt;P&gt;INTO WA_EVENT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;move 'END_OF_PAGE' to WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-NAME.&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;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM END_OF_PAGE.&lt;/P&gt;&lt;P&gt;write: sy-uline(50).&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;write:/40 'Page:', sy-pagno .&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;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;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;CASE R_UCOMM.&lt;/P&gt;&lt;P&gt;WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;CASE RS_SELFIELD-FIELDNAME.&lt;/P&gt;&lt;P&gt;when 'MATNR'.&lt;/P&gt;&lt;P&gt;read table itab with key matnr = RS_SELFIELD-VALUE.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;PERFORM DATA_RETRIEVAL_MAKT USING RS_SELFIELD-VALUE.&lt;/P&gt;&lt;P&gt;PERFORM BUILD_FIELDCATLOG_MAKT.&lt;/P&gt;&lt;P&gt;PERFORM FILLLAYOUT_MAKT.&lt;/P&gt;&lt;P&gt;PERFORM DISPLAY_ALV_MAKT.&lt;/P&gt;&lt;P&gt;CLEAR RS_SELFIELD.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM. "user_command&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form DATA_RETRIEVAL_MAKT&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 DATA_RETRIEVAL_MAKT USING TMATNR .&lt;/P&gt;&lt;P&gt;SELECT MATNR&lt;/P&gt;&lt;P&gt;MAKTX&lt;/P&gt;&lt;P&gt;MAKTG&lt;/P&gt;&lt;P&gt;UP TO 100 ROWS&lt;/P&gt;&lt;P&gt;FROM MAKT&lt;/P&gt;&lt;P&gt;INTO TABLE ITAB1&lt;/P&gt;&lt;P&gt;WHERE SPRAS = 'EN' AND MATNR = TMATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data id_color type i VALUE 1.&lt;/P&gt;&lt;P&gt;data id_colors(2) type c.&lt;/P&gt;&lt;P&gt;id_color = id_color + 1.&lt;/P&gt;&lt;P&gt;if id_color &amp;gt; 7.&lt;/P&gt;&lt;P&gt;id_color = 1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;id_colors = id_color.&lt;/P&gt;&lt;P&gt;concatenate 'C' id_colors '10' into itab1-color.&lt;/P&gt;&lt;P&gt;modify itab1.&lt;/P&gt;&lt;P&gt;CLEAR ITAB1.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "DATA_RETRIEVAL_MAKT&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form FILLLAYOUT_MAKT&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 FILLLAYOUT_MAKT .&lt;/P&gt;&lt;P&gt;CLEAR I_LAYOUT.&lt;/P&gt;&lt;P&gt;i_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;i_layout-info_fieldname = 'COLOR'.&lt;/P&gt;&lt;P&gt;i_layout-box_fieldname = 'SEL'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-EDIT ='X'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.&lt;/P&gt;&lt;P&gt;ENDFORM. " LAYOUT_MAKT&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form BUILD_FIELDCATLOG_MAKT&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_FIELDCATLOG_MAKT .&lt;/P&gt;&lt;P&gt;REFRESH FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-KEY = 'X'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = '1'.&lt;/P&gt;&lt;P&gt;*WA_FIELDCAT-EDIT_MASK = 'DD.MM.YYYY'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-EMPHASIZE = 'C510'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO FIELDCAT.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MAKTX'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = '2'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-EMPHASIZE = 'C710'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO FIELDCAT.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MAKTG'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = '3'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-EMPHASIZE = 'C210'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO FIELDCAT.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_FIELDCATLOG_MAKT&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form DISPLAY_ALV_MAKT&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;REFRESH I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ld_lines type i,&lt;/P&gt;&lt;P&gt;ld_linesc(10) type c,&lt;/P&gt;&lt;P&gt;I_DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;I_INFO LIKE WA_LISTHEADER-INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-INFO = 'MATERIAL DESCRIPTION FOR SELECTED NUMBER'.&lt;/P&gt;&lt;P&gt;APPEND WA_LISTHEADER TO I_LISTHEADER.&lt;/P&gt;&lt;P&gt;CLEAR WA_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-TYP = 'S'.&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-KEY = 'DATE :'.&lt;/P&gt;&lt;P&gt;CONCATENATE SY-DATUM+6(2) '.'&lt;/P&gt;&lt;P&gt;SY-DATUM+4(2) '.'&lt;/P&gt;&lt;P&gt;SY-DATUM(4) INTO I_DATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-INFO = I_datE.&lt;/P&gt;&lt;P&gt;APPEND WA_LISTHEADER TO I_LISTHEADER.&lt;/P&gt;&lt;P&gt;CLEAR WA_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;describe table ITAB1 lines ld_lines.&lt;/P&gt;&lt;P&gt;ld_linesc = ld_lines.&lt;/P&gt;&lt;P&gt;concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc&lt;/P&gt;&lt;P&gt;into I_INFO separated by space.&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-TYP = 'A'.&lt;/P&gt;&lt;P&gt;WA_LISTHEADER-INFO = I_INFO.&lt;/P&gt;&lt;P&gt;append WA_LISTHEADER to I_LISTHEADER.&lt;/P&gt;&lt;P&gt;clear: WA_LISTHEADER , I_INFO.&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_LISTHEADER&lt;/P&gt;&lt;P&gt;I_LOGO = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;UL&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;ENDFORM. "TOP-OF-PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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 DISPLAY_ALV_MAKT&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 DISPLAY_ALV_MAKT .&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 = SY-REPID&lt;/P&gt;&lt;P&gt;I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'&lt;/P&gt;&lt;P&gt;I_GRID_TITLE = I_TITLE_MAKT&lt;/P&gt;&lt;P&gt;IS_LAYOUT = I_LAYOUT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = fieldcat&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = ITAB1&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " DISPLAY_ALV_MAKT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward points to all helpful answers &lt;/P&gt;&lt;P&gt;kiran.M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Aug 2007 13:40:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670954#M616629</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-20T13:40:23Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670955#M616630</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;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZDEMOALVINTE
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zdemoalvinte.


TYPE-POOLS:slis.
TABLES:ekko.
SELECT-OPTIONS:s_ebeln FOR ekko-ebeln.

DATA:BEGIN OF i_ekko OCCURS 0,
     ebeln LIKE ekko-ebeln,
     aedat LIKE ekko-aedat,
     bukrs LIKE ekko-bukrs,
     END OF i_ekko.

DATA:wa_ekko LIKE i_ekko.

DATA:BEGIN OF i_ekpo OCCURS 0,
     ebeln LIKE ekpo-ebeln,
     ebelp LIKE ekpo-ebelp,
     matnr LIKE ekpo-matnr,
     END OF i_ekpo.

DATA:wa_ekpo LIKE i_ekpo.



DATA:i_fcat TYPE slis_t_fieldcat_alv.
DATA:i_events TYPE slis_t_event.
DATA:i_repid LIKE sy-repid.
DATA:i_save VALUE 'A'.
DATA:i_layout TYPE slis_layout_alv.

DATA:i_variant LIKE disvariant.
DATA:i_variant1 LIKE disvariant.

i_repid = sy-repid.

DATA:i_listheader TYPE slis_t_listheader.


DATA:i_title_ekko TYPE lvc_title VALUE 'FIRST LIST SELECTED'.
DATA:i_title_ekpo TYPE lvc_title VALUE 'SECONDARY LIST SELECTED'.



PERFORM build_fieldcat.
PERFORM call_event.
PERFORM build_events.


START-OF-SELECTION.
  PERFORM select_data TABLES i_ekko.
  PERFORM build_list USING i_listheader.
  PERFORM display_alv.



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FIELDCAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_fieldcat .

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     i_program_name               = i_repid
     i_internal_tabname           = 'I_EKKO'
*   I_STRUCTURE_NAME             =
*   I_CLIENT_NEVER_DISPLAY       = 'X'
     i_inclname                   = i_repid
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
    CHANGING
      ct_fieldcat                  = i_fcat
* EXCEPTIONS
*   INCONSISTENT_INTERFACE       = 1
*   PROGRAM_ERROR                = 2
*   OTHERS                       = 3
            .
  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.                    " BUILD_FIELDCAT




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CALL_EVENT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM call_event .

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
   EXPORTING
     i_list_type           = 0
   IMPORTING
     et_events             = i_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.


ENDFORM.                    " CALL_EVENT





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_EVENTS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_events .
  DATA:i_event TYPE slis_alv_event.

  READ TABLE i_events WITH KEY name = 'TOP_OF_PAGE'
  INTO i_event.
  IF sy-subrc = 0.
    i_event-form = 'TOP_OF_PAGE'.
    MODIFY i_events FROM i_event TRANSPORTING form
    WHERE name = i_event-name.
  ENDIF.

  CLEAR i_event.
  READ TABLE i_events WITH KEY name = 'USER_COMMAND'
  INTO i_event.
  IF sy-subrc = 0.
    i_event-form = 'USER_COMMAND'.
    MODIFY i_events FROM i_event TRANSPORTING form
    WHERE name = i_event-name.
    CLEAR i_event.
  ENDIF.
ENDFORM.                    " BUILD_EVENTS





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SELECT_DATA
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_EKKO  text
*----------------------------------------------------------------------*
FORM select_data  TABLES   p_i_ekko LIKE i_ekko[].

  SELECT ebeln aedat bukrs FROM ekko INTO TABLE p_i_ekko
  WHERE ebeln IN s_ebeln.

ENDFORM.                    " SELECT_DATA



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_LIST
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_LISTHEADER  text
*----------------------------------------------------------------------*
FORM build_list  USING    p_i_listheader TYPE slis_t_listheader.
  DATA i_line TYPE slis_listheader.

  CLEAR i_line.

  i_line-typ = 'H'.
  i_line-info = 'THIS IS A ALV REPORT'.
  APPEND i_line TO p_i_listheader.


ENDFORM.                    " BUILD_LIST




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ALV
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM display_alv .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
     i_callback_program                = i_repid
*   I_CALLBACK_PF_STATUS_SET          = ' '
     i_callback_user_command           = 'USER_COMMAND'
     i_callback_top_of_page            = 'TOP_OF_PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
     i_grid_title                      = i_title_ekko
*   I_GRID_SETTINGS                   =
     is_layout                         = i_layout
     it_fieldcat                       = i_fcat[]
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
     i_save                            = i_save
     is_variant                        = i_variant
     it_events                         = i_events
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = i_ekko
* 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

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TOP_OF_PAGE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM top_of_page.


  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary       = i_listheader
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
            .
ENDFORM.                    "TOP_OF_PAGE

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_COMMAND
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;R_UCOMM    text
*      --&amp;gt;R_SELFIELD text
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm TYPE sy-ucomm
r_selfield TYPE slis_selfield.
  CASE r_ucomm.

    WHEN '&amp;amp;IC1'.

      READ TABLE i_ekko INTO wa_ekko INDEX r_selfield-tabindex.
      PERFORM build_fieldcat_ekpo.
      PERFORM call_event_ekpo.
      PERFORM build_events_ekpo.
      PERFORM data_get TABLES i_ekpo.
      PERFORM build_list1 USING i_listheader.
      PERFORM display_alv_ekpo.
  ENDCASE.

ENDFORM.                    "USER_COMMAND




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FIELDCAT_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_fieldcat_ekpo  .

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     i_program_name               = i_repid
     i_internal_tabname           = 'I_EKPO'
*   I_STRUCTURE_NAME             =
*   I_CLIENT_NEVER_DISPLAY       = 'X'
     i_inclname                   = i_repid
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
    CHANGING
      ct_fieldcat                  = i_fcat
* EXCEPTIONS
*   INCONSISTENT_INTERFACE       = 1
*   PROGRAM_ERROR                = 2
*   OTHERS                       = 3
            .
  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.                    " BUILD_FIELDCAT_EKPO




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CALL_EVENT_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM call_event_ekpo .

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
   EXPORTING
     i_list_type           = 0
   IMPORTING
     et_events             = i_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.


ENDFORM.                    " CALL_EVENT_EKPO



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_EVENTS_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_events_ekpo .

  DATA:i_event TYPE slis_alv_event.
  READ TABLE i_events WITH KEY name = 'TOP_OF_PAGE'
  INTO i_event.
  IF sy-subrc = 0.
    i_event-form = 'TOP_OF_PAGE'.

    MODIFY i_events FROM i_event TRANSPORTING form WHERE
    name = i_event-name.
    CLEAR i_event.
  ENDIF.
ENDFORM.                    " BUILD_EVENTS_EKPO


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  F_TOP_OF_PAGE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM f_top_of_page.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary       = i_listheader
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
            .

ENDFORM.                    "F_TOP_OF_PAGE




*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DATA_GET
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_EKPO  text
*----------------------------------------------------------------------*
FORM data_get  TABLES   p_i_ekpo LIKE i_ekpo[].

  SELECT ebeln ebelp matnr FROM ekpo INTO TABLE i_ekpo
  WHERE ebeln = wa_ekko-ebeln.

ENDFORM.                    " DATA_GET





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_LIST1
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_LISTHEADER  text
*----------------------------------------------------------------------*
FORM build_list1  USING    p_i_listheader TYPE slis_t_listheader.

  DATA:i_line TYPE slis_listheader.

  CLEAR i_line.
  i_line-typ = 'H'.
  i_line-info = 'THIS IS A ALV INTERACTIVE REPORT'.
  APPEND i_line TO p_i_listheader.
ENDFORM.                    " BUILD_LIST1





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ALV_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM display_alv_ekpo .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
     i_callback_program                = i_repid
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
     i_callback_top_of_page            = 'F_TOP_OF_PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
     i_grid_title                      = i_title_ekpo
*   I_GRID_SETTINGS                   =
*     is_layout                         = i_layout
     it_fieldcat                       = i_fcat[]
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
     i_save                            = i_save
     is_variant                        = i_variant1
     it_events                         = i_events
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = i_ekpo
* 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_EKPO&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ravish&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&gt;Reward if useful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Aug 2007 13:43:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670955#M616630</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-20T13:43:25Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670956#M616631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Ravish, Really this is very helpful coding to refer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                  Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;                                                Surender.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Oct 2007 17:03:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670956#M616631</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-10T17:03:20Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670957#M616632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Ravish, Really this is very helpful coding to refer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                  Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;                                                Surender.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Oct 2007 17:08:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670957#M616632</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-10T17:08:39Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670958#M616633</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; Check this links&lt;/P&gt;&lt;P&gt; &lt;A href="http://www.sap-img.com/abap/an-interactive-alv-report.htm" target="test_blank"&gt;http://www.sap-img.com/abap/an-interactive-alv-report.htm&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap-function.htm" target="test_blank"&gt;http://www.sap-img.com/abap-function.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Cheers&lt;/P&gt;&lt;P&gt; VJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Oct 2007 17:12:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-report/m-p/2670958#M616633</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-10T17:12:39Z</dc:date>
    </item>
  </channel>
</rss>

