<?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 reporting in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039868#M419328</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Praveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; just copy and paste this code into ur Editor and run it...&lt;/P&gt;&lt;P&gt;this is very good and simple interactive ALV report..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the code..&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; Report  ZZ_22038_22098_002                                          *&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; This is an Interactive ALV report, where on line slection we can see&lt;/P&gt;&lt;P&gt;*&amp;amp;  the secondry list&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  ZZ_22038_22098_002 NO STANDARD PAGE HEADING LINE-SIZE 650&lt;/P&gt;&lt;P&gt;MESSAGE-ID ZZ_9838                      .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;*type declaration for values from ekko&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKKO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;       AEDAT LIKE EKKO-AEDAT,&lt;/P&gt;&lt;P&gt;       BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;P&gt;       BSART LIKE EKKO-BSART,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;       END OF I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKKO TYPE I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declaration for values from ekpo&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKPO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKPO-EBELN,&lt;/P&gt;&lt;P&gt;       EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;       MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;       MENGE LIKE EKPO-MENGE,&lt;/P&gt;&lt;P&gt;       MEINS LIKE EKPO-MEINS,&lt;/P&gt;&lt;P&gt;       NETPR LIKE EKPO-NETPR,&lt;/P&gt;&lt;P&gt;       END OF I_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKPO TYPE I_EKPO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*variable for Report ID&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*declaration for fieldcatalog&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for events table where user comand or set PF status will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be defined&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declartion for layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for variant(type of display we want)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_VARIANT TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_VARIANT1 TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_SAVE(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PARAMETERS : p_var TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Title displayed when the alv list is displayed&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATLOG.&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;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_ALV_REPORT.&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_FIELDCATLOG&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;      Fieldcatalog has all the field details from ekko&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.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DATE.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-NO_OUT    = 'X'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG&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  EVENT_CALL&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;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&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;  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;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;ENDFORM.                    "EVENT_CALL&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  POPULATE_EVENT&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;     Events populated for TOP OF PAGE &amp;amp; USER COMAND&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;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_EVENT&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  data_retrieval&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;  retreiving values from the database table ekko&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.&lt;/P&gt;&lt;P&gt;  SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "data_retrieval&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_listheader&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;I_LISTHEADEtext&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_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA HLINE TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  HLINE-INFO = 'this is my first alv pgm'.&lt;/P&gt;&lt;P&gt;  HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_listheader&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_report&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_REPORT.&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;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            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;     I_GRID_TITLE                      = I_TITLE_EKKO&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;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         = ALV_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_default                         = 'ZLAY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    is_variant                        = i_variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = IT_EKKO&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;ENDFORM.                    "display_alv_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&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 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;      READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_ALV_EKPO.&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;&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_FIELDCATLOG_EKPO&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_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'LINE NO'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'UOM'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'NETPR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PRICE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG_EKPO&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  event_call_ekpo&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;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&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_EKPO.&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;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;ENDFORM.                    "event_call_ekpo&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  POPULATE_EVENT&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;       Events populated for TOP OF PAGE &amp;amp; USER COMAND&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_EKPO.&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.                    "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;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 F_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&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;*retreiving values from the database table ekko&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: HLINE1 TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;HLINE1-TYP = 'H'.&lt;/P&gt;&lt;P&gt;HLINE1-INFO = 'CHECKING PGM'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_EKPO.&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                = V_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;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_GRID_TITLE                      = I_TITLE_EKPO&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;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = IT_EKPO&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;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;***********************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points if answer was helpful,&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Tejas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Mar 2007 06:24:29 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-03-08T06:24:29Z</dc:date>
    <item>
      <title>ALV interactive reporting</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039862#M419322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello abap studs,&lt;/P&gt;&lt;P&gt;cud anyone pls tell me how to implement interactive ALVs with a realtime examples as soon as posible.its very urgent..explanation with examples wud be rewared higher points&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 05:50:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039862#M419322</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T05:50:56Z</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/2039863#M419323</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;REPORT  ZZ_22038_22098_002 NO STANDARD PAGE HEADING LINE-SIZE 650&lt;/P&gt;&lt;P&gt;MESSAGE-ID ZZ_9838                      .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;*type declaration for values from ekko&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKKO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;       AEDAT LIKE EKKO-AEDAT,&lt;/P&gt;&lt;P&gt;       BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;P&gt;       BSART LIKE EKKO-BSART,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;       END OF I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKKO TYPE I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declaration for values from ekpo&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKPO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKPO-EBELN,&lt;/P&gt;&lt;P&gt;       EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;       MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;       MENGE LIKE EKPO-MENGE,&lt;/P&gt;&lt;P&gt;       MEINS LIKE EKPO-MEINS,&lt;/P&gt;&lt;P&gt;       NETPR LIKE EKPO-NETPR,&lt;/P&gt;&lt;P&gt;       END OF I_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKPO TYPE I_EKPO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*variable for Report ID&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*declaration for fieldcatalog&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for events table where user comand or set PF status will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be defined&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declartion for layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for variant(type of display we want)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_VARIANT TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_VARIANT1 TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_SAVE(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PARAMETERS : p_var TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Title displayed when the alv list is displayed&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATLOG.&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;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_ALV_REPORT.&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_FIELDCATLOG&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;      Fieldcatalog has all the field details from ekko&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.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DATE.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-NO_OUT    = 'X'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG&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  EVENT_CALL&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;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&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;  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;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;ENDFORM.                    "EVENT_CALL&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  POPULATE_EVENT&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;     Events populated for TOP OF PAGE &amp;amp; USER COMAND&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;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_EVENT&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  data_retrieval&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;  retreiving values from the database table ekko&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.&lt;/P&gt;&lt;P&gt;  SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "data_retrieval&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_listheader&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;I_LISTHEADEtext&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_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA HLINE TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  HLINE-INFO = 'this is my first alv pgm'.&lt;/P&gt;&lt;P&gt;  HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_listheader&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_report&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_REPORT.&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;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            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;     I_GRID_TITLE                      = I_TITLE_EKKO&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;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         = ALV_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_default                         = 'ZLAY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    is_variant                        = i_variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = IT_EKKO&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;ENDFORM.                    "display_alv_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&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 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;      READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_ALV_EKPO.&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;&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_FIELDCATLOG_EKPO&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_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'LINE NO'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'UOM'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'NETPR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PRICE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG_EKPO&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  event_call_ekpo&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;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&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_EKPO.&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;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;ENDFORM.                    "event_call_ekpo&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  POPULATE_EVENT&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;       Events populated for TOP OF PAGE &amp;amp; USER COMAND&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_EKPO.&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.                    "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;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 F_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&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;*retreiving values from the database table ekko&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: HLINE1 TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;HLINE1-TYP = 'H'.&lt;/P&gt;&lt;P&gt;HLINE1-INFO = 'CHECKING PGM'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_EKPO.&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                = V_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;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_GRID_TITLE                      = I_TITLE_EKPO&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;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = IT_EKPO&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;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sreevani.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 05:53:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039863#M419323</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T05:53:08Z</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/2039864#M419324</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;execute thi program and check:&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;&lt;/P&gt;&lt;P&gt;report  zkeerthi_alv5                           .&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; tables declaration&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;tables: vbrk,vbrp.&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; type-pools declaration&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;type-pools: slis.&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; data declaration&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;data: g_repid type sy-repid.&lt;/P&gt;&lt;P&gt;data : it_fieldcat type slis_t_fieldcat_alv,  "mara&lt;/P&gt;&lt;P&gt;       wa_fieldcat type slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;       wa_layout type slis_layout_alv,&lt;/P&gt;&lt;P&gt;       wa_event  type slis_alv_event,&lt;/P&gt;&lt;P&gt;      t_event type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: v_vbeln like vbrk-vbeln,&lt;/P&gt;&lt;P&gt;      v_matnr like vbrp-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of it_vbrk occurs 0,&lt;/P&gt;&lt;P&gt;      vbeln like vbrk-vbeln,&lt;/P&gt;&lt;P&gt;      waerk like vbrk-waerk,&lt;/P&gt;&lt;P&gt;      vkorg like vbrk-vkorg,&lt;/P&gt;&lt;P&gt;      fkdat like vbrk-fkdat,&lt;/P&gt;&lt;P&gt;      bukrs like vbrk-bukrs,&lt;/P&gt;&lt;P&gt;      netwr like vbrk-netwr,&lt;/P&gt;&lt;P&gt;      end of it_vbrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of it_vbrp occurs 0,&lt;/P&gt;&lt;P&gt;      vbeln like vbrp-vbeln,&lt;/P&gt;&lt;P&gt;      posnr like vbrp-posnr,&lt;/P&gt;&lt;P&gt;      fkimg like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;      vrkme like vbrp-vrkme,&lt;/P&gt;&lt;P&gt;      netwr like vbrp-netwr,&lt;/P&gt;&lt;P&gt;      matnr like vbrp-matnr,&lt;/P&gt;&lt;P&gt;      arktx like vbrp-arktx,&lt;/P&gt;&lt;P&gt;      end of it_vbrp.&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; selection screen&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;selection-screen begin of block b with frame title text-001.&lt;/P&gt;&lt;P&gt;select-options: s_vbeln for vbrk-vbeln,&lt;/P&gt;&lt;P&gt;                s_fkdat for vbrk-fkdat,&lt;/P&gt;&lt;P&gt;                s_matnr for vbrp-matnr.&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;**INITIALIZATION.&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  s_fkdat-low = sy-datum - 200.&lt;/P&gt;&lt;P&gt;  s_fkdat-high = sy-datum.&lt;/P&gt;&lt;P&gt;  append s_fkdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;  if not s_vbeln is initial.&lt;/P&gt;&lt;P&gt;    select single vbeln from vbrk&lt;/P&gt;&lt;P&gt;           into v_vbeln&lt;/P&gt;&lt;P&gt;           where vbeln in s_vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e001(zz2).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not s_matnr is initial.&lt;/P&gt;&lt;P&gt;    select single matnr from mara&lt;/P&gt;&lt;P&gt;           into v_matnr&lt;/P&gt;&lt;P&gt;           where matnr in s_matnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e001(zz2).&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;***START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform get_data_vbrk.&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_VBRK&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;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data_vbrk .&lt;/P&gt;&lt;P&gt;select vbeln&lt;/P&gt;&lt;P&gt;         waerk&lt;/P&gt;&lt;P&gt;         vkorg&lt;/P&gt;&lt;P&gt;         fkdat&lt;/P&gt;&lt;P&gt;         bukrs&lt;/P&gt;&lt;P&gt;         netwr&lt;/P&gt;&lt;P&gt;         into table it_vbrk&lt;/P&gt;&lt;P&gt;         from vbrk&lt;/P&gt;&lt;P&gt;         where vbeln in s_vbeln&lt;/P&gt;&lt;P&gt;         and fkdat in s_fkdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_DATA_VBRK&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_VBRP&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;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data_vbrp .&lt;/P&gt;&lt;P&gt;select vbeln&lt;/P&gt;&lt;P&gt;         posnr&lt;/P&gt;&lt;P&gt;         fkimg&lt;/P&gt;&lt;P&gt;         vrkme&lt;/P&gt;&lt;P&gt;         netwr&lt;/P&gt;&lt;P&gt;         matnr&lt;/P&gt;&lt;P&gt;         arktx&lt;/P&gt;&lt;P&gt;         from vbrp&lt;/P&gt;&lt;P&gt;         into table it_vbrp&lt;/P&gt;&lt;P&gt;         where vbeln = it_vbrk-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_DATA_VBRP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;perform event_list.&lt;/P&gt;&lt;P&gt;perform get_field_catalog.&lt;/P&gt;&lt;P&gt;perform list_disp  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form list_disp .&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                = g_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_PF_STATUS_SET          = 'POPUP'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt;   I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_LAYOUT                         = WA_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    it_fieldcat                       = it_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;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;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   tables&lt;/P&gt;&lt;P&gt;     t_outtab                          = it_vbrk&lt;/P&gt;&lt;P&gt;&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; 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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " LIST_DISP&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_FIELD_CATALOG&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;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_field_catalog .&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;   i_program_name               = g_repid&lt;/P&gt;&lt;P&gt;   i_internal_tabname           = 'IT_VBRK'&lt;/P&gt;&lt;UL&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_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   i_inclname                   = g_repid&lt;/P&gt;&lt;UL&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;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fieldcat&lt;/P&gt;&lt;P&gt; exceptions&lt;/P&gt;&lt;P&gt;   inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;   program_error                = 2&lt;/P&gt;&lt;P&gt;   others                       = 3&lt;/P&gt;&lt;P&gt;          .&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_FIELD_CATALOG&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  event_list&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;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form event_list .&lt;/P&gt;&lt;P&gt;clear wa_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_event-name = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;  wa_event-form = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;  append wa_event to t_event.&lt;/P&gt;&lt;P&gt;  clear wa_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " event_list&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;  case r_ucomm.&lt;/P&gt;&lt;P&gt;    when '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      read table it_vbrk index rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;      perform get_data_vbrp.&lt;/P&gt;&lt;P&gt;      perform build_fieldcatalog_vbrp .&lt;/P&gt;&lt;P&gt;      perform display_alv_vbrp.&lt;/P&gt;&lt;P&gt;  endcase.&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  BUILD_FIELDCATALOG_VBRP&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;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_fieldcatalog_vbrp .&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;   i_program_name               = g_repid&lt;/P&gt;&lt;P&gt;   i_internal_tabname           = 'IT_VBRP'&lt;/P&gt;&lt;UL&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_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   i_inclname                   = g_repid&lt;/P&gt;&lt;UL&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;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fieldcat&lt;/P&gt;&lt;P&gt; exceptions&lt;/P&gt;&lt;P&gt;   inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;   program_error                = 2&lt;/P&gt;&lt;P&gt;   others                       = 3&lt;/P&gt;&lt;P&gt;          .&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_FIELDCATALOG_VBRP&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_VBRP&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;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form display_alv_vbrp .&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                =  g_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;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   it_fieldcat                       = it_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;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;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    t_outtab                          = it_vbrp&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;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;&lt;/P&gt;&lt;P&gt;endform.                    " DISPLAY_ALV_VBRP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;keerthi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 05:55:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039864#M419324</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T05:55:13Z</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/2039865#M419325</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;Herewith i am sending sample report. Kindly go through it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YMS_ALVINTERSAMPLE NO STANDARD PAGE HEADING LINE-SIZE 650&lt;/P&gt;&lt;P&gt;MESSAGE-ID ZZ_9838.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;*type declaration for values from ekko&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKKO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;       AEDAT LIKE EKKO-AEDAT,&lt;/P&gt;&lt;P&gt;       BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;P&gt;       BSART LIKE EKKO-BSART,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;       END OF I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKKO TYPE I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declaration for values from ekpo&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKPO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKPO-EBELN,&lt;/P&gt;&lt;P&gt;       EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;       MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;       MENGE LIKE EKPO-MENGE,&lt;/P&gt;&lt;P&gt;       MEINS LIKE EKPO-MEINS,&lt;/P&gt;&lt;P&gt;       NETPR LIKE EKPO-NETPR,&lt;/P&gt;&lt;P&gt;       END OF I_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKPO TYPE I_EKPO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*variable for Report ID&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*declaration for fieldcatalog&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for events table where user comand or set PF status will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be defined&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declartion for layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for variant(type of display we want)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_VARIANT TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_VARIANT1 TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_SAVE(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PARAMETERS : p_var TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Title displayed when the alv list is displayed&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATLOG.&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;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_ALV_REPORT.&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_FIELDCATLOG&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;      Fieldcatalog has all the field details from ekko&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.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DATE.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-NO_OUT    = 'X'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG&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  EVENT_CALL&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;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&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;  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;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;ENDFORM.                    "EVENT_CALL&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  POPULATE_EVENT&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;     Events populated for TOP OF PAGE &amp;amp; USER COMAND&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;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_EVENT&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  data_retrieval&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;  retreiving values from the database table ekko&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.&lt;/P&gt;&lt;P&gt;  SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "data_retrieval&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_listheader&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;I_LISTHEADEtext&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_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA HLINE TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  HLINE-INFO = 'this is my first alv pgm'.&lt;/P&gt;&lt;P&gt;  HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_listheader&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_report&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_REPORT.&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;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            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;     I_GRID_TITLE                      = I_TITLE_EKKO&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;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         = ALV_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_default                         = 'ZLAY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    is_variant                        = i_variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = IT_EKKO&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;ENDFORM.                    "display_alv_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&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 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;      READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_ALV_EKPO.&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;&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_FIELDCATLOG_EKPO&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_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'LINE NO'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'UOM'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'NETPR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PRICE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG_EKPO&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  event_call_ekpo&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;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&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_EKPO.&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;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;ENDFORM.                    "event_call_ekpo&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  POPULATE_EVENT&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;       Events populated for TOP OF PAGE &amp;amp; USER COMAND&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_EKPO.&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.                    "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;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 F_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&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;*retreiving values from the database table ekko&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: HLINE1 TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;HLINE1-TYP = 'H'.&lt;/P&gt;&lt;P&gt;HLINE1-INFO = 'CHECKING PGM'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_EKPO.&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                = V_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;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_GRID_TITLE                      = I_TITLE_EKPO&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;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = IT_EKPO&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;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shankar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 05:55:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039865#M419325</guid>
      <dc:creator>p291102</dc:creator>
      <dc:date>2007-03-08T05:55:34Z</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/2039866#M419326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Praveen,&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 Z_INTERACTIVE *&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 Z_INTERACTIVE no standard page heading line-count 200 message-id zp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: MARA, MAKT, MARC, MARD,T001W.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_MARA_MAKT_MARD OCCURS 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;MTART LIKE MARA-MTART,&lt;/P&gt;&lt;P&gt;MEINS LIKE MARA-MEINS,&lt;/P&gt;&lt;P&gt;MAKTX LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;LABST LIKE MARD-LABST,&lt;/P&gt;&lt;P&gt;END OF IT_MARA_MAKT_MARD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_MARC_MARD1 OCCURS 0,&lt;/P&gt;&lt;P&gt;WERKS LIKE MARC-WERKS,&lt;/P&gt;&lt;P&gt;LABST LIKE MARD-LABST,&lt;/P&gt;&lt;P&gt;NAME1 LIKE T001W-NAME1,&lt;/P&gt;&lt;P&gt;END OF IT_MARC_MARD1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_MARC_MARD OCCURS 0,&lt;/P&gt;&lt;P&gt;LGORT LIKE MARD-LGORT,&lt;/P&gt;&lt;P&gt;LABST LIKE MARD-LABST,&lt;/P&gt;&lt;P&gt;END OF IT_MARC_MARD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_matnr FOR MARA-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;REFRESH IT_MARA_MAKT_MARD.&lt;/P&gt;&lt;P&gt;SELECT MATNR MTART MEINS INTO CORRESPONDING FIELDS OF IT_MARA_MAKT_MARD FROM MARA WHERE MATNR IN s_matnr.&lt;/P&gt;&lt;P&gt;SELECT SINGLE MAKTX INTO IT_MARA_MAKT_MARD-MAKTX FROM MAKT WHERE MATNR = IT_MARA_MAKT_MARD-MATNR.&lt;/P&gt;&lt;P&gt;SELECT SUM( LABST ) INTO IT_MARA_MAKT_MARD-LABST FROM MARD WHERE MATNR = IT_MARA_MAKT_MARD-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND IT_MARA_MAKT_MARD.&lt;/P&gt;&lt;P&gt;CLEAR IT_MARA_MAKT_MARD.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE I008.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT IT_MARA_MAKT_MARD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'MATERIAL NUMBER' COLOR 2, 20 'DESCRIPTION' COLOR 2, 50 'TYPE' COLOR 2, 70 'UOM' COLOR 2, 100 'STOCK' COLOR 2.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;SKIP 4.&lt;/P&gt;&lt;P&gt;LOOP AT IT_MARA_MAKT_MARD.&lt;/P&gt;&lt;P&gt;WRITE:/ IT_MARA_MAKT_MARD-MATNR, 20 IT_MARA_MAKT_MARD-MAKTX, 50 IT_MARA_MAKT_MARD-MTART, 70 IT_MARA_MAKT_MARD-MEINS, 90 IT_MARA_MAKT_MARD-LABST.&lt;/P&gt;&lt;P&gt;HIDE: IT_MARA_MAKT_MARD-MATNR, IT_MARA_MAKT_MARD-MAKTX, IT_MARA_MAKT_MARD-MTART, IT_MARA_MAKT_MARD-MEINS, IT_MARA_MAKT_MARD-LABST.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************************************************************************&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE: SY-LSIND.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 1.&lt;/P&gt;&lt;P&gt;WINDOW STARTING AT 1 20 ENDING AT 120 120.&lt;/P&gt;&lt;P&gt;REFRESH IT_MARC_MARD1.&lt;/P&gt;&lt;P&gt;CLEAR IT_MARC_MARD1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT p&lt;SUB&gt;WERKS Q&lt;/SUB&gt;NAME1 INTO CORRESPONDING FIELDS OF IT_MARC_MARD1 FROM MARC AS p INNER JOIN T001W AS q ON p&lt;SUB&gt;WERKS = q&lt;/SUB&gt;WERKS WHERE p~MATNR = IT_MARA_MAKT_MARD-MATNR.&lt;/P&gt;&lt;P&gt;SELECT SUM( LABST ) INTO IT_MARC_MARD1-LABST FROM MARD WHERE MATNR = IT_MARA_MAKT_MARD-MATNR AND WERKS = IT_MARC_MARD1-WERKS.&lt;/P&gt;&lt;P&gt;APPEND IT_MARC_MARD1.&lt;/P&gt;&lt;P&gt;CLEAR IT_MARC_MARD1.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT IT_MARC_MARD1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'MATERIAL NUMBER' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-MATNR COLOR 4.&lt;/P&gt;&lt;P&gt;WRITE:/ 'DESCRIPTION' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-MAKTX COLOR 4.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TYPE' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-MTART COLOR 4.&lt;/P&gt;&lt;P&gt;WRITE:/ 'UNIT OF MEASUREMENT' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-MEINS COLOR 4.&lt;/P&gt;&lt;P&gt;WRITE:/ 'MATERIAL QUANTITY' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-LABST COLOR 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;SKIP 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'PLANT CODE' COLOR 2, 20 'PLANT NAME' COLOR 2, 60 'STOCK' COLOR 2.&lt;/P&gt;&lt;P&gt;LOOP AT IT_MARC_MARD1.&lt;/P&gt;&lt;P&gt;WRITE:/ IT_MARC_MARD1-WERKS COLOR 4, 20 IT_MARC_MARD1-NAME1 COLOR 4, 41 IT_MARC_MARD1-LABST.&lt;/P&gt;&lt;P&gt;HIDE: IT_MARC_MARD1-WERKS.&lt;/P&gt;&lt;P&gt;HIDE: IT_MARA_MAKT_MARD-MATNR, IT_MARA_MAKT_MARD-MAKTX, IT_MARA_MAKT_MARD-MTART, IT_MARA_MAKT_MARD-MEINS, IT_MARA_MAKT_MARD-LABST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LAST.&lt;/P&gt;&lt;P&gt;SUM.&lt;/P&gt;&lt;P&gt;WRITE:/30 'TOTAL STOCK', 60 IT_MARC_MARD1-LABST.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 2.&lt;/P&gt;&lt;P&gt;WINDOW STARTING AT 1 20 ENDING AT 120 120.&lt;/P&gt;&lt;P&gt;REFRESH IT_MARC_MARD.&lt;/P&gt;&lt;P&gt;CLEAR IT_MARC_MARD.&lt;/P&gt;&lt;P&gt;SELECT LGORT LABST INTO CORRESPONDING FIELDS OF IT_MARC_MARD FROM MARD WHERE MATNR = IT_MARA_MAKT_MARD-MATNR AND WERKS = IT_MARC_MARD1-WERKS.&lt;/P&gt;&lt;P&gt;APPEND IT_MARC_MARD.&lt;/P&gt;&lt;P&gt;CLEAR IT_MARC_MARD.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT IT_MARC_MARD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'MATERIAL NUMBER' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-MATNR COLOR 4.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;WRITE:/ 'DESCRIPTION' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-MAKTX COLOR 4.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TYPE' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-MTART COLOR 4.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;WRITE:/ 'UNIT OF MEASUREMENT' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-MEINS COLOR 4.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;WRITE:/ 'MATERIAL QUANTITY' COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE: IT_MARA_MAKT_MARD-LABST COLOR 4.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;WRITE:/ 'PLANT CODE' COLOR 2, 40 'PLANT NAME' COLOR 2.&lt;/P&gt;&lt;P&gt;WRITE:/ IT_MARC_MARD1-WERKS, 40 IT_MARC_MARD1-NAME1.&lt;/P&gt;&lt;P&gt;SKIP 3.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;WRITE:/20 'STORAGE LOCATION' COLOR 5, 50 'STOCK' COLOR 5.&lt;/P&gt;&lt;P&gt;SKIP 4.&lt;/P&gt;&lt;P&gt;LOOP AT IT_MARC_MARD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/20 IT_MARC_MARD-LGORT, 50 IT_MARC_MARD-LABST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LAST.&lt;/P&gt;&lt;P&gt;SUM.&lt;/P&gt;&lt;P&gt;WRITE:/30 'TOTAL STOCK', 60 IT_MARC_MARD-LABST.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN OTHERS.&lt;/P&gt;&lt;P&gt;WINDOW STARTING AT 1 20 ENDING AT 20 50.&lt;/P&gt;&lt;P&gt;WRITE:/40 'SORRY'.&lt;/P&gt;&lt;P&gt;&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;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'XYZ LIMITED' COLOR 2, 90 'DATE:' COLOR 2, SY-DATUM.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&lt;/P&gt;&lt;P&gt;WRITE:/ 'XYZ LIMITED' COLOR 2, 90 'DATE:' COLOR 2, SY-DATUM.&lt;/P&gt;&lt;P&gt;ULINE.&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;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1686766"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1779747"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1172693"&gt;&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&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.sapgenie.com/abap/drill_down_reports.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/drill_down_reports.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pls. reward if useful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 06:01:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039866#M419326</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T06:01:41Z</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/2039867#M419327</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;PRE&gt;&lt;CODE&gt;REPORT  z_alv_so  MESSAGE-ID z7new .

