<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: alv interactive in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497244#M841199</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 following link:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/an-interactive-alv-report.htm" target="test_blank"&gt;http://www.sap-img.com/abap/an-interactive-alv-report.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regrds,&lt;/P&gt;&lt;P&gt;Bhaskar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Mar 2008 10:58:50 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-05T10:58:50Z</dc:date>
    <item>
      <title>alv interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497243#M841198</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can someone give me a code for alv interactive when i click on a field in basic i shud get  next list.&lt;/P&gt;&lt;P&gt;if i click other fields it shud not give the list unless i code it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 10:55:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497243#M841198</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T10:55:12Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497244#M841199</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 following link:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/an-interactive-alv-report.htm" target="test_blank"&gt;http://www.sap-img.com/abap/an-interactive-alv-report.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regrds,&lt;/P&gt;&lt;P&gt;Bhaskar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 10:58:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497244#M841199</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T10:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497245#M841200</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,it may be helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/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;                  TYPES DECLARATION                                  *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- To hold the Customer details&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_KNA1,&lt;/P&gt;&lt;P&gt;        KUNNR TYPE KUNNR,       "Customer No&lt;/P&gt;&lt;P&gt;        NAME1 TYPE NAME1,       "Name of the customer&lt;/P&gt;&lt;P&gt;       END OF TY_KNA1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Sales document no's&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_VBAK,&lt;/P&gt;&lt;P&gt;        VBELN TYPE VBELN_VA,    "Sales Document no&lt;/P&gt;&lt;P&gt;        ERDAT TYPE ERDAT,       "Doc Creation date&lt;/P&gt;&lt;P&gt;        AUDAT TYPE AUDAT,       "Document date&lt;/P&gt;&lt;P&gt;        VKORG TYPE VKORG,       "Sales organization&lt;/P&gt;&lt;P&gt;       END OF TY_VBAK,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Sales document item details&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_VBAP,&lt;/P&gt;&lt;P&gt;        VBELN  TYPE VBELN_VA,    "Sales document no&lt;/P&gt;&lt;P&gt;        POSNR  TYPE POSNR_VA,    "Sales document Item&lt;/P&gt;&lt;P&gt;        MATNR  TYPE MATNR,       "material No&lt;/P&gt;&lt;P&gt;        KWMENG TYPE KWMENG,      "Order qty&lt;/P&gt;&lt;P&gt;       END OF TY_VBAP,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Delivery document no&lt;/P&gt;&lt;P&gt;       BEGIN OF TY_LIPS,&lt;/P&gt;&lt;P&gt;        VBELN TYPE VBELN_VL,        "Delivery document no&lt;/P&gt;&lt;P&gt;       END OF TY_LIPS.&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;                Internal tables DECLARATION                          *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_KNA1  TYPE STANDARD TABLE OF TY_KNA1,&lt;/P&gt;&lt;P&gt;      IT_VBAK  TYPE STANDARD TABLE OF TY_VBAK,&lt;/P&gt;&lt;P&gt;      IT_VBAP  TYPE STANDARD TABLE OF TY_VBAP,&lt;/P&gt;&lt;P&gt;      IT_LIPS  TYPE STANDARD TABLE OF TY_LIPS,&lt;/P&gt;&lt;P&gt;      IT_FCAT1 TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      IT_FCAT2 TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      IT_FCAT3 TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      IT_FCAT4 TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      IT_EVENT TYPE SLIS_T_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;P&gt;*&amp;amp;                Data DECLARATION                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_REPID TYPE SY-REPID,&lt;/P&gt;&lt;P&gt;      V_KUNNR TYPE KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;      X_FCAT  TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      V_IND     TYPE I,&lt;/P&gt;&lt;P&gt;      V_STATUS  TYPE SLIS_FORMNAME,&lt;/P&gt;&lt;P&gt;      V_USER    TYPE SLIS_FORMNAME.&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;                                                     *&lt;/P&gt;&lt;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;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-H01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_KUNNR FOR V_KUNNR.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_HITS TYPE CHAR5.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END   OF BLOCK B1.&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;                Intialization                                        *&lt;/P&gt;&lt;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;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: IT_KNA1,&lt;/P&gt;&lt;P&gt;         IT_VBAK,&lt;/P&gt;&lt;P&gt;         IT_VBAP,&lt;/P&gt;&lt;P&gt;         IT_LIPS,&lt;/P&gt;&lt;P&gt;         X_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: IT_KNA1,&lt;/P&gt;&lt;P&gt;           IT_VBAK,&lt;/P&gt;&lt;P&gt;           IT_VBAP,&lt;/P&gt;&lt;P&gt;           IT_LIPS,&lt;/P&gt;&lt;P&gt;           IT_FCAT1,&lt;/P&gt;&lt;P&gt;           IT_FCAT2,&lt;/P&gt;&lt;P&gt;           IT_FCAT3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&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;                start-of-selection                                  *&lt;/P&gt;&lt;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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Fetch the Customer details from KNA1&lt;/P&gt;&lt;P&gt;  PERFORM F_GET_KNA1.&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;                end-of-selection                                     *&lt;/P&gt;&lt;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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_IND = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM F_FILL_FIELDCATALOG USING IT_FCAT1&lt;/P&gt;&lt;P&gt;                                    V_IND.&lt;/P&gt;&lt;P&gt;  PERFORM F_FILL_ALVLAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_STATUS = 'F_SET_PFSTATUS'.&lt;/P&gt;&lt;P&gt;  V_USER   = 'F_USER_COMMAND'.&lt;/P&gt;&lt;P&gt;  PERFORM F_ALV_DISPLAY USING IT_FCAT1&lt;/P&gt;&lt;P&gt;                              IT_KNA1&lt;/P&gt;&lt;P&gt;                              V_STATUS&lt;/P&gt;&lt;P&gt;                              V_USER.&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  f_get_kna1&lt;/P&gt;&lt;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;*Fetch the customers no&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_GET_KNA1 .&lt;/P&gt;&lt;P&gt;*--- Get the customer information&lt;/P&gt;&lt;P&gt;  SELECT KUNNR&lt;/P&gt;&lt;P&gt;         NAME1&lt;/P&gt;&lt;P&gt;         FROM KNA1&lt;/P&gt;&lt;P&gt;         UP TO P_HITS ROWS&lt;/P&gt;&lt;P&gt;         INTO TABLE IT_KNA1&lt;/P&gt;&lt;P&gt;         WHERE KUNNR IN S_KUNNR.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    SORT IT_KNA1 BY KUNNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_kna1&lt;/P&gt;&lt;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_fill_fieldcatalog&lt;/P&gt;&lt;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_FILL_FIELDCATALOG USING P_FCAT TYPE  SLIS_T_FIELDCAT_ALV&lt;/P&gt;&lt;P&gt;                               P_IND  TYPE  I.&lt;/P&gt;&lt;P&gt;  IF P_IND = 1.&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_KNA1'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'KUNNR'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Customer'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Customer'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Customer'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_KNA1'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'NAME1'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Customer Name'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Customer Name'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Customer Name'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF P_IND = 2.&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_VBAK'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'VBELN'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_VBAK'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'ERDAT'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Creation Dt'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Creation Dt'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Creation Dt'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_VBAK'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'AUDAT'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Doc Dt'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Doc Dt'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Doc Dt'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_VBAK'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'VKORG'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Sales Org'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Sales Org'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Sales Org'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT2.&lt;/P&gt;&lt;P&gt;  ELSEIF P_IND = 3.&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_VBAP'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'VBELN'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_VBAP'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'POSNR'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Sales doc itm'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Sales doc itm'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Sales doc itm'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_VBAP'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'MATNR'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Material'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Material'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Material'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_VBAP'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'KWMENG'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'QTY'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'QTY'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'QTY'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF P_IND = 4.&lt;/P&gt;&lt;P&gt;*--- Change reference field name and refrence table&lt;/P&gt;&lt;P&gt;    CLEAR X_FCAT.&lt;/P&gt;&lt;P&gt;    X_FCAT-TABNAME        = 'IT_LIPS'.&lt;/P&gt;&lt;P&gt;    X_FCAT-FIELDNAME      = 'VBELN'.&lt;/P&gt;&lt;P&gt;    X_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_L      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_M      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    X_FCAT-SELTEXT_S      = 'Sales doc'.&lt;/P&gt;&lt;P&gt;    APPEND X_FCAT TO IT_FCAT4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_fill_fieldcatalog&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  f_fill_alvlayout&lt;/P&gt;&lt;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_FILL_ALVLAYOUT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_fill_alvlayout&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  f_alv_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 F_ALV_DISPLAY USING P_FCAT   TYPE  SLIS_T_FIELDCAT_ALV&lt;/P&gt;&lt;P&gt;                         P_TAB    TYPE STANDARD TABLE&lt;/P&gt;&lt;P&gt;                         P_STATUS TYPE SLIS_FORMNAME&lt;/P&gt;&lt;P&gt;                         P_USER   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;P&gt;   EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             = I_BYPASSING_BUFFER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_CALLBACK_PROGRAM             = V_REPID&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PF_STATUS_SET       = P_STATUS&lt;/P&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND        = P_USER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               = I_STRUCTURE_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                      = IS_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IT_FIELDCAT                    = P_FCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   = IT_EXCLUDING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              = IT_SPECIAL_GROUPS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        = IT_SORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      = IT_FILTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    = IS_SEL_HIDE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     = IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                      = IT_EVENTS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  = IT_EVENT_EXIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       = IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   = IS_REPREP_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_LIST_ADAPTER           = IR_SALV_LIST_ADAPTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                = IT_EXCEPT_QINFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        = E_EXIT_CAUSED_BY_CALLER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         = ES_EXIT_CAUSED_BY_USER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                       = P_TAB&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;     OTHERS                         = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_alv_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  f_set_pfstatus&lt;/P&gt;&lt;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;RT_EXTAB   TYPE SLIS_T_EXTAB&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_SET_PFSTATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_STATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "f_set_pfstatus&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  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;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_USER_COMMAND  USING&lt;/P&gt;&lt;P&gt;   UCMD          LIKE SY-UCOMM          " SY-UCOMM value&lt;/P&gt;&lt;P&gt;   FIELDINFO     TYPE SLIS_SELFIELD.     " Current ALV Cell &amp;amp; ALV Info&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ALV_FCAT_DTEL TYPE TYP_T_FCAT_DTEL.  " Table utilized by std ucmd&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA LV_KUNNR TYPE KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF UCMD = '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;    LV_KUNNR = FIELDINFO-VALUE.&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  = LV_KUNNR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = LV_KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT  VBELN&lt;/P&gt;&lt;P&gt;            ERDAT&lt;/P&gt;&lt;P&gt;            AUDAT&lt;/P&gt;&lt;P&gt;            VKORG&lt;/P&gt;&lt;P&gt;            FROM VBAK&lt;/P&gt;&lt;P&gt;            INTO TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;            WHERE KUNNR = LV_KUNNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      SORT IT_VBAK BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH IT_FCAT2.&lt;/P&gt;&lt;P&gt;      V_IND = 2.&lt;/P&gt;&lt;P&gt;      PERFORM F_FILL_FIELDCATALOG USING IT_FCAT2&lt;/P&gt;&lt;P&gt;                                        V_IND.&lt;/P&gt;&lt;P&gt;      PERFORM F_FILL_ALVLAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_STATUS = 'F_SET_PFSTATUS1'.&lt;/P&gt;&lt;P&gt;      V_USER   = 'F_USER_COMMAND1'.&lt;/P&gt;&lt;P&gt;      PERFORM F_ALV_DISPLAY USING IT_FCAT2&lt;/P&gt;&lt;P&gt;                                  IT_VBAK&lt;/P&gt;&lt;P&gt;                                  V_STATUS&lt;/P&gt;&lt;P&gt;                                  V_USER.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "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;*&amp;amp;      Form  f_set_pfstatus1&lt;/P&gt;&lt;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;RT_EXTAB   TYPE SLIS_T_EXTAB&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_SET_PFSTATUS1 USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_STATUS1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "f_set_pfstatus&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  f_user_command1&lt;/P&gt;&lt;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_USER_COMMAND1  USING&lt;/P&gt;&lt;P&gt;   UCMD          LIKE SY-UCOMM          " SY-UCOMM value&lt;/P&gt;&lt;P&gt;   FIELDINFO     TYPE SLIS_SELFIELD.     " Current ALV Cell &amp;amp; ALV Info&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ALV_FCAT_DTEL TYPE TYP_T_FCAT_DTEL.  " Table utilized by std ucmd&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LV_VBELN TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF UCMD = 'SALES'.&lt;/P&gt;&lt;P&gt;    LV_VBELN = FIELDINFO-VALUE.&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  = LV_VBELN&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = LV_VBELN.&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;           MATNR&lt;/P&gt;&lt;P&gt;           KWMENG&lt;/P&gt;&lt;P&gt;           FROM VBAP&lt;/P&gt;&lt;P&gt;           INTO TABLE IT_VBAP&lt;/P&gt;&lt;P&gt;           WHERE VBELN = LV_VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      SORT IT_VBAP BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH IT_FCAT3.&lt;/P&gt;&lt;P&gt;      V_IND = 3.&lt;/P&gt;&lt;P&gt;      PERFORM F_FILL_FIELDCATALOG USING IT_FCAT3&lt;/P&gt;&lt;P&gt;                                        V_IND.&lt;/P&gt;&lt;P&gt;      PERFORM F_FILL_ALVLAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_STATUS = 'F_SET_PFSTATUS2'.&lt;/P&gt;&lt;P&gt;      V_USER   = 'F_USER_COMMAND2'.&lt;/P&gt;&lt;P&gt;      PERFORM F_ALV_DISPLAY USING IT_FCAT3&lt;/P&gt;&lt;P&gt;                                  IT_VBAP&lt;/P&gt;&lt;P&gt;                                  V_STATUS&lt;/P&gt;&lt;P&gt;                                  V_USER.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF UCMD = 'DELVR'.&lt;/P&gt;&lt;P&gt;    LV_VBELN = FIELDINFO-VALUE.&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  = LV_VBELN&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = LV_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT VBELN&lt;/P&gt;&lt;P&gt;           FROM LIPS&lt;/P&gt;&lt;P&gt;           INTO TABLE IT_LIPS&lt;/P&gt;&lt;P&gt;           WHERE VBELN = LV_VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      SORT IT_LIPS BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_IND = 4.&lt;/P&gt;&lt;P&gt;      REFRESH IT_FCAT4.&lt;/P&gt;&lt;P&gt;      PERFORM F_FILL_FIELDCATALOG USING IT_FCAT4&lt;/P&gt;&lt;P&gt;                                        V_IND.&lt;/P&gt;&lt;P&gt;      PERFORM F_FILL_ALVLAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_STATUS = 'F_SET_PFSTATUS3'.&lt;/P&gt;&lt;P&gt;      PERFORM F_ALV_DISPLAY USING IT_FCAT4&lt;/P&gt;&lt;P&gt;                                  IT_LIPS&lt;/P&gt;&lt;P&gt;                                  V_STATUS&lt;/P&gt;&lt;P&gt;                                  SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "f_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  f_set_pfstatus2&lt;/P&gt;&lt;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;RT_EXTAB   TYPE SLIS_T_EXTAB&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_SET_PFSTATUS2 USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_STATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "f_set_pfstatus&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  f_set_pfstatus3&lt;/P&gt;&lt;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;RT_EXTAB   TYPE SLIS_T_EXTAB&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_SET_PFSTATUS3 USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_STATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "f_set_pfstatus&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;vineela&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 10:58:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497245#M841200</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T10:58: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/3497246#M841201</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;just check this code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : ekko,&lt;/P&gt;&lt;P&gt;         ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: s_ebeln for ekko-ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;data: begin of headertab occurs 0,&lt;/P&gt;&lt;P&gt;       ebeln like ekko-ebeln,&lt;/P&gt;&lt;P&gt;       bstyp like ekko-bstyp,&lt;/P&gt;&lt;P&gt;       bsart like ekko-bsart,&lt;/P&gt;&lt;P&gt;       statu like ekko-statu,&lt;/P&gt;&lt;P&gt;      end of headertab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of itemtab occurs 0,&lt;/P&gt;&lt;P&gt;       ebeln like ekpo-ebeln,&lt;/P&gt;&lt;P&gt;       ebelp like ekpo-ebelp,&lt;/P&gt;&lt;P&gt;       matnr like ekpo-matnr,&lt;/P&gt;&lt;P&gt;       werks like ekpo-werks,&lt;/P&gt;&lt;P&gt;       menge like ekpo-menge,&lt;/P&gt;&lt;P&gt;       netpr like ekpo-netpr,&lt;/P&gt;&lt;P&gt;       peinh like ekpo-peinh,&lt;/P&gt;&lt;P&gt;       netwr like ekpo-netwr,&lt;/P&gt;&lt;P&gt;      end of itemtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of level2 occurs 0,&lt;/P&gt;&lt;P&gt;         ebeln like ekpo-ebeln,&lt;/P&gt;&lt;P&gt;         ebelp like ekpo-ebelp,&lt;/P&gt;&lt;P&gt;         matnr like ekpo-matnr,&lt;/P&gt;&lt;P&gt;         werks like ekpo-werks,&lt;/P&gt;&lt;P&gt;         menge like ekpo-menge,&lt;/P&gt;&lt;P&gt;         netpr like ekpo-netpr,&lt;/P&gt;&lt;P&gt;         peinh like ekpo-peinh,&lt;/P&gt;&lt;P&gt;         netwr like ekpo-netwr,&lt;/P&gt;&lt;P&gt;        end of level2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: i_fieldcat  type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      i_fieldcat1 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: v_repid like sy-repid,&lt;/P&gt;&lt;P&gt;      v_layout type slis_layout_alv,&lt;/P&gt;&lt;P&gt;      v_events type slis_t_event,&lt;/P&gt;&lt;P&gt;      v_print type slis_print_alv,&lt;/P&gt;&lt;P&gt;      l_fieldcat type slis_fieldcat_alv.&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;  v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select    ebeln&lt;/P&gt;&lt;P&gt;            bstyp&lt;/P&gt;&lt;P&gt;            bsart&lt;/P&gt;&lt;P&gt;            statu&lt;/P&gt;&lt;P&gt;     into table headertab&lt;/P&gt;&lt;P&gt;     from ekko&lt;/P&gt;&lt;P&gt;     where ebeln in s_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not headertab[] is initial.&lt;/P&gt;&lt;P&gt;    select   ebeln&lt;/P&gt;&lt;P&gt;             ebelp&lt;/P&gt;&lt;P&gt;             matnr&lt;/P&gt;&lt;P&gt;             werks&lt;/P&gt;&lt;P&gt;             menge&lt;/P&gt;&lt;P&gt;             netpr&lt;/P&gt;&lt;P&gt;             peinh&lt;/P&gt;&lt;P&gt;             netwr&lt;/P&gt;&lt;P&gt;       into table itemtab&lt;/P&gt;&lt;P&gt;       from ekpo&lt;/P&gt;&lt;P&gt;       for all entries in headertab&lt;/P&gt;&lt;P&gt;       where ebeln = headertab-ebeln.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_program_name               =  v_repid&lt;/P&gt;&lt;P&gt;      i_internal_tabname           = 'HEADERTAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_inclname                   = v_repid&lt;/P&gt;&lt;P&gt;      i_bypassing_buffer           = 'X'&lt;/P&gt;&lt;P&gt;      i_buffer_active              = ' '&lt;/P&gt;&lt;P&gt;    changing&lt;/P&gt;&lt;P&gt;      ct_fieldcat                  = i_fieldcat&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;      program_error                = 2&lt;/P&gt;&lt;P&gt;      others                       = 3&lt;/P&gt;&lt;P&gt;      .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_fieldcat into l_fieldcat.&lt;/P&gt;&lt;P&gt;    case l_fieldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'EBELN'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;        modify i_fieldcat from l_fieldcat.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_bypassing_buffer             = 'X'&lt;/P&gt;&lt;P&gt;      i_buffer_active                = ' '&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    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                      = 'X'&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;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab                       = headertab&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;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_SELFIELDtext&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;&lt;/P&gt;&lt;P&gt;  if rs_selfield-fieldname eq 'EBELN'.&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 headertab index rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;        refresh level2.&lt;/P&gt;&lt;P&gt;        clear level2.&lt;/P&gt;&lt;P&gt;        loop at itemtab where ebeln = headertab-ebeln.&lt;/P&gt;&lt;P&gt;          append itemtab to level2.&lt;/P&gt;&lt;P&gt;        endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;          exporting&lt;/P&gt;&lt;P&gt;             i_program_name               =  v_repid&lt;/P&gt;&lt;P&gt;             i_internal_tabname           = 'LEVEL2'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             i_inclname                   =  v_repid&lt;/P&gt;&lt;P&gt;             i_bypassing_buffer           = 'X'&lt;/P&gt;&lt;P&gt;             i_buffer_active              = ' '&lt;/P&gt;&lt;P&gt;         changing&lt;/P&gt;&lt;P&gt;             ct_fieldcat                  = i_fieldcat1&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;             inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;             program_error                = 2&lt;/P&gt;&lt;P&gt;             others                       = 3&lt;/P&gt;&lt;P&gt;                   .&lt;/P&gt;&lt;P&gt;        if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;          exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            i_bypassing_buffer             = 'X'&lt;/P&gt;&lt;P&gt;            i_buffer_active                = ' '&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;LI level="1" type="ul"&gt;&lt;P&gt;          I_CALLBACK_USER_COMMAND        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          I_STRUCTURE_NAME               =&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_fieldcat1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/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;LI level="1" type="ul"&gt;&lt;P&gt;          IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          tables&lt;/P&gt;&lt;P&gt;            t_outtab                       = level2&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;    endcase.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    "USER_COMMAND&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 11:01:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497246#M841201</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T11:01:40Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497247#M841202</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;here is the sample code .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMM USING P_COMM LIKE SY-UCOMM  P_FIELD TYPE SLIS_SELFIELD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF P_COMM = '&amp;amp;IC1' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT OBJECT&lt;/P&gt;&lt;P&gt;       OBJ_NAME FROM E071&lt;/P&gt;&lt;P&gt;       INTO TABLE IT_TMP1&lt;/P&gt;&lt;P&gt;       WHERE TRKORR = P_FIELD-VALUE&lt;/P&gt;&lt;P&gt;       AND  ( OBJECT EQ 'PROG'  OR  OBJECT EQ 'TRAN' OR OBJECT EQ 'TABL'&lt;/P&gt;&lt;P&gt;       OR OBJECT EQ 'FUGR'  OR OBJECT  EQ 'REPS' OR OBJECT EQ 'DYNP' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i hope it will help u .&lt;/P&gt;&lt;P&gt;regards ,&lt;/P&gt;&lt;P&gt;srinivas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 11:03:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497247#M841202</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T11:03:10Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497248#M841203</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 like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZINT_ALV
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zint_alv.

