<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ALV-INTERACTIVE. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365706#M180925</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;Do any one have a simple alv interactive program .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Jun 2006 10:24:36 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-06-07T10:24:36Z</dc:date>
    <item>
      <title>ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365706#M180925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;Do any one have a simple alv interactive program .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:24:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365706#M180925</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:24:36Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365707#M180926</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/display-secondary-list-using-alv-grid.htm" target="test_blank"&gt;http://www.sap-img.com/abap/display-secondary-list-using-alv-grid.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:27:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365707#M180926</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:27:15Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365708#M180927</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hii&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this is an Interactive report to list out Billing details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VBRK is the Billing Master table and VBRP is the Billing Item table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upon double clicking Billing Document produce a Secondary report with line item &lt;/P&gt;&lt;P&gt;details.&lt;/P&gt;&lt;P&gt;	&lt;/P&gt;&lt;P&gt;Upon clicking VBELN in secondary list, Open the billing document in display mode.. &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;REPORT  Z_50657_ALV_EX5 NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        LINE-COUNT 65(3)&lt;/P&gt;&lt;P&gt;        LINE-SIZE 220&lt;/P&gt;&lt;P&gt;        MESSAGE-ID ZZ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            Type Pools                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS, ICON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             Tables                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : VBRK,  "Billing Master table&lt;/P&gt;&lt;P&gt;         VBRP.  "Billing Item table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        VARIABLES DECLARATION                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: STR_DATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: X_FIELDCAT_VBRK TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT_VBRK TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: X_FIELDCAT_VBRP TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT_VBRP TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: L_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: CUR_VBELN(15), CUR_VBELN_VALUE(15).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: TEMP_VBELN(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: CTAB LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        Internal Tables                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold data from VBRK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_VBRK OCCURS 0,&lt;/P&gt;&lt;P&gt;      VBELN LIKE VBRK-VBELN,&lt;/P&gt;&lt;P&gt;      WAERK LIKE VBRK-WAERK,&lt;/P&gt;&lt;P&gt;      VKORG LIKE VBRK-VKORG,&lt;/P&gt;&lt;P&gt;      FKDAT LIKE VBRK-FKDAT,&lt;/P&gt;&lt;P&gt;      BUKRS LIKE VBRK-BUKRS,&lt;/P&gt;&lt;P&gt;      BUTXT LIKE T001-BUTXT,&lt;/P&gt;&lt;P&gt;      CHECK(1) TYPE C,&lt;/P&gt;&lt;P&gt;      END OF IT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold data from VBRP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;      VBELN LIKE VBRP-VBELN,&lt;/P&gt;&lt;P&gt;      POSNR LIKE VBRP-POSNR,&lt;/P&gt;&lt;P&gt;      FKIMG LIKE VBRP-FKIMG,&lt;/P&gt;&lt;P&gt;      VRKME LIKE VBRP-VRKME,&lt;/P&gt;&lt;P&gt;      NETWR LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;      MATNR LIKE VBRP-MATNR,&lt;/P&gt;&lt;P&gt;      ARKTX LIKE VBRP-ARKTX,&lt;/P&gt;&lt;P&gt;      END OF IT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_T001 OCCURS 0,&lt;/P&gt;&lt;P&gt;      BUKRS LIKE T001-BUKRS,&lt;/P&gt;&lt;P&gt;      BUTXT LIKE T001-BUTXT,&lt;/P&gt;&lt;P&gt;      END OF IT_T001.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      Selection-Screen                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,&lt;/P&gt;&lt;P&gt;                S_FKDAT FOR VBRK-FKDAT,&lt;/P&gt;&lt;P&gt;                S_MATNR FOR VBRP-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : LIST RADIOBUTTON GROUP G1,&lt;/P&gt;&lt;P&gt;             GRID  RADIOBUTTON GROUP G1 DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="17" type="ul"&gt;&lt;P&gt;           INITIALIZATION         ********************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  STR_DATE = SY-DATUM - 200.&lt;/P&gt;&lt;P&gt;  S_FKDAT-LOW = STR_DATE.&lt;/P&gt;&lt;P&gt;  S_FKDAT-HIGH = SY-DATUM.&lt;/P&gt;&lt;P&gt;  S_FKDAT-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  APPEND S_FKDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    At  Selection-Screen Output                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SCREEN-NAME = 'S_FKDAT-HIGH'.&lt;/P&gt;&lt;P&gt;      SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;      MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    At  Selection-Screen                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      Start of Selection                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*POPULATION OF DATA INTO INTERNAL TABLE IT_VBRK AND IT_VBRP&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM FIELDCATALOG_CHANGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV GRID/LIST DISPLAY&lt;/P&gt;&lt;P&gt;  PERFORM FIRST_SCREEN_DISPLAY.&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  VALIDATION&lt;/P&gt;&lt;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 VALIDATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_VBELN[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE VBELN&lt;/P&gt;&lt;P&gt;                  FROM VBRK&lt;/P&gt;&lt;P&gt;                  INTO VBRK-VBELN&lt;/P&gt;&lt;P&gt;                  WHERE VBELN IN S_VBELN.&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 e000(Z000) WITH s_vbeln.&lt;/P&gt;&lt;P&gt;      STOP.&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 S_FKDAT[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE I000 WITH 'PLEASE ENTER ALL THE MANDATORY FIELDS'.&lt;/P&gt;&lt;P&gt;    STOP.&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 S_MATNR[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE MATNR&lt;/P&gt;&lt;P&gt;                  FROM MARA&lt;/P&gt;&lt;P&gt;                  INTO VBRP-MATNR&lt;/P&gt;&lt;P&gt;                  WHERE MATNR IN S_MATNR.&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 I000 WITH 'PLEASE ENTER CORRECT MATERIAL NUMBER'.&lt;/P&gt;&lt;P&gt;      STOP.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "VALIDATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA_VBRK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_DATA_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;         WAERK&lt;/P&gt;&lt;P&gt;         VKORG&lt;/P&gt;&lt;P&gt;         FKDAT&lt;/P&gt;&lt;P&gt;         BUKRS&lt;/P&gt;&lt;P&gt;         FROM VBRK INTO TABLE IT_VBRK&lt;/P&gt;&lt;P&gt;         WHERE VBELN IN S_VBELN&lt;/P&gt;&lt;P&gt;               AND FKDAT IN S_FKDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_VBRK BY VBELN BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT BUKRS&lt;/P&gt;&lt;P&gt;         BUTXT&lt;/P&gt;&lt;P&gt;         FROM T001 INTO TABLE IT_T001&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN IT_VBRK&lt;/P&gt;&lt;P&gt;         WHERE BUKRS = IT_VBRK-BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CTAB = SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_T001 WHERE BUKRS = IT_VBRK-BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC  = 0.&lt;/P&gt;&lt;P&gt;        IT_VBRK-BUTXT = IT_T001-BUTXT.&lt;/P&gt;&lt;P&gt;        MODIFY IT_VBRK INDEX CTAB.&lt;/P&gt;&lt;P&gt;        CLEAR CTAB.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FIELDCATALOG_CHANGE&lt;/P&gt;&lt;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;&lt;/P&gt;&lt;P&gt;FORM FIELDCATALOG_CHANGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Layout Change&lt;/P&gt;&lt;P&gt;  L_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; L_LAYOUT-BOX_FIELDNAME = 'CHECK'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Define seperate Color for the fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-COL_POS = 1.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-FIELDNAME = 'CHECK'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-SELTEXT_M = 'chek'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-CHECKBOX = 'X'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-INPUT = 'X'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT_VBRK TO  IT_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-COL_POS = 2.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-EMPHASIZE = 'C301'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-FIELDNAME = 'WAERK'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-EMPHASIZE = 'C201'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-FIELDNAME = 'VKORG'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-EMPHASIZE = 'C300'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-FIELDNAME = 'FKDAT'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-EMPHASIZE = 'C600'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-EMPHASIZE = 'C400'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-FIELDNAME = 'BUTXT'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-EMPHASIZE = 'C500'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRK-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FIELDCATALOG_CHANGE&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  FIRST_SCREEN_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;      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 FIRST_SCREEN_DISPLAY.&lt;/P&gt;&lt;P&gt;&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         = SY-REPID&lt;/P&gt;&lt;P&gt;      I_INTERNAL_TABNAME     = 'IT_VBRK'&lt;/P&gt;&lt;P&gt;      I_INCLNAME             = SY-REPID&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      CT_FIELDCAT            = IT_FIELDCAT_VBRK&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;  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHECK RADIO BUTTON SELECTION AND ACCORDINGLY DISPLAY LIST OR GRID ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF LIST = 'X'.&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;P&gt;       I_CALLBACK_PROGRAM             = SY-REPID&lt;/P&gt;&lt;P&gt;       I_CALLBACK_PF_STATUS_SET       = 'STATUS'&lt;/P&gt;&lt;P&gt;       I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;       IS_LAYOUT                      = L_LAYOUT&lt;/P&gt;&lt;P&gt;       IT_FIELDCAT                    = IT_FIELDCAT_VBRK&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        T_OUTTAB                       = IT_VBRK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;       PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;       OTHERS                         = 2&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF GRID = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_CALLBACK_PROGRAM             = SY-REPID&lt;/P&gt;&lt;P&gt;       I_CALLBACK_PF_STATUS_SET       = 'STATUS'&lt;/P&gt;&lt;P&gt;       I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;        IS_LAYOUT                      = L_LAYOUT&lt;/P&gt;&lt;P&gt;        IT_FIELDCAT                    = IT_FIELDCAT_VBRK&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;         T_OUTTAB                       = IT_VBRK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;        OTHERS                         = 2&lt;/P&gt;&lt;P&gt;               .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FIRST_SCREEN_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  STATUS&lt;/P&gt;&lt;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;P_EXTAB    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 STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "STATUS&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;RS_SELFIELD  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;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;                               RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE R_UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK' OR 'CANC' OR 'EXIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF RS_SELFIELD-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            INPUT  = RS_SELFIELD-VALUE&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            OUTPUT = TEMP_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       TEMP_VBELN = RS_SELFIELD-VALUE.&lt;/P&gt;&lt;P&gt;        PERFORM GET_DATA_VBRP.&lt;/P&gt;&lt;P&gt;        PERFORM GET_SECOND_SCREEN_DISPLAY.&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;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA_VBRP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_DATA_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;         POSNR&lt;/P&gt;&lt;P&gt;         FKIMG&lt;/P&gt;&lt;P&gt;         VRKME&lt;/P&gt;&lt;P&gt;         NETWR&lt;/P&gt;&lt;P&gt;         MATNR&lt;/P&gt;&lt;P&gt;         ARKTX&lt;/P&gt;&lt;P&gt;         FROM VBRP INTO TABLE IT_VBRP&lt;/P&gt;&lt;P&gt;         WHERE VBELN = TEMP_VBELN.&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;&lt;/P&gt;&lt;P&gt;    MESSAGE E000 WITH ' NO BILLING DETAILS FOUND'.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE S000 WITH 'SUCCESSFUL'.&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.                    "GET_DATA_VBRP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_SECOND_SCREEN_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;      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_SECOND_SCREEN_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FIELDCATALOG CALL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRP-TABNAME = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRP-FIELDNAME = 'VRKME'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRP-EMPHASIZE = 'C500'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT_VBRP-OUTPUTLEN = 10.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT_VBRP TO IT_FIELDCAT_VBRP.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT_VBRP.&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         = SY-REPID&lt;/P&gt;&lt;P&gt;      I_INTERNAL_TABNAME     = 'IT_VBRP'&lt;/P&gt;&lt;P&gt;      I_INCLNAME             = SY-REPID&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      CT_FIELDCAT            = IT_FIELDCAT_VBRP&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;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHECK RADIO BUTTON SELECTION AND ACCORDINGLY DISPLAY LIST OR GRID ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF LIST = 'X'.&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;P&gt;       I_CALLBACK_PROGRAM             = SY-REPID&lt;/P&gt;&lt;P&gt;       I_CALLBACK_PF_STATUS_SET       = 'STATUS'&lt;/P&gt;&lt;P&gt;       I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;       IS_LAYOUT                      = L_LAYOUT&lt;/P&gt;&lt;P&gt;       IT_FIELDCAT                    = IT_FIELDCAT_VBRP&lt;/P&gt;&lt;P&gt;       I_SCREEN_START_COLUMN          = 1&lt;/P&gt;&lt;P&gt;       I_SCREEN_START_LINE            = 1&lt;/P&gt;&lt;P&gt;       I_SCREEN_END_COLUMN            = 100&lt;/P&gt;&lt;P&gt;       I_SCREEN_END_LINE              = 10&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        T_OUTTAB                       = IT_VBRP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;       PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;       OTHERS                         = 2&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF GRID = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;       I_CALLBACK_PROGRAM             = SY-REPID&lt;/P&gt;&lt;P&gt;       I_CALLBACK_PF_STATUS_SET       = 'STATUS'&lt;/P&gt;&lt;P&gt;       I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;       IS_LAYOUT                      = L_LAYOUT&lt;/P&gt;&lt;P&gt;       IT_FIELDCAT                    = IT_FIELDCAT_VBRP&lt;/P&gt;&lt;P&gt;       I_SCREEN_START_COLUMN          = 1&lt;/P&gt;&lt;P&gt;       I_SCREEN_START_LINE            = 1&lt;/P&gt;&lt;P&gt;       I_SCREEN_END_COLUMN            = 100&lt;/P&gt;&lt;P&gt;       I_SCREEN_END_LINE              = 10&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;         T_OUTTAB                       = IT_VBRP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;        OTHERS                         = 2&lt;/P&gt;&lt;P&gt;               .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_SECOND_SCREEN_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;chk this link&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;http://www.sap-img.com/abap/an-interactive-alv-report.htm&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Revert back for more help&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Naresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:30:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365708#M180927</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:30:03Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365709#M180928</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi osk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this&lt;/P&gt;&lt;P&gt;**TABLES DECLN&lt;/P&gt;&lt;P&gt;tables: vbrk,vbrp,t001.&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;type-pools: icon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***DATA DECLN.&lt;/P&gt;&lt;P&gt;data: v_vbeln like vbrk-vbeln,&lt;/P&gt;&lt;P&gt;      v_matnr like vbrp-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants: c_user_command type slis_formname value 'F_USER_COMMAND',&lt;/P&gt;&lt;P&gt;           c_pf_status type slis_formname value 'F_SET_PF_STATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**ALV RELATED TABLES.&lt;/P&gt;&lt;P&gt;*--Field Catalog&lt;/P&gt;&lt;P&gt;data:   it_fieldcat type standard table of&lt;/P&gt;&lt;P&gt;                        slis_fieldcat_alv  with header line,&lt;/P&gt;&lt;P&gt;        it_fieldcat1 type standard table of&lt;/P&gt;&lt;P&gt;                        slis_fieldcat_alv with header line ,&lt;/P&gt;&lt;P&gt;        wa_fieldcat type slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Layout&lt;/P&gt;&lt;P&gt;       wa_layout type slis_layout_alv,&lt;/P&gt;&lt;P&gt;*--Sort&lt;/P&gt;&lt;P&gt;       it_sort type slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;       wa_sort type slis_sortinfo_alv  ,&lt;/P&gt;&lt;P&gt;**-Structure for excluding function codes&lt;/P&gt;&lt;P&gt;       wa_extab type slis_extab,&lt;/P&gt;&lt;P&gt;**-To hold function codes to be excluded in ALV toolbar&lt;/P&gt;&lt;P&gt;       it_extab type slis_t_extab.&lt;/P&gt;&lt;P&gt;***INTERNAL TABLE DECLN.&lt;/P&gt;&lt;P&gt;data: begin of it_vbrk occurs 0,&lt;/P&gt;&lt;P&gt;      vbeln like vbrk-vbeln,&lt;/P&gt;&lt;P&gt;      waerk like vbrk-waerk,&lt;/P&gt;&lt;P&gt;      vkorg like vbrk-vkorg,&lt;/P&gt;&lt;P&gt;      fkdat like vbrk-fkdat,&lt;/P&gt;&lt;P&gt;      bukrs like vbrk-bukrs,&lt;/P&gt;&lt;P&gt;      netwr like vbrk-netwr,&lt;/P&gt;&lt;P&gt;      end of it_vbrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;      vbeln like vbrp-vbeln,&lt;/P&gt;&lt;P&gt;      posnr like vbrp-posnr,&lt;/P&gt;&lt;P&gt;      fkimg like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;      vrkme like vbrp-vrkme,&lt;/P&gt;&lt;P&gt;      netwr like vbrp-netwr,&lt;/P&gt;&lt;P&gt;      matnr like vbrp-matnr,&lt;/P&gt;&lt;P&gt;      arktx like vbrp-arktx,&lt;/P&gt;&lt;P&gt;      end of itab.&lt;/P&gt;&lt;P&gt;data: it_vbrp like itab occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***selection screen.&lt;/P&gt;&lt;P&gt;selection-screen: begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: s_vbeln for vbrk-vbeln,&lt;/P&gt;&lt;P&gt;              s_fkdat for vbrk-fkdat obligatory,&lt;/P&gt;&lt;P&gt;                s_matnr for vbrp-matnr.&lt;/P&gt;&lt;P&gt;selection-screen: end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**INITIALIZATION.&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;  s_fkdat-low = sy-datum - 200.&lt;/P&gt;&lt;P&gt;  s_fkdat-high = sy-datum.&lt;/P&gt;&lt;P&gt;  append s_fkdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;  if not s_vbeln is initial.&lt;/P&gt;&lt;P&gt;    select single vbeln from vbrk&lt;/P&gt;&lt;P&gt;           into v_vbeln&lt;/P&gt;&lt;P&gt;           where vbeln in s_vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e001(zz2).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not s_matnr is initial.&lt;/P&gt;&lt;P&gt;    select single matnr from mara&lt;/P&gt;&lt;P&gt;           into v_matnr&lt;/P&gt;&lt;P&gt;           where matnr in s_matnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e001(zz2).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform get_data_vbrk.&lt;/P&gt;&lt;P&gt;  perform get_data_vbrp.&lt;/P&gt;&lt;P&gt;***END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;*--Sort the Output Fields&lt;/P&gt;&lt;P&gt;perform sort_fields.&lt;/P&gt;&lt;P&gt;*--Build Field catalog for the Output fields&lt;/P&gt;&lt;P&gt;  perform get_field_catalog.&lt;/P&gt;&lt;P&gt;***MODIFY LAYOUT.&lt;/P&gt;&lt;P&gt;perform modify_layout.&lt;/P&gt;&lt;P&gt;*--Display ALV output&lt;/P&gt;&lt;P&gt;  perform list_disp  tables it_vbrk&lt;/P&gt;&lt;P&gt;                           using  c_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_DATA_VBRK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data_vbrk.&lt;/P&gt;&lt;P&gt;  select vbeln&lt;/P&gt;&lt;P&gt;         waerk&lt;/P&gt;&lt;P&gt;         vkorg&lt;/P&gt;&lt;P&gt;         fkdat&lt;/P&gt;&lt;P&gt;         bukrs&lt;/P&gt;&lt;P&gt;         netwr&lt;/P&gt;&lt;P&gt;         into table it_vbrk&lt;/P&gt;&lt;P&gt;         from vbrk&lt;/P&gt;&lt;P&gt;         where vbeln in s_vbeln&lt;/P&gt;&lt;P&gt;         and fkdat in s_fkdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA_VBRP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data_vbrp .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        POSNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FKIMG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        VRKME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        NETWR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        MATNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ARKTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FROM VBRP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INTO TABLE IT_VBRP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FOR ALL ENTRIES IN IT_VBRK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WHERE VBELN = IT_VBRK-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select vbeln&lt;/P&gt;&lt;P&gt;         posnr&lt;/P&gt;&lt;P&gt;         fkimg&lt;/P&gt;&lt;P&gt;         vrkme&lt;/P&gt;&lt;P&gt;         netwr&lt;/P&gt;&lt;P&gt;         matnr&lt;/P&gt;&lt;P&gt;         arktx&lt;/P&gt;&lt;P&gt;         from vbrp&lt;/P&gt;&lt;P&gt;         into table itab&lt;/P&gt;&lt;P&gt;         for all entries in it_vbrk&lt;/P&gt;&lt;P&gt;         where vbeln = it_vbrk-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_DATA_VBRP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_FIELD_CATALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_field_catalog .&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_program_name         = sy-repid&lt;/P&gt;&lt;P&gt;      i_internal_tabname     = 'IT_VBRK'&lt;/P&gt;&lt;P&gt;      i_inclname             = sy-repid&lt;/P&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;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " 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  SORT_FIELDS&lt;/P&gt;&lt;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 sort_fields .&lt;/P&gt;&lt;P&gt;  clear wa_sort.&lt;/P&gt;&lt;P&gt;  wa_sort-spos = '01'.&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'VBELN' .&lt;/P&gt;&lt;P&gt;  wa_sort-tabname   = 'IT_VBRK'.&lt;/P&gt;&lt;P&gt;  wa_sort-up        = '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;  clear  wa_sort.&lt;/P&gt;&lt;P&gt;  wa_sort-spos = '02'.&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'POSNR' .&lt;/P&gt;&lt;P&gt;  wa_sort-tabname   = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  wa_sort-up        = '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;&lt;/P&gt;&lt;P&gt;endform.                    " SORT_FIELDS&lt;/P&gt;&lt;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_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;      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_layout .&lt;/P&gt;&lt;P&gt;  wa_layout-default_item = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-expand_fieldname = 'EXPAND'.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " MODIFY_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  LIST_DISP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 list_disp  tables   p_it_vbrk&lt;/P&gt;&lt;P&gt;                   using    p_user_command type slis_formname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_PROGRAM       = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_PF_STATUS_SET = 'POPUP'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND  = 'HANDLE_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_LAYOUT                = WA_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_FIELDCAT              = IT_FIELDCAT[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_EXCLUDING             = IT_EXTAB[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     T_OUTTAB                 = IT_VBRK&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&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;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;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_callback_program       = sy-repid&lt;/P&gt;&lt;P&gt;      i_callback_pf_status_set = 'POPUP'&lt;/P&gt;&lt;P&gt;      i_callback_user_command  = 'HANDLE_USER_COMMAND'&lt;/P&gt;&lt;P&gt;      is_layout                = wa_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat              = it_fieldcat[]&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab                 = p_it_vbrk&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      program_error            = 1&lt;/P&gt;&lt;P&gt;      others                   = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " LIST_DISP&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  POPUP&lt;/P&gt;&lt;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;P_EXTAB    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 popup using it_extab type slis_t_extab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Pf status&lt;/P&gt;&lt;P&gt;  set pf-status 'POPUP'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                 " POPUP&lt;/P&gt;&lt;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 F_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;form handle_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;&lt;/P&gt;&lt;P&gt;    when '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;        clear it_fieldcat1[].&lt;/P&gt;&lt;P&gt;        clear it_vbrp[].&lt;/P&gt;&lt;P&gt;        if rs_selfield-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;        read table it_vbrk index rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        loop at itab where vbeln = it_vbrk-vbeln.&lt;/P&gt;&lt;P&gt;        move-corresponding itab to it_vbrp.&lt;/P&gt;&lt;P&gt;        append it_vbrp.&lt;/P&gt;&lt;P&gt;        endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        perform interactive_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "HANDLE_USER_COMMAND&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  INTERACTIVE_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;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 interactive_report .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_PROGRAM_NAME         = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_INTERNAL_TABNAME     = 'ITAB'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_INCLNAME             = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CT_FIELDCAT            = IT_FIELDCAT1[]&lt;/P&gt;&lt;/LI&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;     INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PROGRAM_ERROR          = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS                 = 3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;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;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'BILLING DOC'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos  = 1.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat1.&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;  wa_fieldcat-fieldname = 'POSNR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'ITEM'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos  = 2.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;  clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'FKIMG'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'INV QTY'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos  = 3.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;  clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'VRKME'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'SALES UNIT'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos  = 4.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;  clear wa_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-seltext_m = 'NET PRICE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos  = 5.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;  clear wa_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-seltext_m = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos  = 6.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;  clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'ARKTX'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'SALES ORDER'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'IT_VBRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos  = 7.&lt;/P&gt;&lt;P&gt;  append wa_fieldcat to it_fieldcat1.&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;&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_PROGRAM       = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_LAYOUT                = WA_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_FIELDCAT              = IT_FIELDCAT1[]&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;   TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     T_OUTTAB                 = IT_VBRP&lt;/P&gt;&lt;/LI&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;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_callback_program = sy-repid&lt;/P&gt;&lt;P&gt;      is_layout          = wa_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat        = it_fieldcat1[]&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab           = it_vbrp&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      others             = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps,&lt;/P&gt;&lt;P&gt;do reward if it helps,&lt;/P&gt;&lt;P&gt;priya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:30:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365709#M180928</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:30:39Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365710#M180929</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the Reuse library. SE83 &lt;/P&gt;&lt;P&gt;you will find very good examples there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wasim Ahmed&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:30:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365710#M180929</guid>
      <dc:creator>dani_mn</dc:creator>
      <dc:date>2006-06-07T10:30:51Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365711#M180930</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZALV4_INTERACTIVE                                           *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;                                                                     *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*