************************************************************************
*TABLE DECLARATION*
************************************************************************
TABLES: vbak ,             "Sales Document: Header Data
        vbap ,             "Sales Document: Item Data
        makt ,             "Material Descriptions
        lips .             "SD document: Delivery: Item data
************************************************************************
*DECLARATION OF TYPE-POOL*
*THIS TYPE-POOL CONTAINS THE EVENTS,
************************************************************************
TYPE-POOLS : slis.
************************************************************************
*DECLARATION OF EVENTS*
************************************************************************
DATA: i_event TYPE slis_t_event.
DATA: t_event TYPE slis_alv_event.
************************************************************************
*DECLARATION OF LIST HEADER*
************************************************************************
DATA: i_listheader TYPE slis_t_listheader.
************************************************************************
*DECLARATION OF FIELD CATALOG FOR SCREEN 1*
************************************************************************
DATA: i_fldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
************************************************************************
*DECLARATION OF FIELD CATALOG FOR SCREEN 2*
************************************************************************
DATA: i_fldcat2 TYPE slis_t_fieldcat_alv WITH HEADER LINE.
************************************************************************
*DECLARATION OF FIELD LAYOUT*
************************************************************************
DATA: i_layout TYPE slis_layout_alv.
************************************************************************
*SORTING OF OUTPUT*
************************************************************************
DATA: i_sort TYPE slis_t_sortinfo_alv.
************************************************************************
*DATA DECLARATION
************************************************************************
DATA: v_auart TYPE tvak-auart,
      v_vkorg TYPE tvko-vkorg,
      v_kunnr TYPE kna1-kunnr,
      v_matnr TYPE mara-matnr ,
      v_spart TYPE tvta-spart .