TYPE-POOLS:slis.

TABLES:mara,
       makt,
       mseg.

DATA:BEGIN OF itab OCCURS 0,
      matnr LIKE mara-matnr,
      maktx LIKE makt-maktx,
      cellcolors TYPE lvc_t_scol,
     END OF itab.

DATA:BEGIN OF itab1 OCCURS 0,
      mblnr LIKE mseg-mblnr,
      menge LIKE mseg-menge,
      meins LIKE mseg-meins,
      werks LIKE mseg-werks,
     END OF itab1.

DATA:BEGIN OF itab2 OCCURS 0,
      mblnr LIKE mseg-mblnr,
      budat LIKE mkpf-budat,
     END OF itab2.

DATA:fcat TYPE slis_t_fieldcat_alv,
     fcat1 TYPE slis_t_fieldcat_alv,
     fcat2 TYPE slis_t_fieldcat_alv,
     eve TYPE slis_t_event,
     eve1 TYPE slis_t_event.

DATA:t_mat LIKE mara-matnr,
     t_doc LIKE mseg-mblnr,
     s_mat LIKE mara-matnr,
     g_repid LIKE sy-repid,
     subtot TYPE slis_t_sortinfo_alv,
     g_subtot LIKE LINE OF subtot.

SELECTION-SCREEN:BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:mat FOR mara-matnr OBLIGATORY.
SELECTION-SCREEN:END OF BLOCK blk1.



