<?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: Interactive Report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779008#M335828</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; This is an interactive ALV Report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;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.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Manju&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 04 Dec 2006 16:44:34 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-12-04T16:44:34Z</dc:date>
    <item>
      <title>Interactive Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779004#M335824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;plz give me one complete example of interactive report using all events.......&lt;/P&gt;&lt;P&gt;so that I can get overview of that easily at once....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards.....&lt;/P&gt;&lt;P&gt;Bye.....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Dec 2006 12:27:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779004#M335824</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-04T12:27:24Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779005#M335825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&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_ALV_EVENTS                                          *&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_ALV_EVENTS                      .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables:ekko.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Internal table for ALV&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;data : it_fieldcat type slis_t_fieldcat_alv,     "Field catalog&lt;/P&gt;&lt;P&gt;       wa_fieldcat type slis_fieldcat_alv,       "WA for Field catalog&lt;/P&gt;&lt;P&gt;       it_event type slis_t_event,               "events&lt;/P&gt;&lt;P&gt;       wa_event type slis_alv_event,             "WA for events&lt;/P&gt;&lt;P&gt;       it_comment type slis_t_listheader,        "Header details&lt;/P&gt;&lt;P&gt;       wa_comment type slis_listheader,          "WA for header details&lt;/P&gt;&lt;P&gt;       wa_layout type slis_layout_alv,           "Layout&lt;/P&gt;&lt;P&gt;       it_sort type slis_t_sortinfo_alv,         "Sort table&lt;/P&gt;&lt;P&gt;       wa_sort type slis_sortinfo_alv,           "WA for sort table&lt;/P&gt;&lt;P&gt;       it_keyinfo type slis_keyinfo_alv.         "Pass key value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;data : v_date like sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;color management.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;data  : it_color type table of lvc_s_scol.       "Color management.&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;      Internal table declearation&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;data:begin of it_ekko occurs 0,&lt;/P&gt;&lt;P&gt;  ebeln like ekko-ebeln,&lt;/P&gt;&lt;P&gt;  bukrs  like ekko-bukrs,&lt;/P&gt;&lt;P&gt;  aedat  like ekko-aedat,&lt;/P&gt;&lt;P&gt;end of it_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of it_ekpo occurs 0,&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;  netwr like ekpo-menge,&lt;/P&gt;&lt;P&gt;end of it_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of it_ekbe occurs 0,&lt;/P&gt;&lt;P&gt;       ebeln like ekbe-ebeln,&lt;/P&gt;&lt;P&gt;       ebelp like ekbe-ebelp,&lt;/P&gt;&lt;P&gt;       belnr like ekbe-belnr,&lt;/P&gt;&lt;P&gt;       menge like ekbe-menge,&lt;/P&gt;&lt;P&gt;       matnr like ekbe-matnr,&lt;/P&gt;&lt;P&gt;  end of it_ekbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of it_final occurs 0,&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;  netwr like ekpo-netwr,&lt;/P&gt;&lt;P&gt;  line_color(4) type c,     "Used to store row color attributes&lt;/P&gt;&lt;P&gt;end of it_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk with frame title text-001.&lt;/P&gt;&lt;P&gt;select-options:s_ebeln for ekko-ebeln.&lt;/P&gt;&lt;P&gt;parameters : rb1 radiobutton group g1 modif id z1,&lt;/P&gt;&lt;P&gt;             rb2 radiobutton group g1 modif id z2,&lt;/P&gt;&lt;P&gt;             rb3 radiobutton group g1 modif id z3.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen output.&lt;/P&gt;&lt;P&gt;  perform modify_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  perform get_details.&lt;/P&gt;&lt;P&gt;  perform get_alv.&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  modify_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;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 modify_screen .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF RB1 = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SCREEN-GROUP1 = 'Z1' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-INVISIBLE = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-ACTIVE = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-INVISIBLE = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-ACTIVE = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " modify_screen&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_DETAILS&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;      Get the details&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_details .&lt;/P&gt;&lt;P&gt;  data: ld_color(1) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select ebeln&lt;/P&gt;&lt;P&gt;         bukrs&lt;/P&gt;&lt;P&gt;         aedat&lt;/P&gt;&lt;P&gt;    from ekko&lt;/P&gt;&lt;P&gt;    into table it_ekko&lt;/P&gt;&lt;P&gt;   where ebeln in s_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    sort it_ekko by ebeln.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   message e000 with 'DATA NOT FOUND'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not it_ekko[] is initial.&lt;/P&gt;&lt;P&gt;    select ebeln&lt;/P&gt;&lt;P&gt;           ebelp&lt;/P&gt;&lt;P&gt;           matnr&lt;/P&gt;&lt;P&gt;           menge&lt;/P&gt;&lt;P&gt;           meins&lt;/P&gt;&lt;P&gt;           netpr&lt;/P&gt;&lt;P&gt;           netwr&lt;/P&gt;&lt;P&gt;      from ekpo&lt;/P&gt;&lt;P&gt;      into table it_ekpo&lt;/P&gt;&lt;P&gt;       for all entries in it_ekko&lt;/P&gt;&lt;P&gt;     where ebeln = it_ekko-ebeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      sort it_ekpo by ebeln.&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;  loop at it_ekpo.&lt;/P&gt;&lt;P&gt;    it_final-ebeln = it_ekpo-ebeln.&lt;/P&gt;&lt;P&gt;    it_final-ebelp = it_ekpo-ebelp.&lt;/P&gt;&lt;P&gt;    it_final-matnr = it_ekpo-matnr.&lt;/P&gt;&lt;P&gt;    it_final-menge = it_ekpo-menge.&lt;/P&gt;&lt;P&gt;    it_final-meins = it_ekpo-meins.&lt;/P&gt;&lt;P&gt;    it_final-netpr = it_ekpo-netpr.&lt;/P&gt;&lt;P&gt;    it_final-netwr = it_ekpo-netwr.&lt;/P&gt;&lt;P&gt;    on change of it_final-ebeln.&lt;/P&gt;&lt;P&gt;      ld_color = 7.&lt;/P&gt;&lt;P&gt;      concatenate 'C' ld_color '10' into it_final-line_color.&lt;/P&gt;&lt;P&gt;    endon.&lt;/P&gt;&lt;P&gt;    append it_final.&lt;/P&gt;&lt;P&gt;    clear it_final.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_DETAILS&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_ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform generate_fieldcat.&lt;/P&gt;&lt;P&gt;  perform generate_layout.&lt;/P&gt;&lt;P&gt;  perform generate_events.&lt;/P&gt;&lt;P&gt;  perform generate_sort.&lt;/P&gt;&lt;P&gt;  perform alv_grid_display.&lt;/P&gt;&lt;P&gt;endform.                    " GET_ALV&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  GENERATE_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Field catalog&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 generate_fieldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rb1 = 'X' or rb2 = 'X'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-just = 'R'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-seltext_l = 'PO Number'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;    append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-just = 'C'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-seltext_l = 'Item Number'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;    append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-just = 'C'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-seltext_l = 'Material Number'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;    append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-just = 'C'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-seltext_l = 'PO Quantity'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;    append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_fieldcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-col_pos = '5'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-just = 'C'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-seltext_l = 'Order unit'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;    append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_fieldcat-fieldname = 'NETPR'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-col_pos = '6'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-just = 'C'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-seltext_l = 'Net price'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;    append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_fieldcat-fieldname = 'NETWR'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-col_pos = '7'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-just = 'C'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-seltext_l = 'Net order value'.&lt;/P&gt;&lt;P&gt;    wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;    append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_fieldcat-fieldname = 'CHK'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_fieldcat-col_pos = '8'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_fieldcat-just = 'C'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_fieldcat-seltext_l = 'Check Box'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_fieldcat-checkbox = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;&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               = v_repid&lt;/P&gt;&lt;P&gt;       i_internal_tabname           = 'IT_EKKO'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_STRUCTURE_NAME             = 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                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BYPASSING_BUFFER           = I_BYPASSING_BUFFER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BUFFER_ACTIVE              = 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;    call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;     exporting&lt;/P&gt;&lt;P&gt;       i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;       i_internal_tabname           = 'IT_EKPO'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             = 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                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           = I_BYPASSING_BUFFER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              = 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;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " GENERATE_FIELDCAT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  GENERATE_EVENTS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Generate Events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form generate_events .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      et_events       = it_event&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      others          = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;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;  if not it_event[] is initial.&lt;/P&gt;&lt;P&gt;    read table it_event into wa_event with key name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      wa_event-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;      modify it_event from wa_event index sy-tabix.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GENERATE_EVENTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TOP_OF_PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form top_of_page.&lt;/P&gt;&lt;P&gt;  data : v_concate(50) type c.&lt;/P&gt;&lt;P&gt;  data : v_space(10) type c.&lt;/P&gt;&lt;P&gt;  concatenate 'VIKRANTH' 'RAJESH' into v_concate.&lt;/P&gt;&lt;P&gt;  wa_comment-typ = 'S'.&lt;/P&gt;&lt;P&gt;  wa_comment-key = 'USER :'.&lt;/P&gt;&lt;P&gt;  wa_comment-info = v_concate.&lt;/P&gt;&lt;P&gt;  append wa_comment to it_comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_comment-typ = 'S'.&lt;/P&gt;&lt;P&gt;  wa_comment-key = 'DATE:'.&lt;/P&gt;&lt;P&gt;  wa_comment-info = sy-datum.&lt;/P&gt;&lt;P&gt;  append wa_comment to it_comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_comment-typ = 'S'.&lt;/P&gt;&lt;P&gt;  wa_comment-key = 'TIME:'.&lt;/P&gt;&lt;P&gt;  wa_comment-info = sy-timlo.&lt;/P&gt;&lt;P&gt;  append wa_comment to it_comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      it_list_commentary = it_comment.&lt;/P&gt;&lt;P&gt;  clear it_comment.&lt;/P&gt;&lt;P&gt;endform.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ALV_GRID_DISPLAY&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;      Grid display&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 alv_grid_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rb1 = 'X'.&lt;/P&gt;&lt;P&gt;    perform grid_display.&lt;/P&gt;&lt;P&gt;  elseif rb2 = 'X'.&lt;/P&gt;&lt;P&gt;    perform list_display.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    perform hierseq_display.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " ALV_GRID_DISPLAY&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  GENERATE_LAYOUT&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;      LAYOUT&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 generate_layout .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.           "OPTIMIZING FIELD WIDTH&lt;/P&gt;&lt;P&gt;  wa_layout-zebra = 'X'.                       "PUTTING ZEBRA COLORS&lt;/P&gt;&lt;P&gt;  wa_layout-totals_text = 'Total'.&lt;/P&gt;&lt;P&gt;  wa_layout-subtotals_text = 'SUB TOTAL'.&lt;/P&gt;&lt;P&gt;  wa_layout-info_fieldname = 'LINE_COLOR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GENERATE_LAYOUT&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  GENERATE_SORT&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;      SORT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form generate_sort .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_sort-spos = '1'.&lt;/P&gt;&lt;P&gt;  wa_sort-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_sort-subtot = 'X'.&lt;/P&gt;&lt;P&gt;  append wa_sort to it_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GENERATE_SORT&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  GRID_DISPLAY&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;      GRID DISPLAY&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 grid_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   i_callback_program                = 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           = 'IT_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;/UL&gt;&lt;P&gt;   i_grid_title                      = 'Purchase Order Details'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   = I_GRID_SETTINGS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   is_layout                         = wa_layout&lt;/P&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                      = IT_EXCLUDING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 = IT_SPECIAL_GROUPS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   it_sort                           = it_sort&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         = IT_FILTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       = 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                        = IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   it_events                         = it_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     = IT_EVENT_EXIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          = IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      = IS_REPREP_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   = IT_ALV_GRAPHICS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      = IT_HYPERLINK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   = IT_ADD_FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   = IT_EXCEPT_QINFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_FULLSCREEN_ADAPTER        = IR_SALV_FULLSCREEN_ADAPTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           = 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            = 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_final&lt;/P&gt;&lt;P&gt; exceptions&lt;/P&gt;&lt;P&gt;   program_error                     = 1&lt;/P&gt;&lt;P&gt;   others                            = 2&lt;/P&gt;&lt;P&gt;            .&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.                    " GRID_DISPLAY&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  LIST_DISPLAY&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;      LIST DISPLAY&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 list_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_LIST_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             = 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;/UL&gt;&lt;P&gt;     i_callback_user_command        = 'IT_USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_STRUCTURE_NAME               = I_STRUCTURE_NAME&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     is_layout                      = wa_layout&lt;/P&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                   = IT_EXCLUDING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SPECIAL_GROUPS              = IT_SPECIAL_GROUPS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_sort                        = it_sort&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_FILTER                      = IT_FILTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_SEL_HIDE                    = 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                     = IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_events                      = it_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                  = IT_EVENT_EXIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_PRINT                       = IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                   = 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;    IR_SALV_LIST_ADAPTER           = IR_SALV_LIST_ADAPTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EXCEPT_QINFO                = IT_EXCEPT_QINFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE&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        = 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         = 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_final&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     program_error                  = 1&lt;/P&gt;&lt;P&gt;     others                         = 2&lt;/P&gt;&lt;P&gt;            .&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.                    " LIST_DISPLAY&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  HIERSEQ_DISPLAY&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;      HIERSEQ DISPLAY&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 hierseq_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  it_keyinfo-header01 = 'EBELN'.&lt;/P&gt;&lt;P&gt;  it_keyinfo-item01 = 'EBELN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_HIERSEQ_LIST_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;/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        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     is_layout                      = wa_layout&lt;/P&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                   = IT_EXCLUDING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              = IT_SPECIAL_GROUPS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_sort                        = it_sort&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      = IT_FILTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    = IS_SEL_HIDE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_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                     = IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_events                      = it_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  = IT_EVENT_EXIT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_tabname_header               = 'IT_EKKO'&lt;/P&gt;&lt;P&gt;      i_tabname_item                 = 'IT_EKPO'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_HEADER        = I_STRUCTURE_NAME_HEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_ITEM          = I_STRUCTURE_NAME_ITEM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      is_keyinfo                     = it_keyinfo&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       = IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   = IS_REPREP_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             = I_BYPASSING_BUFFER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = I_BUFFER_ACTIVE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_HIERSEQ_ADAPTER        = IR_SALV_HIERSEQ_ADAPTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                = IT_EXCEPT_QINFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE&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        = 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         = 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_header                = it_ekko&lt;/P&gt;&lt;P&gt;      t_outtab_item                  = 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;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.                    " HIERSEQ_DISPLAY&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 IT_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;P&gt;form it_user_command using r_ucomm like sy-ucomm&lt;/P&gt;&lt;P&gt;                           rs_selfield type slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  free it_fieldcat.&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_final index rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;      perform get_ekbe.&lt;/P&gt;&lt;P&gt;      perform get_field_catalog.&lt;/P&gt;&lt;P&gt;      perform get_list.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endform.                               "IT_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  GET_EKBE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_ekbe .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not it_final[] is initial.&lt;/P&gt;&lt;P&gt;    select ebeln&lt;/P&gt;&lt;P&gt;           ebelp&lt;/P&gt;&lt;P&gt;           belnr&lt;/P&gt;&lt;P&gt;           menge&lt;/P&gt;&lt;P&gt;           matnr&lt;/P&gt;&lt;P&gt;      into table it_ekbe&lt;/P&gt;&lt;P&gt;      from ekbe&lt;/P&gt;&lt;P&gt;       for all entries in it_final&lt;/P&gt;&lt;P&gt;     where ebeln = it_final-ebeln&lt;/P&gt;&lt;P&gt;       and ebelp = it_final-ebelp.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_EKBE&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;P&gt;form get_field_catalog .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-just = 'R'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'PO Number'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-just = 'R'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'Item Number'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'BELNR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-just = 'R'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'Material Document'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-just = 'R'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'Quantity'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = '5'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-just = 'R'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'Material Number'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-lowercase = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat.&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  get_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;P&gt;form get_list .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rb1 = 'X'.&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           = ' '&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                  = 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                      = 'SECONDARY LIST'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_GRID_SETTINGS                   = I_GRID_SETTINGS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_LAYOUT                         = 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                      = IT_EXCLUDING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SPECIAL_GROUPS                 = IT_SPECIAL_GROUPS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SORT                           = IT_SORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_FILTER                         = IT_FILTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_SEL_HIDE                       = 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                        = IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENTS                         = IT_EVENTS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                     = IT_EVENT_EXIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_PRINT                          = IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                      = IS_REPREP_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_ALV_GRAPHICS                   = IT_ALV_GRAPHICS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_HYPERLINK                      = IT_HYPERLINK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_ADD_FIELDCAT                   = IT_ADD_FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EXCEPT_QINFO                   = IT_EXCEPT_QINFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IR_SALV_FULLSCREEN_ADAPTER        = IR_SALV_FULLSCREEN_ADAPTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    E_EXIT_CAUSED_BY_CALLER           = 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            = 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_ekbe&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;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rb2 = 'X'.&lt;/P&gt;&lt;P&gt;    call function 'REUSE_ALV_LIST_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             = 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        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               = I_STRUCTURE_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                      = 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                   = IT_EXCLUDING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              = IT_SPECIAL_GROUPS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        = IT_SORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      = IT_FILTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    = 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                     = IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                      = IT_EVENTS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  = IT_EVENT_EXIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       = IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   = 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;  IR_SALV_LIST_ADAPTER           = IR_SALV_LIST_ADAPTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                = IT_EXCEPT_QINFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE&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        = 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         = 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_ekbe&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;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_list&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Dec 2006 12:29:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779005#M335825</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-04T12:29:44Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779006#M335826</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi radhika,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks but not......&lt;/P&gt;&lt;P&gt; I am looking for complete example of interactive report not alv......&lt;/P&gt;&lt;P&gt;By the way thanks.........&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bye nad take care.......&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Dec 2006 12:32:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779006#M335826</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-04T12:32:58Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779007#M335827</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks radhika&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Dec 2006 12:51:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779007#M335827</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-04T12:51:07Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779008#M335828</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; This is an interactive ALV Report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;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.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Manju&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Dec 2006 16:44:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report/m-p/1779008#M335828</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-04T16:44:34Z</dc:date>
    </item>
  </channel>
</rss>