TYPES: BEGIN OF it_so ,

       vbeln TYPE vbeln_va ,          "SALES ORDER NO.
       auart TYPE auart ,             "SALES DOC. TYPE
       vkorg TYPE vkorg ,             "SALES ORG.
       spart TYPE spart ,             "DIVISION
       kunnr TYPE kunag ,             "SOLD TO PARTY
       posnr TYPE posnr_va ,          "SALES DOC. ITEM
       matnr TYPE matnr ,             "MATERIAL NO
       maktx TYPE maktx ,             "DESCRIPTION
       kwmeng TYPE kwmeng ,           "QUANTITY
       vrkme TYPE vrkme ,             "SALES UNIT
       line_color(4) TYPE c ,

       END OF it_so .

TYPES: BEGIN OF it_del ,

       vbeln TYPE vbeln_vl ,         "SALES ORDER NO.
       posnr TYPE posnr_vl ,         "SALES DOC. ITEM
       matnr TYPE matnr ,            "MATERIAL NO
       werks TYPE werks_d ,          "PLANT
       lgort TYPE lgort_d ,          "STORAGE LOCATION
       charg TYPE charg_d ,          "BATCH NO.
       lfimg TYPE lfimg ,            "ACTUAL DELIVERY QTY.
       vrkme TYPE vrkme ,            "SALES UNIT

       END OF it_del .