INITIALIZATION.
  PERFORM build_fcat USING fcat.
  PERFORM build_eve.

START-OF-SELECTION.

  PERFORM get_data.
  PERFORM dis_data.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_fcat
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;T_FCAT     text
*----------------------------------------------------------------------*
FORM build_fcat USING t_fcat TYPE slis_t_fieldcat_alv.

  DATA:wa_fcat TYPE slis_fieldcat_alv.

  wa_fcat-tabname = 'ITAB'.
  wa_fcat-fieldname = 'MATNR'.
  wa_fcat-ref_fieldname = 'MATNR'.
  wa_fcat-ref_tabname = 'MARA'.
  wa_fcat-seltext_m = 'Material'.
*  wa_fcat-input = ' '.
*  wa_fcat-edit = 'X'.
  wa_fcat-input = 'X'.
*  wa_fcat-key = 'X'.

  APPEND wa_fcat TO t_fcat.
  CLEAR wa_fcat.

  wa_fcat-tabname = 'ITAB'.
  wa_fcat-fieldname = 'MAKTX'.
  wa_fcat-seltext_m = 'Description'.
  APPEND wa_fcat TO t_fcat.
  CLEAR wa_fcat.

ENDFORM.                    "build_fcat

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_eve
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM build_eve.

  DATA:t_eve TYPE slis_alv_event.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
   EXPORTING
     i_list_type           = 0
   IMPORTING
     et_events             = eve