report  zalv4_interactive no standard page heading
                          message-id zmsg
                          line-count 37(3)
                          line-size 134.


type-pools : slis.

************************************************************************
***************** TABLES         DECLARATION        ********************
************************************************************************

tables : vbrk,              " BILLING MASTERS TABLE
         vbrp.              " BILLING ITEM TABLE

************************************************************************
***************** TYPES     DECLARATION             ********************
************************************************************************

types : begin of ty_vbrk,       " types for billing masters table
         vbeln type vbrk-vbeln, " billing document
         waerk type vbrk-waerk, " document currency
         vkorg type vbrk-vkorg, " sales organization
         fkdat type vbrk-fkdat, " billing date
         bukrs type vbrk-bukrs, " company code
         butxt type t001-butxt, " company name
         netwr type vbrk-netwr, " net currency value
         line_color(4) type c,
         end of ty_vbrk.

types : begin of ty_vbrp,      " types for billing document item data
         posnr type vbrp-posnr, " billing item
         fkimg type vbrp-fkimg, " actual invoiced quantitty
         vrkme type vbrp-vrkme, " sales unit
         netwr type vbrp-netwr, " net currency value
         matnr type vbrp-matnr, " material number
         arktx type vbrp-arktx, " short text for sales order item
        end of ty_vbrp.