TYPES: BEGIN OF type_vbfa ,

      vbelv TYPE vbeln_von , "Preceding sales and distribution document
      posnv TYPE posnr_von , "Preceding item of an SD document
      vbeln TYPE vbeln_nach, "Subsequent sales and distribution document
      posnn TYPE posnr_nach, "Document category of subsequent document
      vbtyp_n TYPE vbtyp_n ,

      END OF type_vbfa .

DATA: it_so1 TYPE STANDARD TABLE OF it_so ,
      it_del1 TYPE STANDARD TABLE OF it_del ,
      it_vbfa TYPE STANDARD TABLE OF type_vbfa,
      it_del_ful TYPE STANDARD TABLE OF it_del.

DATA: wa_so TYPE it_so ,
      wa_del TYPE it_del ,
      wa_vbfa TYPE type_vbfa,
      wa_it_del_ful TYPE it_del.

DATA:  i_title_vbfa TYPE lvc_title VALUE 'SALES ORDER LIST DISPLAYED'.
DATA:  i_title_vbpa TYPE lvc_title VALUE
'DELIVERY DETAILS DISPLAYED AGAINST GIVEN SALES ORDER'.


************************************************************************
*SELECTION SCREEN                                                      *
************************************************************************

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-004 .
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln ,
                s_auart FOR v_auart ,
                s_vkorg FOR v_vkorg ,
                s_spart FOR v_spart ,
                s_kunnr FOR v_kunnr ,
                s_matnr FOR v_matnr .