* EXCEPTIONS
*   LIST_TYPE_WRONG       = 1
*   OTHERS                = 2
            .
  IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    "build_eve

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_data
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM get_data.

  SELECT mara~matnr makt~maktx INTO CORRESPONDING FIELDS OF TABLE itab
  FROM mara INNER JOIN makt
  ON mara~matnr = makt~matnr
  WHERE mara~matnr IN mat.
ENDFORM.                    "get_data

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  dis_data
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM dis_data.

  g_repid = sy-repid.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
     i_callback_program                = g_repid         
     i_callback_user_command           = 'USER_COMMAND'
     i_grid_title                      = 'Interactive ALV'
     it_fieldcat                       = fcat
     it_events                         = eve
    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.

ENDFORM.                    "dis_data

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  user_command
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;U_COM      text
*----------------------------------------------------------------------*
FORM user_command USING u_com LIKE sy-ucomm sel_field TYPE slis_selfield.

  CLEAR fcat1.

  CASE u_com.
    WHEN '&amp;amp;IC1'.
      READ TABLE itab INDEX sel_field-tabindex.
      IF sel_field-fieldname = 'MATNR'.
        IF sy-subrc = 0.
          t_mat = itab-matnr.
          PERFORM build_cat1 USING fcat1.
          PERFORM build_eve1.
          PERFORM get_data1.
          PERFORM dis_data1.

        ENDIF.
      ELSE.
        MESSAGE 'No data' TYPE 'I'.
      ENDIF.