************************************************************************
***************** FIELD     CATALOG                 ********************
************************************************************************

data : wa_fieldcat type slis_fieldcat_alv,
       wa_fieldcat1 type slis_fieldcat_alv.

************************************************************************
***************** LAYOUT    DECLARATION             ********************
************************************************************************

data : wa_layout type slis_layout_alv,
       wa_layout1 type slis_layout_alv.

************************************************************************
***************** EVENTS  DECLARATION               ********************
************************************************************************

data : ty_events type slis_alv_event,
       it_events type slis_t_event.
************************************************************************
***************** PF           STATUS               ********************
************************************************************************

data : pf_status type slis_formname value 'SET_PF_STATUS'.

************************************************************************
***************** USER       COMMAND                ********************
************************************************************************

data : user_command type slis_formname value 'SET_USER_COMMAND',
       r_ucomm like sy-ucomm.

************************************************************************
***************** INTERNAL       TABLES             ********************
************************************************************************

data : it_vbrk type table of ty_vbrk, "internal table for billing master
       it_vbrp type table of ty_vbrp, "internal table for billing item

*internal table for field catalog

       it_fieldcat type slis_t_fieldcat_alv,
       it_fieldcat1 type slis_t_fieldcat_alv.


************************************************************************
***************** WORK         AREA                 ********************
************************************************************************