SELECTION-SCREEN END OF BLOCK blk1 .

************************************************************************
*AT SELECTION SCREEN                                                   *
************************************************************************
AT SELECTION-SCREEN.

  SELECT SINGLE vbeln
                 FROM vbak INTO vbak-vbeln
                 WHERE vbeln IN s_vbeln.

  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE e202.
  ENDIF.
************************************************************************
*START OF SELECTION                                                    *
************************************************************************
START-OF-SELECTION .

  PERFORM data_select.
  PERFORM t_sort USING i_sort .
  PERFORM event_cat USING i_event .
  PERFORM fld_cat USING i_fldcat[] .
  PERFORM t_layout USING i_layout .
  PERFORM fld_cat2 USING i_fldcat2[] .
  PERFORM call_alv.
************************************************************************
* DATA SELECT                                                          *
************************************************************************

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DATA_SELECT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM data_select .

  REFRESH: it_vbfa, it_so1, it_del_ful ,it_del1 .
  BREAK-POINT.
  SELECT
        a~vbeln
        a~auart
        a~vkorg
        a~spart
        a~kunnr
        b~posnr
        b~matnr
        c~maktx
        b~kwmeng
        b~vrkme
        INTO TABLE it_so1 FROM vbak AS a
              JOIN vbap AS b ON b~vbeln = a~vbeln
              JOIN makt AS c ON c~matnr = b~matnr
              AND c~spras = sy-langu
              WHERE a~vbeln IN s_vbeln .