*      SET PARAMETER ID 'MAT' FIELD t_mat.
*      CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
  ENDCASE.

ENDFORM.                    "user_command

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_fcat1
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;T_FCAT1    text
*----------------------------------------------------------------------*
FORM build_cat1 USING t_fcat1 TYPE slis_t_fieldcat_alv.

  DATA:wa_fcat1 TYPE slis_fieldcat_alv.

  wa_fcat1-tabname = 'ITAB1'.
  wa_fcat1-fieldname = 'MBLNR'.
  wa_fcat1-seltext_m = 'Material Doc.'.
  APPEND wa_fcat1 TO t_fcat1.
  CLEAR wa_fcat1.

  wa_fcat1-tabname = 'ITAB1'.
  wa_fcat1-fieldname = 'MENGE'.
  wa_fcat1-seltext_m = 'Quantity'.
  wa_fcat1-do_sum    = 'X'.
  APPEND wa_fcat1 TO t_fcat1.
  CLEAR wa_fcat1.

  wa_fcat1-tabname = 'ITAB1'.
  wa_fcat1-fieldname = 'MEINS'.
  wa_fcat1-seltext_m = 'UOM'.
  APPEND wa_fcat1 TO t_fcat1.
  CLEAR wa_fcat1.

  wa_fcat1-tabname = 'ITAB1'.
  wa_fcat1-fieldname = 'WERKS'.
  wa_fcat1-seltext_m = 'Plant'.
  APPEND wa_fcat1 TO t_fcat1.
  CLEAR wa_fcat1.