data : wa_vbrk like line of it_vbrk, "work area for billing master
       wa_vbrp like line of it_vbrp. "work area for billing item

************************************************************************
***************** VARIABLE  DECLARATION             ********************
************************************************************************

data : v_date type sy-datum, " variable to store date values
       v_vbeln type vbrk-vbeln, " variable for billing document
       v_fkdat type vbrk-fkdat, " variable for billing date
       v_flag(1). " variable for flag

************************************************************************
***************** SELECTION         SCREEN          ********************
************************************************************************

select-options : s_vbeln for vbrk-vbeln , " Billing document
                 s_fkdat for vbrk-fkdat,   " Billing date
                 s_matnr for vbrp-matnr.   " Material number

parameters : r1 radiobutton group g1, "whole item details
             r2 radiobutton group g1. "selected item details
************************************************************************
*****************            INITIALIZATION         ********************
************************************************************************
initialization.

  v_flag = 'X'.
  v_date = sy-datum - 20.
  s_fkdat-sign = 'I'.
  s_fkdat-option = 'EQ'.
  s_fkdat-low = v_date.
  s_fkdat-high = sy-datum.
  append s_fkdat.



************************************************************************
*****************   SELECTION SCREEN VALIDATION     ********************
************************************************************************
at selection-screen.
  perform conversion. " performs data conversion for input
  perform vbeln_validate. " validating the billing document
  perform fkdat_validate. " validating the billing date