************************************************************************
* COLURING DISPLAY                                                     *
************************************************************************

  DATA: ld_color(1) TYPE  c .
  LOOP AT it_so1 INTO wa_so.
* Populate color variable with colour properties
* Char 1 = C (This is a color property)
* Char 2 = 3 (Color codes: 1 - 7)
* Char 3 = Intensified on/off ( 1 or 0 )
* Char 4 = Inverse display on/off ( 1 or 0 )
*           i.e. wa_ekko-line_color = 'C410'
    ld_color = ld_color + 1.

* Only 7 colours so need to reset color value
    IF ld_color = 8.
      ld_color = 1.
    ENDIF.
    CONCATENATE 'C' ld_color '10' INTO wa_so-line_color.
*  wa_ekko-line_color = 'C410'.
    MODIFY it_so1 FROM wa_so.
  ENDLOOP .

  IF sy-subrc = 0.

    SELECT vbelv
           posnv
           vbeln
           posnn
           vbtyp_n
           INTO TABLE it_vbfa
           FROM vbfa
           FOR ALL ENTRIES IN it_so1
           WHERE vbelv = it_so1-vbeln
           AND   posnn = it_so1-posnr
           AND vbtyp_n ='J' .

    IF sy-subrc = 0.

      SELECT vbeln
             posnr
             matnr
             werks
             lgort
             charg
             lfimg
             vrkme
             FROM lips INTO TABLE it_del_ful
             FOR ALL ENTRIES IN it_vbfa
             WHERE vbeln = it_vbfa-vbeln
             AND   posnr = it_vbfa-posnn.

    ENDIF.

  ENDIF.

ENDFORM.                    " DATA_SELECT

***********************************************************************
**************** EVENT CATALOG ****************************************
***********************************************************************

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  EVENT_CAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_EVENT  text
*----------------------------------------------------------------------*

FORM event_cat  USING    p_i_event TYPE slis_t_event .

  REFRESH p_i_event .

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
* EXPORTING
*   I_LIST_TYPE           = 0
   IMPORTING
      et_events             = p_i_event
* EXCEPTIONS
*   LIST_TYPE_WRONG       = 1
*   OTHERS                = 2
            .
*  IF sy-subrc &amp;lt;&amp;gt; 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*  ENDIF.

  READ TABLE p_i_event WITH KEY name = slis_ev_top_of_page INTO t_event.

  IF sy-subrc = 0.

    MOVE 'TOP_OF_PAGE' TO t_event-form.
    MODIFY p_i_event FROM t_event INDEX sy-tabix TRANSPORTING form.

  ENDIF.

  CLEAR t_event .

ENDFORM.                    " EVENT_CAT


**********************************************************************
**********FORM FOR EVENT TOP_OF_PAGE**********************************
**********************************************************************

FORM top_of_page .

  REFRESH i_listheader.
  DATA: t_header TYPE slis_listheader.
  DATA: v_text(50).

  WRITE sy-datum TO v_text.
  CLEAR t_header.
  t_header-typ = 'S'.
  t_header-key = 'Date'.
  t_header-info = v_text.
  APPEND t_header TO i_listheader.

  CLEAR t_header.
  CLEAR v_text.

*  WRITE:  'SALES ORDER REPORT  ' TO v_text .

*  t_header-typ = 'S'.
*  t_header-key = 'TITLE'.
*  t_header-info = v_text.
*  APPEND t_header TO i_listheader.


  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = i_listheader
      I_LOGO             = 'ENJOYSAP_LOGO' .
*   I_END_OF_LIST_GRID       =

ENDFORM.                    "TOP_OF_PAGE

************************************************************************
********  FIRST ALV GRID DISPLAY ***************************************
************************************************************************

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CALL_ALV
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*

FORM call_alv .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

   EXPORTING
     i_callback_program                = sy-repid
*    I_CALLBACK_PF_STATUS_SET          = 'SET_PF_STATUS'
     i_callback_user_command           = 'USER_COMMAND1'
     i_callback_top_of_page            = 'TOP_OF_PAGE'
*     I_BACKGROUND_ID                   = 'ALV_BACKGROUND'
     i_grid_title                      = i_title_vbfa
     is_layout                         = i_layout
     it_fieldcat                       = i_fldcat[]
     it_sort                           = i_sort
     it_events                         = i_event
    TABLES
     t_outtab                          = it_so1
            .
*  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_ALV
***********************************************************************
************** FIRST FIELDCATALOG *************************************
***********************************************************************
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FLD_CAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_FLDCAT[]  text
*----------------------------------------------------------------------*

FORM fld_cat  USING    p_i_fldcat TYPE slis_t_fieldcat_alv.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'."TABLE NAME
  i_fldcat-seltext_m   = 'SALES ORDER NO.'.
  i_fldcat-col_pos     = 1.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.

  APPEND i_fldcat.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'AUART'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'."TABLE NAME
  i_fldcat-seltext_m   = 'SALES DOC. TYPE'.
  i_fldcat-col_pos     = 2.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 15.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.

  APPEND i_fldcat.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'VKORG'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'.
  i_fldcat-seltext_m   = 'SALES ORG.'.
  i_fldcat-col_pos     = 3.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 12.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.
  APPEND i_fldcat.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'SPART'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'.
  i_fldcat-seltext_m   = 'DIVISION'.
  i_fldcat-col_pos     = 4.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 10.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.
  APPEND i_fldcat.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'KUNNR'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'.
  i_fldcat-seltext_m   = 'SOLD TO PARTY'.
  i_fldcat-col_pos     = 5.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 15.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.
  APPEND i_fldcat.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'.
  i_fldcat-seltext_m   = 'SALES DOC. ITEM'.
  i_fldcat-col_pos     = 6.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 17.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.
  APPEND i_fldcat.

  CLEAR i_fldcat.

  i_fldcat-fieldname   = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'.
  i_fldcat-seltext_m   = 'MATERIAL NO.'.
  i_fldcat-col_pos     = 7.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.
  APPEND i_fldcat.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'MAKTX'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'.
  i_fldcat-seltext_m   = 'DESCRIPTION'.
  i_fldcat-col_pos     = 8.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.
  APPEND i_fldcat.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'KWMENG'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'.
  i_fldcat-seltext_m   = 'QUANTITY'.
  i_fldcat-col_pos     = 9.        " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 15.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-do_sum    = 'X'.        " For doing "SUM"
  i_fldcat-just(1)     = 'C'.
  APPEND i_fldcat.

  CLEAR i_fldcat.
  i_fldcat-fieldname   = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat-tabname     = 'IT_SO1'.
  i_fldcat-seltext_m   = 'SALES UNIT'.
  i_fldcat-col_pos     = 10.       " POSITION OF THE COLUMN.
  i_fldcat-outputlen   = 10.       " SET THE OUTPUT LENGTH.
  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat-just(1)     = 'C'.
  APPEND i_fldcat.