ENDFORM.                    "build_fcat1

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_eve1
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM build_eve1.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type     = 0
    IMPORTING
      et_events       = eve1
    EXCEPTIONS
      list_type_wrong = 1
      OTHERS          = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                                                    "build_eve1

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_data1
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM get_data1.

  SELECT mblnr menge meins werks FROM mseg
  INTO CORRESPONDING FIELDS OF TABLE itab1
  WHERE matnr = t_mat.

ENDFORM.                                                    "get_data1

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  dis_data1
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM dis_data1.

  g_repid = sy-repid.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
     i_callback_program                = g_repid                   it_fieldcat                       = fcat1
     it_events                         = eve1
     i_save                            = 'A'
     it_sort                            = subtot
    TABLES
      t_outtab                          = itab1
* 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.                                                    "dis_data1

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if usefull.....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 11:14:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497248#M841203</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T11:14:58Z</dc:date>
    </item>
    <item>
      <title>Re: alv interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497249#M841204</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;Please refer the code below:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZDEMO_ALVGRID                                               *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;                                                                     *
*&amp;amp; Example of a simple ALV Grid Report                                 *
*&amp;amp; ...................................                                 *
*&amp;amp;                                                                     *
*&amp;amp; The basic requirement for this demo is to display a number of       *
*&amp;amp; fields from the EKKO table.                                         *
*&amp;amp;---------------------------------------------------------------------*
REPORT  zdemo_alvgrid                 .