************************************************************************
*****************   START OF SELECTION              ********************
************************************************************************
start-of-selection.
  set titlebar  'AAAA'.
  perform vbrk_populate. " populating the billing master detais
  perform fieldcatalog.  " designing the field catalog
  perform events.        " performing the events for top of page
  perform disp_basiclist." displaying the basic list


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  VBELN_VALIDATE
*&amp;amp;---------------------------------------------------------------------*
*       text validating the billing document
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form vbeln_validate .
  if s_vbeln is initial.
*    MESSAGE E000 WITH 'Make entries in all required fields'.
  else.
    select single vbeln
           from vbrk
           into v_vbeln
           where vbeln in s_vbeln.

    if sy-subrc &amp;lt;&amp;gt; 0.
      message i000 with 'BILLING DOCUMENT DOESNT EXIST'.
    endif.
  endif.
endform.                    " VBELN_VALIDATE
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FKDAT_VALIDATE
*&amp;amp;---------------------------------------------------------------------*
*       text validating the billing date
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form fkdat_validate .
  select single fkdat
         from vbrk
         into v_fkdat
         where fkdat in s_fkdat.

  if sy-subrc &amp;lt;&amp;gt; 0.
    message i000 with 'BILLING DATE DOESNT EXIST'.
  endif.
endform.                    " FKDAT_VALIDATE
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  VBRK_POPULATE
*&amp;amp;---------------------------------------------------------------------*
*       text populating the billing master details
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form vbrk_populate .
  data : ld_color(1) type c.
  ld_color = 5.
  select vbrk~vbeln
         vbrk~waerk
         vbrk~vkorg
         vbrk~fkdat
         vbrk~bukrs
         vbrk~netwr
         t001~butxt
  from vbrk inner join t001
  on vbrk~bukrs = t001~bukrs
  into corresponding fields of table it_vbrk
   where vbrk~vbeln in s_vbeln and
         vbrk~fkdat in s_fkdat.
  loop at it_vbrk into wa_vbrk.
    ld_color = ld_color + 1.
    if ld_color = 8.
      ld_color = 1.
    endif.
    concatenate 'C' ld_color '10' into wa_vbrk-line_color.
    modify it_vbrk from wa_vbrk.
  endloop.
endform.                    " VBRK_POPULATE

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CONVERSION
*&amp;amp;---------------------------------------------------------------------*
*       text data conversion to take leading zeroes into account
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form conversion .
  call function 'CONVERSION_EXIT_ALPHA_INPUT'
    exporting
      input  = s_vbeln
    importing
      output = s_vbeln.


endform.                    " CONVERSION
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISP_BASICLIST
*&amp;amp;---------------------------------------------------------------------*
*       text displaying the basic list
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form disp_basiclist .
  call function 'REUSE_ALV_LIST_DISPLAY'
   exporting
*   I_INTERFACE_CHECK              = ' '
*   I_BYPASSING_BUFFER             =
*   I_BUFFER_ACTIVE                = ' '
    i_callback_program             = sy-repid
    i_callback_pf_status_set       = pf_status
    i_callback_user_command        = user_command
*   I_STRUCTURE_NAME               =
    is_layout                      = wa_layout
    it_fieldcat                    = it_fieldcat
*   IT_EXCLUDING                   =
*   IT_SPECIAL_GROUPS              =
*   IT_SORT                        =
*   IT_FILTER                      =
*   IS_SEL_HIDE                    =
*   I_DEFAULT                      = 'X'
    i_save                         = 'X'
*   IS_VARIANT                     =
    it_events                      = it_events
*   IT_EVENT_EXIT                  =
*   IS_PRINT                       =
*   IS_REPREP_ID                   =
*   I_SCREEN_START_COLUMN          = 0
*   I_SCREEN_START_LINE            = 0
*   I_SCREEN_END_COLUMN            = 0
*   I_SCREEN_END_LINE              = 0
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER        =
*   ES_EXIT_CAUSED_BY_USER         =
    tables
      t_outtab                       = it_vbrk
* EXCEPTIONS
*   PROGRAM_ERROR                  = 1
*   OTHERS                         = 2
            .
  if sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.

endform.                    " DISP_BASICLIST
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*       text designing the field catalog
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form fieldcatalog .
  wa_fieldcat-tabname = 'IT_VBRK'.
  wa_fieldcat-fieldname = 'VBELN'.
  wa_fieldcat-seltext_l = 'BILLING DOCUMENT'.
  wa_fieldcat-col_pos = 1.