ENDFORM.                    " FLD_CAT

***********************************************************************
****************** ALV SORTING  ***************************************
***********************************************************************
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SORT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_SORT  text
*----------------------------------------------------------------------*

FORM t_sort  USING    p_i_sort TYPE slis_t_sortinfo_alv .

  DATA: i_sort TYPE slis_sortinfo_alv .
  REFRESH p_i_sort .

  CLEAR i_sort.
  i_sort-spos = 1.
  i_sort-tabname = 'IT_SO1'.
  i_sort-fieldname = 'VBELN'.
  i_sort-up = 'X'.
  i_sort-subtot = 'X'.
  i_sort-group = '*'.
  APPEND i_sort TO p_i_sort.

ENDFORM.                    " SORT

*FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.
*  SET PF-STATUS 'ZSTANDARD'.
*ENDFORM. "Set_pf_status

***********************************************************************
***********FORM FOR EVENT USER_COMMAND1********************************
***********************************************************************

FORM user_command1 USING r_ucomm LIKE sy-ucomm
                         rs_selfield TYPE slis_selfield.

*CASE R_UCOMM .
*    WHEN '&amp;amp;IC1' .
*
*    IF rs_selfield-FIELDNAME = 'VBELN' .
*
*    ENDIF .
*
* WHEN OTHERS .
*
* ENDCASE .

  CLEAR wa_so.

  REFRESH: it_del1 .

  IF r_ucomm = '&amp;amp;IC1' AND rs_selfield-fieldname = 'VBELN' AND
  rs_selfield-value IS NOT INITIAL.

    READ TABLE it_so1 INTO wa_so INDEX rs_selfield-tabindex.

    IF sy-subrc = 0.

      LOOP AT it_vbfa INTO wa_vbfa WHERE vbelv = wa_so-vbeln
                                   AND   posnv = wa_so-posnr.
        READ TABLE it_del_ful INTO wa_it_del_ful
             WITH KEY vbeln = wa_vbfa-vbelv
                      posnr = wa_vbfa-posnn.

        IF sy-subrc = 0.

          CLEAR wa_del.
          MOVE wa_it_del_ful TO wa_del.
          APPEND wa_del TO it_del1.

        ENDIF.

      ENDLOOP.
    ENDIF.
  ENDIF.

*********************************************************************
********* SECOND ALV GRID DISPLAY ***********************************
*********************************************************************
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

   EXPORTING
    i_callback_program                = sy-repid
*   I_CALLBACK_PF_STATUS_SET          = 'SET_PF_STATUS'
    i_callback_user_command           = 'USER_COMMAND2'
    i_callback_top_of_page            = 'TOP_OF_PAGE'
*    I_BACKGROUND_ID                   = 'ALV_BACKGROUND'
     i_grid_title                      = i_title_vbpa
    it_fieldcat                       = i_fldcat2[]
    it_sort                           = i_sort
    TABLES
    t_outtab                          = it_del_ful
            .
*  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 .                    "USER_COMMAND1
***********************************************************************
********** FORM FOR EVENT USER_COMMAND 2 ******************************
***********************************************************************

FORM user_command2 USING r_ucomm LIKE sy-ucomm
                         rs_selfield TYPE slis_selfield.

  CLEAR wa_so.

  REFRESH: it_del1 .

  IF r_ucomm = '&amp;amp;IC1' AND rs_selfield-fieldname = 'VBELN' AND
  rs_selfield-value IS NOT INITIAL.

    READ TABLE it_so1 INTO wa_so INDEX rs_selfield-tabindex.

*    IF SY-SUBRC = 0.
*
*       LOOP AT it_vbfa INTO wa_vbfa WHERE vbelv = WA_SO-vbeln
*                                    AND   posnv = WA_SO-posnr.
    READ TABLE it_del_ful INTO wa_it_del_ful
         WITH KEY vbeln = rs_selfield-value
                  posnr = wa_vbfa-posnn.

    IF rs_selfield-fieldname = 'VBELN'.

      SET PARAMETER ID 'VL' FIELD wa_vbfa-vbeln .
      CALL TRANSACTION 'VL03' AND SKIP FIRST SCREEN.

    ENDIF .

*       ENDLOOP.
*    ENDIF.
  ENDIF.
ENDFORM .                    "USER_COMMAND2

************************************************************************
********* SECOND FIELDCATALOG ******************************************
************************************************************************

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FLD_CAT2
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_FLDCAT2[]  text
*----------------------------------------------------------------------*