TABLES:     ekko.

type-pools: slis.                                 "ALV Declarations
*Data Declaration
*----------------
TYPES: BEGIN OF t_ekko,
  ebeln TYPE ekpo-ebeln,
  ebelp TYPE ekpo-ebelp,
  statu TYPE ekpo-statu,
  aedat TYPE ekpo-aedat,
  matnr TYPE ekpo-matnr,
  menge TYPE ekpo-menge,
  meins TYPE ekpo-meins,
  netpr TYPE ekpo-netpr,
  peinh TYPE ekpo-peinh,
 END OF t_ekko.

DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_ekko TYPE t_ekko.

*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
      gd_tab_group type slis_t_sp_group_alv,
      gd_layout    type slis_layout_alv,
      gd_repid     like sy-repid,
      gt_events     type slis_t_event,
      gd_prntparams type slis_print_alv.


************************************************************************
*Start-of-selection.
START-OF-SELECTION.

perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform build_events.
perform build_print_params.
perform display_alv_report.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*       Build Fieldcatalog for ALV Report
*----------------------------------------------------------------------*
form build_fieldcatalog.

* There are a number of ways to create a fieldcat.
* For the purpose of this example i will build the fieldcatalog manualy
* by populating the internal table fields individually and then
* appending the rows. This method can be the most time consuming but can
* also allow you  more control of the final product.

* Beware though, you need to ensure that all fields required are
* populated. When using some of functionality available via ALV, such as
* total. You may need to provide more information than if you were
* simply displaying the result
*               I.e. Field type may be required in-order for
*                    the 'TOTAL' function to work.

  fieldcatalog-fieldname   = 'EBELN'.
  fieldcatalog-seltext_m   = 'Purchase Order'.
  fieldcatalog-col_pos     = 0.
  fieldcatalog-outputlen   = 10.
  fieldcatalog-emphasize   = 'X'.
  fieldcatalog-key         = 'X'.
*  fieldcatalog-do_sum      = 'X'.
*  fieldcatalog-no_zero     = 'X'.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'EBELP'.
  fieldcatalog-seltext_m   = 'PO Item'.
  fieldcatalog-col_pos     = 1.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'STATU'.
  fieldcatalog-seltext_m   = 'Status'.
  fieldcatalog-col_pos     = 2.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'AEDAT'.
  fieldcatalog-seltext_m   = 'Item change date'.
  fieldcatalog-col_pos     = 3.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'MATNR'.
  fieldcatalog-seltext_m   = 'Material Number'.
  fieldcatalog-col_pos     = 4.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'MENGE'.
  fieldcatalog-seltext_m   = 'PO quantity'.
  fieldcatalog-col_pos     = 5.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'MEINS'.
  fieldcatalog-seltext_m   = 'Order Unit'.
  fieldcatalog-col_pos     = 6.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'NETPR'.
  fieldcatalog-seltext_m   = 'Net Price'.
  fieldcatalog-col_pos     = 7.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-do_sum      = 'X'.
  fieldcatalog-datatype     = 'CURR'.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'PEINH'.
  fieldcatalog-seltext_m   = 'Price Unit'.
  fieldcatalog-col_pos     = 8.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.
endform.                    " BUILD_FIELDCATALOG


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_LAYOUT
*&amp;amp;---------------------------------------------------------------------*
*       Build layout for ALV grid report
*----------------------------------------------------------------------*
form build_layout.
  gd_layout-no_input          = 'X'.
  gd_layout-colwidth_optimize = 'X'.
  gd_layout-totals_text       = 'Totals'(201).
*  gd_layout-totals_only        = 'X'.
*  gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
*                                         "click(press f2)
*  gd_layout-zebra             = 'X'.
*  gd_layout-group_change_edit = 'X'.
*  gd_layout-header_text       = 'helllllo'.
endform.                    " BUILD_LAYOUT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ALV_REPORT
*&amp;amp;---------------------------------------------------------------------*
*       Display report using ALV grid
*----------------------------------------------------------------------*
form display_alv_report.
  gd_repid = sy-repid.
  call function 'REUSE_ALV_GRID_DISPLAY'
       exporting
            i_callback_program      = gd_repid
            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
            i_callback_user_command = 'USER_COMMAND'