*  WA_FIELDCAT-EMPHASIZE = 'C610'.
  wa_fieldcat-key = 'X'.
  wa_fieldcat-outputlen = 20.

  append wa_fieldcat to it_fieldcat.
  clear wa_fieldcat.

  wa_fieldcat-tabname = 'IT_VBRK'.
  wa_fieldcat-fieldname = 'WAERK'.
  wa_fieldcat-seltext_l = 'DOCUMENT CURRENCY'.
  wa_fieldcat-col_pos = 2.
  wa_fieldcat-outputlen = 20.

  append wa_fieldcat to it_fieldcat.
  clear wa_fieldcat.

  wa_fieldcat-tabname = 'IT_VBRK'.
  wa_fieldcat-fieldname = 'VKORG'.
  wa_fieldcat-seltext_l = 'SALES ORGANIZATION'.
  wa_fieldcat-emphasize = 'C610'.
  wa_fieldcat-col_pos = 3.
  wa_fieldcat-outputlen = 20.

  append wa_fieldcat to it_fieldcat.
  clear wa_fieldcat.

  wa_fieldcat-tabname = 'IT_VBRK'.
  wa_fieldcat-fieldname = 'FKDAT'.
  wa_fieldcat-seltext_l = 'BILLING DATE'.
  wa_fieldcat-col_pos = 4.
  wa_fieldcat-outputlen = 20.

  append wa_fieldcat to it_fieldcat.
  clear wa_fieldcat.

  wa_fieldcat-tabname = 'IT_VBRK'.
  wa_fieldcat-fieldname = 'BUKRS'.
  wa_fieldcat-seltext_l = 'COMPANY CODE'.
  wa_fieldcat-col_pos = 5.
  wa_fieldcat-outputlen = 20.

  append wa_fieldcat to it_fieldcat.
  clear wa_fieldcat.

  wa_fieldcat-tabname = 'IT_VBRK'.
  wa_fieldcat-fieldname = 'BUTXT'.
  wa_fieldcat-seltext_l = 'COMPANY NAME'.
  wa_fieldcat-col_pos = 6.
  wa_fieldcat-outputlen = 25.

  append wa_fieldcat to it_fieldcat.
  clear wa_fieldcat.

  wa_fieldcat-tabname = 'IT_VBRK'.
  wa_fieldcat-fieldname = 'NETWR'.
  wa_fieldcat-seltext_l = 'NET CURRENCY VALUE'.
  wa_fieldcat-col_pos = 7.
  wa_fieldcat-outputlen = 20.

  append wa_fieldcat to it_fieldcat.
  clear wa_fieldcat.

  wa_layout-zebra = 'X'.
  wa_layout-info_fieldname = 'LINE_COLOR'.
endform.                    " FIELDCATALOG

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form SET_PF_STATUS
*&amp;amp;---------------------------------------------------------------------*
*       text set the pf status
*----------------------------------------------------------------------*

form set_pf_status using extab type slis_t_extab.
  set pf-status 'Z50658_PFSTATUS' excluding extab.
endform.                                          "SET_PF_STATUS


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SET_USER_COMMAND
*&amp;amp;---------------------------------------------------------------------*
*       text set the user command
*----------------------------------------------------------------------*

form set_user_command using r_ucomm
                            rs_selfield type slis_selfield.
  case r_ucomm.
    when 'CLICK'.
      if r1 = 'X'.
        if not it_vbrk is initial.
          select posnr
                 fkimg
                 vrkme
                 netwr
                 matnr
                 arktx
          from vbrp
          into corresponding fields of table it_vbrp
          for all entries in it_vbrk
          where vbeln = it_vbrk-vbeln.
          if sy-subrc &amp;lt;&amp;gt; 0.
            message i000 with ' NO BILLING DETAILS FOUND'.
          else.
            if v_flag = 'X'.
              perform det_fieldcatalog.
              v_flag = ''.
            endif.
            perform det_listdisplay.
          endif.
        endif.
      endif.

      if r2 = 'X'.
        read table it_vbrk into wa_vbrk index rs_selfield-tabindex.
        if sy-subrc = 0.
          select single posnr
                        fkimg
                        vrkme
                        netwr
                        matnr
                        arktx
          from vbrp
          into corresponding fields of wa_vbrp
          where vbeln = wa_vbrk-vbeln.
        endif.
        append wa_vbrp to it_vbrp.
      endif.
      if v_flag = 'X'.
        perform det_fieldcatalog. "designing the field catalog for items
        v_flag = ''.
      endif.
      perform det_listdisplay. "displaying the secondary list

    when 'BACK'.
      leave to screen 0.

    when 'UP'.
      leave to screen 0.

    when 'CANCEL'.
      call transaction 'SE38'.
  endcase.
endform.                                          "SET_USER_COMMAND
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DET_FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*       text designing the field catalog for item details
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form det_fieldcatalog .
  wa_fieldcat1-tabname = 'IT_VBRP'.
  wa_fieldcat1-fieldname = 'POSNR'.
  wa_fieldcat1-seltext_l = 'BILLING ITEM'.
  wa_fieldcat1-col_pos = 1.
  wa_fieldcat1-outputlen = 20.

  append wa_fieldcat1 to it_fieldcat1.
  clear wa_fieldcat1.

  wa_fieldcat1-tabname = 'IT_VBRP'.
  wa_fieldcat1-fieldname = 'FKIMG'.
  wa_fieldcat1-seltext_l = 'INVOICE QUANTITY'.
  wa_fieldcat1-col_pos = 2.
  wa_fieldcat1-outputlen = 20.

  append wa_fieldcat1 to it_fieldcat1.
  clear wa_fieldcat1.

  wa_fieldcat1-tabname = 'IT_VBRP'.
  wa_fieldcat1-fieldname = 'VRKME'.
  wa_fieldcat1-seltext_l = 'SALES UNIT'.
  wa_fieldcat1-col_pos = 3.
  wa_fieldcat1-outputlen = 20.

  append wa_fieldcat1 to it_fieldcat1.
  clear wa_fieldcat1.

  wa_fieldcat1-tabname = 'IT_VBRP'.
  wa_fieldcat1-fieldname = 'NETWR'.
  wa_fieldcat1-seltext_l = 'NET CURRENCY VALUE'.
  wa_fieldcat1-col_pos = 4.
  wa_fieldcat1-outputlen = 20.

  append wa_fieldcat1 to it_fieldcat1.
  clear wa_fieldcat1.

  wa_fieldcat1-tabname = 'IT_VBRP'.
  wa_fieldcat1-fieldname = 'MATNR'.
  wa_fieldcat1-seltext_l = 'MATERIAL NUMBER'.
  wa_fieldcat1-col_pos = 5.
  wa_fieldcat1-outputlen = 20.

  append wa_fieldcat1 to it_fieldcat1.
  clear wa_fieldcat1.


  wa_fieldcat1-tabname = 'IT_VBRP'.
  wa_fieldcat1-fieldname = 'ARKTX'.
  wa_fieldcat1-seltext_l = 'SALES ORDER ITEM'.
  wa_fieldcat1-col_pos = 6.
  wa_fieldcat1-outputlen = 20.

  append wa_fieldcat1 to it_fieldcat1.
  clear wa_fieldcat1.

  wa_layout1-zebra = 'X'.