FORM fld_cat2  USING    p_i_fldcat2 TYPE slis_t_fieldcat_alv .

  CLEAR i_fldcat2.
  i_fldcat2-fieldname   = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat2-tabname     = 'IT_DEL_FUL'."TABLE NAME
  i_fldcat2-seltext_m   = 'DELIVERY NO.'.
  i_fldcat2-col_pos     = 1.        " POSITION OF THE COLUMN.
  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat2-hotspot     = 'X'.
  i_fldcat2-just(1)     = 'C'.
  APPEND i_fldcat2.

  CLEAR i_fldcat2.
  i_fldcat2-fieldname   = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat2-seltext_m   = 'DELIVERY ITEM'.
  i_fldcat2-col_pos     = 2.        " POSITION OF THE COLUMN.
  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat2-just(1)     = 'C'.
  APPEND i_fldcat2.

  CLEAR i_fldcat2.
  i_fldcat2-fieldname   = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat2-seltext_m   = 'MATERIAL NO.'.
  i_fldcat2-col_pos     = 3.        " POSITION OF THE COLUMN.
  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat2-just(1)     = 'C'.
  APPEND i_fldcat2.

  CLEAR i_fldcat2.
  i_fldcat2-fieldname   = 'WERKS'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat2-seltext_m   = 'PLANT.'.
  i_fldcat2-col_pos     = 4.        " POSITION OF THE COLUMN.
  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat2-just(1)     = 'C'.
  APPEND i_fldcat2.

  CLEAR i_fldcat2.
  i_fldcat2-fieldname   = 'LGORT'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat2-seltext_m   = 'ST. LOCATION'.
  i_fldcat2-col_pos     = 5.        " POSITION OF THE COLUMN.
  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat2-just(1)     = 'C'.
  APPEND i_fldcat2.

  CLEAR i_fldcat2.
  i_fldcat2-fieldname   = 'CHARG'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat2-seltext_m   = 'BATCH NO.'.
  i_fldcat2-col_pos     = 6.        " POSITION OF THE COLUMN.
  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat2-just(1)     = 'C'.
  APPEND i_fldcat2.

  CLEAR i_fldcat2.
  i_fldcat2-fieldname   = 'LFIMG'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat2-seltext_m   = 'ACT. DEL. QTY.'.
  i_fldcat2-col_pos     = 7.        " POSITION OF THE COLUMN.
  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat2-just(1)     = 'C'.
  APPEND i_fldcat2.

  CLEAR i_fldcat2.
  i_fldcat2-fieldname   = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED
  i_fldcat2-seltext_m   = 'SALES UNIT.'.
  i_fldcat2-col_pos     = 8.        " POSITION OF THE COLUMN.
  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.
  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.
  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT
  "SCROLLABLE AND HIDDABLE.
  i_fldcat2-just(1)     = 'C'.
  APPEND i_fldcat2.

ENDFORM.                                                    " FLD_CAT2

************************************************************************
***************** ALV LAYOUT *******************************************
************************************************************************
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  LAYOUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_I_LAYOUT  text
*----------------------------------------------------------------------*

FORM t_layout  USING    p_i_layout TYPE slis_layout_alv .

  p_i_layout-zebra  = 'X'.
  p_i_layout-totals_text = 'GRAND TOTAL ='.
*  p_i_layout-CONFIRMATION_PROMPT = 'X'.
*  p_i_layout-DEF_STATUS  = ' '.
  p_i_layout-info_fieldname = 'LINE_COLOR'.

ENDFORM.                    " LAYOUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 06:22:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039867#M419327</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T06:22:20Z</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/2039868#M419328</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Praveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; just copy and paste this code into ur Editor and run it...&lt;/P&gt;&lt;P&gt;this is very good and simple interactive ALV report..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the code..&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; Report  ZZ_22038_22098_002                                          *&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; This is an Interactive ALV report, where on line slection we can see&lt;/P&gt;&lt;P&gt;*&amp;amp;  the secondry list&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  ZZ_22038_22098_002 NO STANDARD PAGE HEADING LINE-SIZE 650&lt;/P&gt;&lt;P&gt;MESSAGE-ID ZZ_9838                      .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;*type declaration for values from ekko&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKKO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;       AEDAT LIKE EKKO-AEDAT,&lt;/P&gt;&lt;P&gt;       BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;P&gt;       BSART LIKE EKKO-BSART,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;       END OF I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKKO TYPE I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declaration for values from ekpo&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKPO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKPO-EBELN,&lt;/P&gt;&lt;P&gt;       EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;       MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;       MENGE LIKE EKPO-MENGE,&lt;/P&gt;&lt;P&gt;       MEINS LIKE EKPO-MEINS,&lt;/P&gt;&lt;P&gt;       NETPR LIKE EKPO-NETPR,&lt;/P&gt;&lt;P&gt;       END OF I_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKPO TYPE I_EKPO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*variable for Report ID&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*declaration for fieldcatalog&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for events table where user comand or set PF status will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be defined&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declartion for layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for variant(type of display we want)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_VARIANT TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_VARIANT1 TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_SAVE(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PARAMETERS : p_var TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Title displayed when the alv list is displayed&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATLOG.&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;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_ALV_REPORT.&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_FIELDCATLOG&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;      Fieldcatalog has all the field details from ekko&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.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DATE.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-NO_OUT    = 'X'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG&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  EVENT_CALL&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;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&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;  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;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;ENDFORM.                    "EVENT_CALL&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  POPULATE_EVENT&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;     Events populated for TOP OF PAGE &amp;amp; USER COMAND&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;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_EVENT&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  data_retrieval&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;  retreiving values from the database table ekko&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.&lt;/P&gt;&lt;P&gt;  SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "data_retrieval&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_listheader&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;I_LISTHEADEtext&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_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA HLINE TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  HLINE-INFO = 'this is my first alv pgm'.&lt;/P&gt;&lt;P&gt;  HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_listheader&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_report&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_REPORT.&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;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            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;     I_GRID_TITLE                      = I_TITLE_EKKO&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;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         = ALV_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_default                         = 'ZLAY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    is_variant                        = i_variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = IT_EKKO&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;ENDFORM.                    "display_alv_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&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 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;      READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_ALV_EKPO.&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;&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_FIELDCATLOG_EKPO&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_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'LINE NO'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'UOM'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'NETPR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PRICE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG_EKPO&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  event_call_ekpo&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;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&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_EKPO.&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;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;ENDFORM.                    "event_call_ekpo&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  POPULATE_EVENT&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;       Events populated for TOP OF PAGE &amp;amp; USER COMAND&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_EKPO.&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.                    "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;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 F_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&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;*retreiving values from the database table ekko&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: HLINE1 TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;HLINE1-TYP = 'H'.&lt;/P&gt;&lt;P&gt;HLINE1-INFO = 'CHECKING PGM'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_EKPO.&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                = V_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;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_GRID_TITLE                      = I_TITLE_EKPO&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;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = IT_EKPO&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;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;***********************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points if answer was helpful,&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Tejas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 06:24:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039868#M419328</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T06:24:29Z</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/2039869#M419329</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;follow this process&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;go to se38&lt;/P&gt;&lt;P&gt;write BCALV* and press F4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you ll get lots of example related to interactive ALV ,test them and use them accordingly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;mrutyun^&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 06:27:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive-reporting/m-p/2039869#M419329</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T06:27:29Z</dc:date>
    </item>
  </channel>
</rss>