*            i_grid_title           = outtext
            is_layout               = gd_layout
            it_fieldcat             = fieldcatalog[]
*            it_special_groups       = gd_tabgroup
            it_events               = gt_events
            is_print                = gd_prntparams
            i_save                  = 'X'
*            is_variant              = z_template
       tables
            t_outtab                = it_ekko
       exceptions
            program_error           = 1
            others                  = 2.
  if sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
endform.                    " DISPLAY_ALV_REPORT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DATA_RETRIEVAL
*&amp;amp;---------------------------------------------------------------------*
*       Retrieve data form EKPO table and populate itab it_ekko
*----------------------------------------------------------------------*
form data_retrieval.

select ebeln ebelp statu aedat matnr menge meins netpr peinh
 up to 10 rows
  from ekpo
  into table it_ekko.
endform.                    " DATA_RETRIEVAL


*-------------------------------------------------------------------*
* Form  TOP-OF-PAGE                                                 *
*-------------------------------------------------------------------*
* ALV Report Header                                                 *
*-------------------------------------------------------------------*
Form top-of-page.
*ALV Header declarations
data: t_header type slis_t_listheader,
      wa_header type slis_listheader,
      t_line like wa_header-info,
      ld_lines type i,
      ld_linesc(10) type c.

* Title
  wa_header-typ  = 'H'.
  wa_header-info = 'EKKO Table Report'.
  append wa_header to t_header.
  clear wa_header.

* Date
  wa_header-typ  = 'S'.
  wa_header-key = 'Date: '.
  CONCATENATE  sy-datum+6(2) '.'
               sy-datum+4(2) '.'
               sy-datum(4) INTO wa_header-info.   "todays date
  append wa_header to t_header.
  clear: wa_header.

* Total No. of Records Selected
  describe table it_ekko lines ld_lines.
  ld_linesc = ld_lines.
  concatenate 'Total No. of Records Selected: ' ld_linesc
                    into t_line separated by space.
  wa_header-typ  = 'A'.
  wa_header-info = t_line.
  append wa_header to t_header.
  clear: wa_header, t_line.

  call function 'REUSE_ALV_COMMENTARY_WRITE'
       exporting
            it_list_commentary = t_header.
*            i_logo             = 'Z_LOGO'.
endform.


*------------------------------------------------------------------*
*       FORM USER_COMMAND                                          *
*------------------------------------------------------------------*
*       --&amp;gt; R_UCOMM                                                *
*       --&amp;gt; RS_SELFIELD                                            *
*------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
                  rs_selfield TYPE slis_selfield.

* Check function code
  CASE r_ucomm.
    WHEN '&amp;amp;IC1'.
*   Check field clicked on within ALVgrid report
    IF rs_selfield-fieldname = 'EBELN'.
*     Read data table, using index of row user clicked on
      READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
*     Set parameter ID for transaction screen field
      SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
*     Sxecute transaction ME23N, and skip initial data entry screen
      CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
    ENDIF.
  ENDCASE.
ENDFORM.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_EVENTS
*&amp;amp;---------------------------------------------------------------------*
*       Build events table
*----------------------------------------------------------------------*
form build_events.
  data: ls_event type slis_alv_event.

  call function 'REUSE_ALV_EVENTS_GET'
       exporting
            i_list_type = 0
       importing
            et_events   = gt_events[].
  read table gt_events with key name =  slis_ev_end_of_page
                           into ls_event.
  if sy-subrc = 0.
    move 'END_OF_PAGE' to ls_event-form.
    append ls_event to gt_events.
  endif.

    read table gt_events with key name =  slis_ev_end_of_list
                           into ls_event.
  if sy-subrc = 0.
    move 'END_OF_LIST' to ls_event-form.
    append ls_event to gt_events.
  endif.
endform.                    " BUILD_EVENTS


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_PRINT_PARAMS
*&amp;amp;---------------------------------------------------------------------*
*       Setup print parameters
*----------------------------------------------------------------------*
form build_print_params.
  gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer
  gd_prntparams-no_coverpage = 'X'.
endform.                    " BUILD_PRINT_PARAMS


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  END_OF_PAGE
*&amp;amp;---------------------------------------------------------------------*
form END_OF_PAGE.
  data: listwidth type i,
        ld_pagepos(10) type c,
        ld_page(10)    type c.

  write: sy-uline(50).
  skip.
  write:/40 'Page:', sy-pagno .
endform.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  END_OF_LIST
*&amp;amp;---------------------------------------------------------------------*
form END_OF_LIST.
  data: listwidth type i,
        ld_pagepos(10) type c,
        ld_page(10)    type c.

  skip.
  write:/40 'Page:', sy-pagno .
endform.


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sriram Ponna.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 11:16:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/3497249#M841204</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T11:16:53Z</dc:date>
    </item>
  </channel>
</rss>