endform.                    " DET_FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DET_LISTDISPLAY
*&amp;amp;---------------------------------------------------------------------*
*       text displaying the secondary list
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form det_listdisplay .
  call function 'REUSE_ALV_LIST_DISPLAY'
   exporting
*   I_INTERFACE_CHECK              = ' '
*   I_BYPASSING_BUFFER             =
*   I_BUFFER_ACTIVE                = ' '
   i_callback_program             = sy-repid
*   I_CALLBACK_PF_STATUS_SET       = ' '
*   I_CALLBACK_USER_COMMAND        = ' '
*   I_STRUCTURE_NAME               =
     is_layout                      = wa_layout1
     it_fieldcat                    = it_fieldcat1
*   IT_EXCLUDING                   =
*   IT_SPECIAL_GROUPS              =
*   IT_SORT                        =
*   IT_FILTER                      =
*   IS_SEL_HIDE                    =
*   I_DEFAULT                      = 'X'
*   I_SAVE                         = ' '
*   IS_VARIANT                     =
   it_events                      = it_events
*   IT_EVENT_EXIT                  =
*   IS_PRINT                       =
*   IS_REPREP_ID                   =
*   I_SCREEN_START_COLUMN          = 0
*   I_SCREEN_START_LINE            = 0
*   I_SCREEN_END_COLUMN            = 0
*   I_SCREEN_END_LINE              = 0
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER        =
*   ES_EXIT_CAUSED_BY_USER         =
    tables
      t_outtab                       = it_vbrp
* EXCEPTIONS
*   PROGRAM_ERROR                  = 1
*   OTHERS                         = 2
            .
  if sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
  clear it_vbrp[].
endform.                    " DET_LISTDISPLAY
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  EVENTS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form events .
  clear ty_events.
  ty_events-name = slis_ev_top_of_page.
  ty_events-form = 'TOP_OF_PAGE'.
  append ty_events to it_events.
endform.                    " EVENTS

*&amp;amp;--------------------------------------------------------------------*
*&amp;amp;      Form  TOP_OF_PAGE
*&amp;amp;--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
form top_of_page.
  skip.
  uline.
  write :/2 ' DATE :', sy-datum,
          45 'INTELLIGROUP ASIA PVT LTD',
          110 'TIME :', sy-uzeit.
  write : /3 'USER :', sy-uname,
           45 'TITLE :', sy-title,
           110 'PAGE :', sy-pagno.
  uline.
  skip.


endform.                    "TOP_OF_PAGE&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Please award points if fpound helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:31:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365711#M180930</guid>
      <dc:creator>rahulkavuri</dc:creator>
      <dc:date>2006-06-07T10:31:24Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365712#M180931</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;take a look into this progs:&lt;/P&gt;&lt;P&gt;BCALV_GRID_EDIT_DELTA_EVENT&lt;/P&gt;&lt;P&gt;BCALV_SIMPLE_EVENT_RECEIVER&lt;/P&gt;&lt;P&gt;BCALV_TEST_FULLSCREEN_EVENTS&lt;/P&gt;&lt;P&gt;BCALV_TEST_GRID_EVENTS&lt;/P&gt;&lt;P&gt;BCALV_TEST_HIERSEQ_LIST_EVENTS&lt;/P&gt;&lt;P&gt;BCALV_TEST_LIST_EVENTS&lt;/P&gt;&lt;P&gt;BCALV_TOOLBAR_EVENT_RECEIVER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An Interactive 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;P&gt;*&amp;amp; Report  ZZ_22038_22098_002                                          *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; This is an Interactive ALV report, where on line slection we can see&lt;/P&gt;&lt;P&gt;*&amp;amp;  the secondry list&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZZ_22038_22098_002 NO STANDARD PAGE HEADING LINE-SIZE 650&lt;/P&gt;&lt;P&gt;MESSAGE-ID ZZ_9838                      .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;*type declaration for values from ekko&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKKO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;       AEDAT LIKE EKKO-AEDAT,&lt;/P&gt;&lt;P&gt;       BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;P&gt;       BSART LIKE EKKO-BSART,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;       END OF I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKKO TYPE I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declaration for values from ekpo&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKPO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKPO-EBELN,&lt;/P&gt;&lt;P&gt;       EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;       MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;       MENGE LIKE EKPO-MENGE,&lt;/P&gt;&lt;P&gt;       MEINS LIKE EKPO-MEINS,&lt;/P&gt;&lt;P&gt;       NETPR LIKE EKPO-NETPR,&lt;/P&gt;&lt;P&gt;       END OF I_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKPO TYPE I_EKPO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*variable for Report ID&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*declaration for fieldcatalog&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for events table where user comand or set PF status will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be defined&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: V_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      WA_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declartion for layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for variant(type of display we want)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_VARIANT TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_VARIANT1 TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_SAVE(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PARAMETERS : p_var TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Title displayed when the alv list is displayed&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATLOG.&lt;/P&gt;&lt;P&gt;  PERFORM EVENT_CALL.&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_FIELDCATLOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Fieldcatalog has all the field details from ekko&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELDCATLOG.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DATE.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-NO_OUT    = 'X'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EVENT_CALL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENT_CALL.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     ET_EVENTS             = V_EVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "EVENT_CALL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Events populated for TOP OF PAGE &amp;amp; USER COMAND&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POPULATE_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-NAME.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  data_retrieval&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  retreiving values from the database table ekko&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;  SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "data_retrieval&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bUild_listheader&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;I_LISTHEADEtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA HLINE TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  HLINE-INFO = 'this is my first alv pgm'.&lt;/P&gt;&lt;P&gt;  HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_listheader&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv_report&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PROGRAM                = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;     I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;     I_GRID_TITLE                      = I_TITLE_EKKO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         = ALV_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_default                         = 'ZLAY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    is_variant                        = i_variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = IT_EKKO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "display_alv_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  CASE R_UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_ALV_EKPO.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "user_command&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_FIELDCATLOG_EKPO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'LINE NO'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'UOM'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'NETPR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PRICE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG_EKPO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  event_call_ekpo&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     ET_EVENTS             = V_EVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "event_call_ekpo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Events populated for TOP OF PAGE &amp;amp; USER COMAND&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.                    "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*retreiving values from the database table ekko&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: HLINE1 TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;HLINE1-TYP = 'H'.&lt;/P&gt;&lt;P&gt;HLINE1-INFO = 'CHECKING PGM'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_EKPO.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_GRID_TITLE                      = I_TITLE_EKPO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = IT_EKPO&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;   OTHERS                            = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;latheesh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Latheesh Kaduthara&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:31:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365712#M180931</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:31:35Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365713#M180932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Check in this&lt;/P&gt;&lt;P&gt;  &lt;A href="http://www.sapgenie.com/" target="test_blank"&gt;http://www.sapgenie.com/&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:31:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365713#M180932</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:31:59Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365714#M180933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;check this code:&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;*type declaration for values from ekko&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKKO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;       AEDAT LIKE EKKO-AEDAT,&lt;/P&gt;&lt;P&gt;       BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;P&gt;       BSART LIKE EKKO-BSART,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;       END OF I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKKO TYPE I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declaration for values from ekpo&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKPO,&lt;/P&gt;&lt;P&gt;       EBELN LIKE EKPO-EBELN,&lt;/P&gt;&lt;P&gt;       EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;       MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;       MENGE LIKE EKPO-MENGE,&lt;/P&gt;&lt;P&gt;       MEINS LIKE EKPO-MEINS,&lt;/P&gt;&lt;P&gt;       NETPR LIKE EKPO-NETPR,&lt;/P&gt;&lt;P&gt;       END OF I_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_EKPO TYPE I_EKPO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*variable for Report ID&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*declaration for fieldcatalog&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for events table where user comand or set PF status will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be defined&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: V_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      WA_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declartion for layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for variant(type of display we want)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_VARIANT TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_VARIANT1 TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      I_SAVE(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PARAMETERS : p_var TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Title displayed when the alv list is displayed&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;DATA:  I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATLOG.&lt;/P&gt;&lt;P&gt;  PERFORM EVENT_CALL.&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_FIELDCATLOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Fieldcatalog has all the field details from ekko&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELDCATLOG.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DATE.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-NO_OUT    = 'X'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EVENT_CALL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENT_CALL.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     ET_EVENTS             = V_EVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "EVENT_CALL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Events populated for TOP OF PAGE &amp;amp; USER COMAND&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POPULATE_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-NAME.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  data_retrieval&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  retreiving values from the database table ekko&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;  SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "data_retrieval&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bUild_listheader&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;I_LISTHEADEtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA HLINE TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  HLINE-INFO = 'this is my first alv pgm'.&lt;/P&gt;&lt;P&gt;  HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_listheader&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv_report&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PROGRAM                = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;     I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;     I_GRID_TITLE                      = I_TITLE_EKKO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         = ALV_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    i_default                         = 'ZLAY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    is_variant                        = i_variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = IT_EKKO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "display_alv_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  CASE R_UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_ALV_EKPO.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "user_command&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_FIELDCATLOG_EKPO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'LINE NO'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'UOM'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-FIELDNAME = 'NETPR'.&lt;/P&gt;&lt;P&gt;  WA_FIELDCAT-SELTEXT_M = 'PRICE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATLOG_EKPO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  event_call_ekpo&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  we get all events - TOP OF PAGE or USER COMMAND in table v_events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     ET_EVENTS             = V_EVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "event_call_ekpo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Events populated for TOP OF PAGE &amp;amp; USER COMAND&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.                    "POPULATE_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY       = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;R_UCOMM    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;,          text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SLEFIELDtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*retreiving values from the database table ekko&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: HLINE1 TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;HLINE1-TYP = 'H'.&lt;/P&gt;&lt;P&gt;HLINE1-INFO = 'CHECKING PGM'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_EKPO.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_GRID_TITLE                      = I_TITLE_EKPO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_SAVE                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = V_EVENTS&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = IT_EKPO&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;   OTHERS                            = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;award if helpful.&lt;/P&gt;&lt;P&gt;regards,.&lt;/P&gt;&lt;P&gt;keerthi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:34:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365714#M180933</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:34:25Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365715#M180934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  ZTEST_ALV_CHECK     message-id zz           .


TYPE-POOLS: SLIS.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
      IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
      L_LAYOUT type slis_layout_alv.


DATA: BEGIN OF ITAB OCCURS 0,
      VBELN LIKE VBAK-VBELN,
      POSNR LIKE VBAP-POSNR,
     END OF ITAB.

SELECT VBELN
       POSNR
       FROM VBAP
       UP TO 20 ROWS
       INTO TABLE ITAB.



X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.

X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    I_CALLBACK_PROGRAM       = SY-REPID
    IS_LAYOUT                = L_LAYOUT
&amp;lt;b&amp;gt;    I_CALLBACK_PF_STATUS_SET = 'STATUS'
    I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'&amp;lt;/b&amp;gt;
    IT_FIELDCAT              = IT_FIELDCAT
  TABLES
    T_OUTTAB                 = ITAB
  EXCEPTIONS
    PROGRAM_ERROR            = 1
    OTHERS                   = 2.
IF SY-SUBRC &amp;lt;&amp;gt; 0.

  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  STATUS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_EXTAB    text
*----------------------------------------------------------------------*
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
*- Pf status
&amp;lt;b&amp;gt;  SET PF-STATUS 'STATUS'.&amp;lt;/b&amp;gt;
ENDFORM.                 " STATUS

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_COMMAND
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;R_UCOMM      text
*      --&amp;gt;RS_SELFIELD  text
*----------------------------------------------------------------------*
&amp;lt;b&amp;gt;FORM USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                               RS_SELFIELD TYPE SLIS_SELFIELD.

  case r_ucomm.

    when 'BACK' or 'CANC' or 'EXIT'.
      leave to screen 0.
    when '&amp;amp;IC1'.
       if rs_selfield-fieldname = 'VBELN'.
*      message i000 with 'clicked on row' rs_Selfield-tabindex.
      set parameter id 'AUN' field rs_selfield-value.
      call transaction 'VA03' and skip first screen.
      endif.
  endcase.
ENDFORM.                    "USER_COMMAND&amp;lt;/b&amp;gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you need set the PF-status and the User-command. and enable F2 key that is for double clicking, set the Function code '&amp;amp;IC1' for f2 key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then it will work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:36:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365715#M180934</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:36:29Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365716#M180935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Look into following programs:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BCALV_GRID_EDIT_DELTA_EVENT&lt;/P&gt;&lt;P&gt;BCALV_SIMPLE_EVENT_RECEIVER&lt;/P&gt;&lt;P&gt;BCALV_TEST_FULLSCREEN_EVENTS&lt;/P&gt;&lt;P&gt;BCALV_TEST_GRID_EVENTS&lt;/P&gt;&lt;P&gt;BCALV_TEST_HIERSEQ_LIST_EVENTS&lt;/P&gt;&lt;P&gt;BCALV_TEST_LIST_EVENTS&lt;/P&gt;&lt;P&gt;BCALV_TOOLBAR_EVENT_RECEIVER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can also refer to following links:&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="547174"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1172693"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="283960"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="30475"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/sapcircle/" target="test_blank"&gt;http://www.geocities.com/sapcircle/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Kindly reward if helpful&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Shakuntala&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 10:45:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365716#M180935</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T10:45:22Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-INTERACTIVE.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365717#M180936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try using the transaction DWDM, which is a demo center for SAP. This center has many examples.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regs,&lt;/P&gt;&lt;P&gt;Venkat Ramanan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 11:07:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1365717#M180936</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T11:07:25Z</dc:date>
    </item>
  </channel>
</rss>

