<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: interactive  alv report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227207#M478814</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Deepak , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this program will provide you two level drill down ALV interactive report ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;below is the code for the same . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;GLOBAL DECLARATIONS--&lt;HR originaltext="------------------------------" /&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;THIS DEFINES GLOBAL TYPES FOR ALV.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPARENT TABLES USED FOR DATA FETCHING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: ekko,ekpo,eket,lfa1,ekbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_fieldcat TYPE slis_t_fieldcat_alv," FOR FIELDCATALOG&lt;/P&gt;&lt;P&gt;       i2_fieldcat TYPE slis_t_fieldcat_alv,"FOR FIELDCATALOG 2&lt;/P&gt;&lt;P&gt;       i3_fieldcat TYPE slis_t_fieldcat_alv, "FOR FIELDCATALOG 3&lt;/P&gt;&lt;P&gt;       i_eventcat TYPE slis_t_event,        "FOR EVENTCATALOG&lt;/P&gt;&lt;P&gt;       i_layout TYPE slis_layout_alv,       "FOR LAYOUT&lt;/P&gt;&lt;P&gt;       i_sortinfo TYPE slis_t_sortinfo_alv. "FOR SORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;VARIABLE FOR COUNT OF PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: n TYPE i ,&lt;/P&gt;&lt;P&gt;      i TYPE i,&lt;/P&gt;&lt;P&gt;      po_item TYPE ebelp,&lt;/P&gt;&lt;P&gt;      v_count(1) VALUE 'N'.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;TYPES--&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------" /&gt;DATA DECLARATION FOR VENDOR MASTER--&lt;HR originaltext="-------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_lfa1,&lt;/P&gt;&lt;P&gt;       lifnr TYPE lifnr,    "VENDOR CODE&lt;/P&gt;&lt;P&gt;       name1 TYPE name1_gp, "VENDOR NAME&lt;/P&gt;&lt;P&gt;       END OF t_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;DATA DECLARATION FOR HEADER(EKKO)--&lt;HR originaltext="-------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,     "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,     "VENDOR CODE&lt;/P&gt;&lt;P&gt;       c     TYPE  i,        "PURCHASE ORDER COUNT&lt;/P&gt;&lt;P&gt;       END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;DATA DECLARATION FOR DETAIL(EKPO)--&lt;HR originaltext="-------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:     BEGIN OF t_ekpo,&lt;/P&gt;&lt;P&gt;     ebeln TYPE ebeln,       "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;     ebelp TYPE ebelp,       "PURCHASE ORDER ITEM&lt;/P&gt;&lt;P&gt;     menge TYPE bstmg,       "PURCHASE ORDER QTY&lt;/P&gt;&lt;P&gt;     END OF t_ekpo,&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR EKET TABLE--&lt;HR originaltext="-----------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     BEGIN OF t_eket,&lt;/P&gt;&lt;P&gt;     ebeln TYPE ebeln,       "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;     ebelp TYPE ebelp,       "PURCHASE ORDER ITEM&lt;/P&gt;&lt;P&gt;     etenr TYPE eeten,       "DELIVERY SCHEDULE LINE COUNTER&lt;/P&gt;&lt;P&gt;     wemng TYPE weemg,       "QUANTITY OF GOODS RECIEVED&lt;/P&gt;&lt;P&gt;     END OF t_eket ,&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;DATA DECLARATION FOR FINAL TABLE(FIRST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SCREEN)----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF t_tab,&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       name1 TYPE name1_gp,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       menge TYPE bstmg,&lt;/P&gt;&lt;P&gt;       etenr TYPE eeten,&lt;/P&gt;&lt;P&gt;       wemng TYPE weemg,&lt;/P&gt;&lt;P&gt;       c   TYPE i,&lt;/P&gt;&lt;P&gt;       END OF t_tab.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR FINAL TABLE (SECOND SCREEN)---&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_vendor,&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       menge TYPE bstmg,&lt;/P&gt;&lt;P&gt;       wemng TYPE p,&lt;/P&gt;&lt;P&gt;       END OF t_vendor,&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR EKBE--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF t_ekbe,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       bwart TYPE bwart,&lt;/P&gt;&lt;P&gt;       menge TYPE menge_d,&lt;/P&gt;&lt;P&gt;       END OF t_ekbe.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;WORK AREA--&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;DATA : wa_lfa1   TYPE  t_lfa1,&lt;/P&gt;&lt;P&gt;       wa_ekko   TYPE  t_ekko,&lt;/P&gt;&lt;P&gt;       wa_ekpo   TYPE  t_ekpo,&lt;/P&gt;&lt;P&gt;       wa_eket   TYPE  t_eket,&lt;/P&gt;&lt;P&gt;       wa_tab    TYPE  t_tab,&lt;/P&gt;&lt;P&gt;       wa_vendor TYPE   t_vendor,&lt;/P&gt;&lt;P&gt;       wa_ekbe   TYPE  t_ekbe,&lt;/P&gt;&lt;P&gt;       wa_grn    TYPE  t_ekbe,&lt;/P&gt;&lt;P&gt;       wa_full   TYPE  t_vendor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;INTERNAL TABLES--&lt;HR originaltext="-----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;DATA:  it_lfa1   TYPE STANDARD TABLE OF t_lfa1   WITH HEADER LINE ,&lt;/P&gt;&lt;P&gt;       it_ekko   TYPE STANDARD TABLE OF t_ekko    WITH HEADER LINE ,&lt;/P&gt;&lt;P&gt;       it_ekpo   TYPE STANDARD TABLE OF t_ekpo   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_eket   TYPE STANDARD TABLE OF t_eket   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_tab    TYPE STANDARD TABLE OF t_tab    WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_vendor TYPE STANDARD TABLE OF t_vendor WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_ekbe   TYPE STANDARD TABLE OF t_ekbe   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_grn   TYPE STANDARD TABLE OF t_ekbe     WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_full  TYPE STANDARD TABLE OF  t_vendor  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: vendor TYPE elifn.&lt;/P&gt;&lt;P&gt;DATA: qty TYPE p,&lt;/P&gt;&lt;P&gt;      c TYPE i.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;SELECTION SCREEN--&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK main WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS :  s_lifnr FOR lfa1-lifnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK main.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;AT SELECTION-SCREEN--&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  SELECT lifnr INTO (it_lfa1-lifnr) FROM lfa1 WHERE lifnr IN&lt;/P&gt;&lt;P&gt;s_lifnr.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;START-OF-SELECTION--&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FETCH RECORDS FROM THE DATABASE INTO THE INTERNAL TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_select_it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PREPARE FIELDCATALOG FOR THE MAIN (1ST LIST) REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_build_fieldcat USING  i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFINE EVENT TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_eventcat USING i_eventcat.&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;DETERMINE THE SORTING SEQUENCE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_sort USING i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISPLAY ALV GRID.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_display_alv_list.&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  ZF_SELECT_IT_TAB&lt;/P&gt;&lt;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;*SELECTING DATA FROM IT_LFA1 TABLE&lt;/P&gt;&lt;P&gt;FORM zf_select_it_tab .&lt;/P&gt;&lt;P&gt;  SELECT lifnr&lt;/P&gt;&lt;P&gt;         name1&lt;/P&gt;&lt;P&gt;              INTO TABLE  it_lfa1&lt;/P&gt;&lt;P&gt;              FROM lfa1&lt;/P&gt;&lt;P&gt;              WHERE lifnr IN s_lifnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT it_lfa1 BY lifnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKKO TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_lfa1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;           ebeln&lt;/P&gt;&lt;P&gt;           lifnr&lt;/P&gt;&lt;P&gt;                FROM ekko&lt;/P&gt;&lt;P&gt;                INTO  TABLE it_ekko&lt;/P&gt;&lt;P&gt;                FOR ALL ENTRIES IN it_lfa1&lt;/P&gt;&lt;P&gt;                WHERE lifnr = it_lfa1-lifnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_ekko BY ebeln.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKPO TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_ekko[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;           ebeln&lt;/P&gt;&lt;P&gt;           ebelp&lt;/P&gt;&lt;P&gt;           menge&lt;/P&gt;&lt;P&gt;                FROM ekpo&lt;/P&gt;&lt;P&gt;                INTO TABLE it_ekpo&lt;/P&gt;&lt;P&gt;                FOR ALL ENTRIES IN it_ekko&lt;/P&gt;&lt;P&gt;                WHERE ebeln = it_ekko-ebeln.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_ekpo BY ebeln ebelp.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKET TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_ekpo[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;          ebeln&lt;/P&gt;&lt;P&gt;          ebelp&lt;/P&gt;&lt;P&gt;          etenr&lt;/P&gt;&lt;P&gt;          wemng&lt;/P&gt;&lt;P&gt;               FROM eket&lt;/P&gt;&lt;P&gt;               INTO TABLE it_eket&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN it_ekpo&lt;/P&gt;&lt;P&gt;               WHERE ebeln = it_ekpo-ebeln&lt;/P&gt;&lt;P&gt;               AND   ebelp = it_ekpo-ebelp.&lt;/P&gt;&lt;P&gt;    SORT it_eket BY ebeln ebelp etenr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKBE TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_eket[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;          ebeln&lt;/P&gt;&lt;P&gt;          ebelp&lt;/P&gt;&lt;P&gt;          bwart&lt;/P&gt;&lt;P&gt;          menge&lt;/P&gt;&lt;P&gt;               FROM ekbe&lt;/P&gt;&lt;P&gt;               INTO TABLE it_ekbe&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN it_eket&lt;/P&gt;&lt;P&gt;               WHERE ebelp = it_eket-ebelp&lt;/P&gt;&lt;P&gt;               AND   ebeln = it_eket-ebeln&lt;/P&gt;&lt;P&gt;               AND   bwart = '101'.&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;THIS BLOCK MOVES THE  FIELDS FROM DIFFERENT           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES(EKKO,LFA1,EKPO,EKET) INTO A FINAL TABLE IT_TAB *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;  CLEAR wa_tab.&lt;/P&gt;&lt;P&gt;  CLEAR it_tab.&lt;/P&gt;&lt;P&gt;  LOOP AT it_lfa1 INTO wa_lfa1.&lt;/P&gt;&lt;P&gt;    READ TABLE it_ekko INTO wa_ekko WITH KEY lifnr = wa_lfa1-lifnr&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_lfa1 INTO wa_lfa1&lt;/P&gt;&lt;P&gt;    WITH KEY lifnr = wa_lfa1-lifnr&lt;/P&gt;&lt;P&gt;    BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE: wa_lfa1-name1 TO wa_tab-name1.&lt;/P&gt;&lt;P&gt;      MOVE: wa_lfa1-lifnr TO wa_tab-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND wa_tab TO it_tab.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_tab,wa_lfa1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**READ FOR SECOND SCREEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_full.&lt;/P&gt;&lt;P&gt;  CLEAR : wa_full,&lt;/P&gt;&lt;P&gt;          wa_eket,&lt;/P&gt;&lt;P&gt;          wa_ekpo.&lt;/P&gt;&lt;P&gt;  LOOP AT it_eket  INTO wa_eket.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_ekpo INTO wa_ekpo WITH KEY ebeln = wa_eket-ebeln&lt;/P&gt;&lt;P&gt;                                             ebelp = wa_eket-ebelp&lt;/P&gt;&lt;P&gt;                                              BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_ekko INTO wa_ekko WITH KEY ebeln =&lt;/P&gt;&lt;P&gt;                                          wa_ekpo-ebeln&lt;/P&gt;&lt;P&gt;                                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_lfa1 INTO wa_lfa1 WITH KEY lifnr = wa_ekko-lifnr&lt;/P&gt;&lt;P&gt;                                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_full-ebelp = wa_ekpo-ebelp.&lt;/P&gt;&lt;P&gt;          wa_full-menge = wa_ekpo-menge.&lt;/P&gt;&lt;P&gt;          wa_full-lifnr = wa_lfa1-lifnr.&lt;/P&gt;&lt;P&gt;          wa_full-ebeln = wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;          wa_full-wemng = wa_eket-wemng.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND wa_full TO it_full.&lt;/P&gt;&lt;P&gt;    CLEAR :  wa_ekko,wa_ekpo,wa_eket,wa_full.&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;COUNT OF  PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_ekko WHERE lifnr = it_tab-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c = c + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    it_tab-c = c.&lt;/P&gt;&lt;P&gt;    MODIFY it_tab TRANSPORTING c.&lt;/P&gt;&lt;P&gt;    CLEAR c.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_SELECT_IT_TAB&lt;/P&gt;&lt;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  ZF_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELD CATALOG FOR FIRST SCREEN&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_I_FIELDCAT  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 zf_build_fieldcat  USING    p_i_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'NAME1'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'VENDOR NAME'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'C'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'PO COUNT'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CALLING FUNCTION FOR ALV GRID DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 zf_display_alv_list .&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                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&lt;/P&gt;&lt;P&gt;     i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;     is_layout                         = i_layout&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i_fieldcat&lt;/P&gt;&lt;P&gt;     it_events                         = i_eventcat&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_tab&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_SORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORTING OUTPUT BY PURCHASE ORDER AND LINE ITEM&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_I_SORTINFO  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_sort  USING    p_i_sortinfo TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_sortinfo.&lt;/P&gt;&lt;P&gt;  DATA: l_sortinfo TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_sortinfo.&lt;/P&gt;&lt;P&gt;  l_sortinfo-spos = '1'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-group = 'UL'.&lt;/P&gt;&lt;P&gt;  APPEND l_sortinfo TO p_i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_sortinfo.&lt;/P&gt;&lt;P&gt;  l_sortinfo-spos = '2'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-group = 'UL'.&lt;/P&gt;&lt;P&gt;  APPEND l_sortinfo TO p_i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_SORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_EVENTCAT&lt;/P&gt;&lt;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;&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_I_EVENTCAT  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_eventcat  USING    p_i_eventcat  TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_eventcat.&lt;/P&gt;&lt;P&gt;  DATA: i_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = p_i_eventcat&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_event.&lt;/P&gt;&lt;P&gt;  READ TABLE p_i_eventcat WITH KEY name = slis_ev_user_command INTO&lt;/P&gt;&lt;P&gt;  i_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'USER_COMMAND' TO i_event-form.&lt;/P&gt;&lt;P&gt;    APPEND i_event TO p_i_eventcat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_EVENTCAT&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;P&gt;FORM user_command USING p_ucomm TYPE sy-ucomm&lt;/P&gt;&lt;P&gt;                           p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN  '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_tab INTO wa_tab INDEX p_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF p_selfield-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vendor = p_selfield-value.&lt;/P&gt;&lt;P&gt;        PERFORM zf_vendor_details.&lt;/P&gt;&lt;P&gt;        PERFORM zf2_build_fieldcat USING i2_fieldcat.&lt;/P&gt;&lt;P&gt;        PERFORM zf_display_grid.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR p_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_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  ZF_VENDOR_DETAILS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; THIS FORM IS USED FOR MOVING DATA FROM IT_TAB TO IT_VENDOR&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 zf_vendor_details .&lt;/P&gt;&lt;P&gt;  CLEAR wa_ekko.&lt;/P&gt;&lt;P&gt;  CLEAR it_ekko.&lt;/P&gt;&lt;P&gt;  REFRESH it_vendor.&lt;/P&gt;&lt;P&gt;  LOOP AT it_full INTO wa_full WHERE lifnr = vendor.&lt;/P&gt;&lt;P&gt;    MOVE :&lt;/P&gt;&lt;P&gt;          wa_full-lifnr TO wa_vendor-lifnr,&lt;/P&gt;&lt;P&gt;          wa_full-ebeln TO wa_vendor-ebeln,&lt;/P&gt;&lt;P&gt;          wa_full-ebelp TO wa_vendor-ebelp,&lt;/P&gt;&lt;P&gt;          wa_full-menge TO wa_vendor-menge,&lt;/P&gt;&lt;P&gt;          wa_full-wemng TO wa_vendor-wemng.&lt;/P&gt;&lt;P&gt;    APPEND wa_vendor TO it_vendor.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_vendor.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_VENDOR_DETAILS&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  ZF2_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; THIS FORM IS USED FOR CATALOG SCREEN 2&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_I_FIELDCAT  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 zf2_build_fieldcat  USING    p_i_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l2_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PURCHASE ORDER NUMBER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C710'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PO ITEM'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PO QTY'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '5'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'WEMNG'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C450'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'QTY RECIEVED'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ZF2_BUILD_FIELDCAT&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  ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf_display_grid .&lt;/P&gt;&lt;P&gt;&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                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&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_COMMAND1'&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i2_fieldcat&lt;/P&gt;&lt;P&gt;     it_sort                           = i_sortinfo&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_vendor&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.                    "ZF_DISPLAY_GRID&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 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;P&gt;FORM user_command1 USING p_ucomm TYPE sy-ucomm&lt;/P&gt;&lt;P&gt;                           p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN  '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      READ TABLE it_vendor INTO wa_vendor INDEX p_selfield-tabindex.&lt;/P&gt;&lt;P&gt;      IF p_selfield-fieldname = 'WEMNG'.&lt;/P&gt;&lt;P&gt;        po_item = wa_vendor-ebelp.&lt;/P&gt;&lt;P&gt;        PERFORM zf_grn.&lt;/P&gt;&lt;P&gt;        PERFORM zf3_build_fieldcat USING i3_fieldcat.&lt;/P&gt;&lt;P&gt;        PERFORM zf1_display_grid.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_USER_COMMAND&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  ZF3_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FIELD CATALOG FOR THIRD SCREEN&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_I3_FIELDCAT  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 zf3_build_fieldcat  USING    p_i_fieldcat  TYPE slis_t_fieldcat_alv&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l3_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'P.O. NO'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'P.O.ITEM'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'BWART'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'MOVEMENT TYPE'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'GR QUANTITY'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF3_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF1_DISPLAY_GRID&lt;/P&gt;&lt;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 zf1_display_grid .&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                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i3_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_grn&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;&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.                    " ZF1_DISPLAY_GRID&lt;/P&gt;&lt;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  ZF_GRN&lt;/P&gt;&lt;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 zf_grn .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_eket .&lt;/P&gt;&lt;P&gt;  CLEAR it_eket.&lt;/P&gt;&lt;P&gt;  REFRESH it_grn.&lt;/P&gt;&lt;P&gt;  LOOP AT it_vendor INTO wa_vendor WHERE ebelp = po_item.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE it_ekbe INTO wa_ekbe  WITH KEY&lt;/P&gt;&lt;P&gt;          ebeln = wa_vendor-ebeln&lt;/P&gt;&lt;P&gt;          ebelp = wa_vendor-ebelp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        IF  wa_ekbe-bwart = '101'.&lt;/P&gt;&lt;P&gt;          MOVE: wa_ekbe-ebeln TO wa_grn-ebeln,&lt;/P&gt;&lt;P&gt;                wa_ekbe-ebelp TO wa_grn-ebelp,&lt;/P&gt;&lt;P&gt;                wa_ekbe-bwart TO wa_grn-bwart,&lt;/P&gt;&lt;P&gt;                wa_ekbe-menge TO wa_grn-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa_grn TO it_grn.&lt;/P&gt;&lt;P&gt;          CLEAR wa_ekbe.&lt;/P&gt;&lt;P&gt;          CLEAR wa_grn.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE e001.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_GRN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;Reward Points if it helps you .&amp;lt;/i&amp;gt; &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;Amber S&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 May 2007 11:26:17 GMT</pubDate>
    <dc:creator>former_member198270</dc:creator>
    <dc:date>2007-05-11T11:26:17Z</dc:date>
    <item>
      <title>interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227200#M478807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi all,&lt;/P&gt;&lt;P&gt;   how to make alv interactive report .&lt;/P&gt;&lt;P&gt;regards &lt;/P&gt;&lt;P&gt;deepak&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:01:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227200#M478807</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-11T11:01:45Z</dc:date>
    </item>
    <item>
      <title>Re: interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227201#M478808</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this code.&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;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAK,&lt;/P&gt;&lt;P&gt;       VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;       AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;       END OF I_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAP,&lt;/P&gt;&lt;P&gt;       VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;       AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;       POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;       ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;       END OF I_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_MAKT,&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;       MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;       END OF I_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_LIPS,&lt;/P&gt;&lt;P&gt;       POSNR TYPE POSNR_VL,&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;       LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;       END OF I_LIPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_REASON,&lt;/P&gt;&lt;P&gt;       SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;       AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;       BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;       END OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBPA,&lt;/P&gt;&lt;P&gt;       VBELN TYPE VBELN,&lt;/P&gt;&lt;P&gt;       PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;       KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;       END OF I_VBPA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_KNA1,&lt;/P&gt;&lt;P&gt;       KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;       NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;       END OF I_KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_FINAL,&lt;/P&gt;&lt;P&gt;       VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;       POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;       ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;       MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;       LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;       SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;       AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;       BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;       PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;       KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;       NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;       END OF I_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES&lt;/P&gt;&lt;P&gt;DATA: IT_VBAK TYPE STANDARD TABLE OF I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: IT_VBAP TYPE STANDARD TABLE OF I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: IT_MAKT TYPE STANDARD TABLE OF I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: IT_LIPS TYPE STANDARD TABLE OF I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: IT_VBPA TYPE STANDARD TABLE OF I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: IT_KNA1 TYPE STANDARD TABLE OF I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: IT_FINAL TYPE STANDARD TABLE OF I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: IT_REASON TYPE STANDARD TABLE OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*WORK AREA&lt;/P&gt;&lt;P&gt;DATA: WA_VBAK TYPE I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: WA_VBAP TYPE I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: WA_MAKT TYPE I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: WA_LIPS TYPE I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: WA_VBPA TYPE I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: WA_KNA1 TYPE I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: WA_FINAL TYPE I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: WA_REASON TYPE I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;DATA: V_PROGNAME TYPE SY-REPID.&lt;/P&gt;&lt;P&gt;DATA: V_VBELN TYPE VBAK-VBELN.&lt;/P&gt;&lt;P&gt;DATA: V_GRIDTITLE TYPE LVC_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;DATA: I_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;DATA: P_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION FOR CATALOGS LAYOUT SORT EVENTCATALOG TOPOFPAGE.&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION - First point of execution of program&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                To initialize Any variables that are to be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                used in the program, even before selection screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                appears.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_PROGNAME = SY-REPID.&lt;/P&gt;&lt;P&gt;  V_FLAG = SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM Z_DEFAULT_VARIANT.&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 BLK1 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS: S_VBELN FOR V_VBELN.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK BLK1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Variable for ALV Variant&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK B_VAR WITH FRAME TITLE TEXT-020.&lt;/P&gt;&lt;P&gt;  PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK B_VAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SLECTION-SCREEN.&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM Z_VALIDATIONS.&lt;/P&gt;&lt;P&gt;*AT SELECTION SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CHECK FOR THE EXISTENCE OF THE VARIANT SELECTED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ZF_CHECK_VAR_EXIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PROVIDE THE F4-HELP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ZF_VARIANT_F4.&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;  PERFORM Z_SELECT.&lt;/P&gt;&lt;P&gt;  PERFORM CHECK_VALIDATION_FLAG.&lt;/P&gt;&lt;P&gt;  PERFORM Z_FIELDCAT USING I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LAYOUT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SORTINFO USING I_SORTINFO.&lt;/P&gt;&lt;P&gt;  PERFORM Z_EVENTCAT USING I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_GRIDTITLE.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LISTHEADER USING I_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM Z_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  Z_VALIDATIONS&lt;/P&gt;&lt;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 Z_VALIDATIONS .&lt;/P&gt;&lt;P&gt;  SELECT VBELN INTO V_VBELN&lt;/P&gt;&lt;P&gt;               UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;               FROM VBAK&lt;/P&gt;&lt;P&gt;               WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Records'.&lt;/P&gt;&lt;P&gt;    V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_VALIDATIONS&lt;/P&gt;&lt;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  Z_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      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_I_FIELDCAT  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 Z_FIELDCAT  USING  P_I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;*VBAK-VELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '1'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'VBELN'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-KEY         = 'X'.                        " SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-JUST        = 'C'.                        " FOR JUSTIFICATION.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'SALES ORDER'.              " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   =  15.                         " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO THE DDIC TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-SPRAS&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '2'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'SPRAS'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'LANGUAGE'.                     " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   = 5.                          " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*VBAP-AUGRU&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '3'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'AUGRU'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'REASON'.                     " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   = 5.                          " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-bezei&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '4'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'BEZEI'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'DESCRIPTION'.                     " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   = 20.                          " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-POSNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '5'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'POSNR'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'ITEM'.                     " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   = 8.                          " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-MATNR.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '6'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'MATNR'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'MATERIAL'.                 " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   = 10.                         " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-ZMENG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '7'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'ZMENG'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'QUANT'.                     " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   = 10.                          " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*MAKT-MAKTX&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '8'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'MAKTX'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'DESCRIPTION'.                     " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   = 20.                          " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'MAKT'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-VBELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '9'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'VBELN'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'DELIVERY'.                 " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   = 15.                         " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-LFIMG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '10'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'LFIMG'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-DO_SUM      = 'X'.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'LFIMG'.                    " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   =  18.                        " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*parvw&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '11'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'PARVW'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'PARTNER FUN'.                    " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   =  18.                        " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*KUNNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '12'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'KUNNR'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'SHIP'.                    " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   =  18.                        " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*NAME1&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS     = '13'.                        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME   = 'NAME1'.                    " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME     = 'IT_FINAL'.                 " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO       = 'X'.                        " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L   = 'NAME'.                    " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN   =  18.                        " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'KNA1'.                     " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  Z_SELECT&lt;/P&gt;&lt;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 Z_SELECT .&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;         AUGRU INTO CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;               FROM VBAK&lt;/P&gt;&lt;P&gt;               WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&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;           ZMENG INTO CORRESPONDING FIELDS OF TABLE IT_VBAP&lt;/P&gt;&lt;P&gt;                 FROM VBAP&lt;/P&gt;&lt;P&gt;                 FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;                 WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      SELECT SPRAS&lt;/P&gt;&lt;P&gt;             AUGRU&lt;/P&gt;&lt;P&gt;             BEZEI INTO CORRESPONDING FIELDS OF TABLE IT_REASON&lt;/P&gt;&lt;P&gt;                   FROM TVAUT&lt;/P&gt;&lt;P&gt;                   FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;                   WHERE AUGRU = IT_VBAK-AUGRU.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        SELECT VBELN&lt;/P&gt;&lt;P&gt;               PARVW&lt;/P&gt;&lt;P&gt;               KUNNR INTO CORRESPONDING FIELDS OF TABLE IT_VBPA&lt;/P&gt;&lt;P&gt;                     FROM VBPA&lt;/P&gt;&lt;P&gt;                     FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;                     WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          SELECT KUNNR&lt;/P&gt;&lt;P&gt;                 NAME1 INTO CORRESPONDING FIELDS OF TABLE IT_KNA1&lt;/P&gt;&lt;P&gt;                       FROM KNA1&lt;/P&gt;&lt;P&gt;                       FOR ALL ENTRIES IN IT_VBPA&lt;/P&gt;&lt;P&gt;                       WHERE KUNNR = IT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            SELECT POSNR&lt;/P&gt;&lt;P&gt;                   MATNR&lt;/P&gt;&lt;P&gt;                   LFIMG INTO CORRESPONDING FIELDS OF TABLE IT_LIPS&lt;/P&gt;&lt;P&gt;                         FROM LIPS&lt;/P&gt;&lt;P&gt;                         FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;                         WHERE POSNR = IT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              SELECT MATNR&lt;/P&gt;&lt;P&gt;                     MAKTX INTO CORRESPONDING FIELDS OF TABLE IT_MAKT&lt;/P&gt;&lt;P&gt;                           FROM MAKT&lt;/P&gt;&lt;P&gt;                           FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;                           WHERE MATNR = IT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Data found'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBAP INTO WA_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBAK INTO WA_VBAK WITH KEY VBELN = WA_VBAP-VBELN BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;*MOVE DATA INTO IT_FINAL.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBAK-VBELN TO WA_FINAL-VBELN,&lt;/P&gt;&lt;P&gt;              WA_VBAK-AUGRU TO WA_FINAL-AUGRU,&lt;/P&gt;&lt;P&gt;              WA_VBAP-POSNR TO WA_FINAL-POSNR,&lt;/P&gt;&lt;P&gt;              WA_VBAP-MATNR TO WA_FINAL-MATNR,&lt;/P&gt;&lt;P&gt;              WA_VBAP-ZMENG TO WA_FINAL-ZMENG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_LIPS INTO WA_LIPS WITH KEY POSNR = WA_FINAL-POSNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_LIPS-LFIMG TO WA_FINAL-LFIMG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_REASON INTO WA_REASON WITH KEY AUGRU = WA_FINAL-AUGRU BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_REASON-SPRAS TO WA_FINAL-SPRAS,&lt;/P&gt;&lt;P&gt;              WA_REASON-BEZEI TO WA_FINAL-BEZEI.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_FINAL-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_MAKT-MAKTX TO WA_FINAL-MAKTX.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     READ TABLE IT_VBPA INTO WA_VBPA WITH KEY VBELN = WA_FINAL-VBELN BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBPA-PARVW TO WA_FINAL-PARVW,&lt;/P&gt;&lt;P&gt;              WA_VBPA-KUNNR TO WA_FINAL-KUNNR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_FINAL-KUNNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_KNA1-NAME1 TO WA_FINAL-NAME1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND WA_FINAL TO IT_FINAL.&lt;/P&gt;&lt;P&gt;      CLEAR WA_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_SELECT&lt;/P&gt;&lt;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  Z_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 Z_LAYOUT .&lt;/P&gt;&lt;P&gt;  I_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;  I_LAYOUT-TOTALS_TEXT = 'Total'(A00).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-SUBTOTALS_TEXT = 'SubTotal'(A01).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-BOX_TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_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  Z_SORTINFO&lt;/P&gt;&lt;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_I_SORTINFO  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 Z_SORTINFO  USING    P_I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_SORTINFO TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  CLEAR I_SORTINFO.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SPOS = '1'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-UP = 'X'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-GROUP = 'UL'.                     " I.E UNDERLINE AFTER EVERY GROUP&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND I_SORTINFO  TO P_I_SORTINFO.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_SORTINFO&lt;/P&gt;&lt;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  Z_EVENTCAT&lt;/P&gt;&lt;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_I_EVENTCAT  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 Z_EVENTCAT  USING    P_I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  DATA: I_EVENT TYPE SLIS_ALV_EVENT.&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       = P_I_EVENTCAT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      LIST_TYPE_WRONG = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO&lt;/P&gt;&lt;P&gt;  I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_PF_STATUS_SET INTO I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'SET_PF_STATUS' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT INTO I_EVENT WITH KEY NAME = SLIS_EV_USER_COMMAND .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'USER_COMMAND' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&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.                    " Z_EVENTCAT&lt;/P&gt;&lt;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  Z_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;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 Z_DISPLAY .&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_PROGNAME&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PF_STATUS_SET          = 'SET_PF_STATUS'&lt;/P&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                      = V_GRIDTITLE&lt;/P&gt;&lt;P&gt;     I_SAVE                            = 'A'&lt;/P&gt;&lt;P&gt;     IS_LAYOUT                         = I_LAYOUT&lt;/P&gt;&lt;P&gt;     IT_FIELDCAT                       = I_FIELDCAT[]&lt;/P&gt;&lt;P&gt;     IT_SORT                           = I_SORTINFO&lt;/P&gt;&lt;P&gt;     IT_EVENTS                         = I_EVENTCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = IT_FINAL&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;     OTHERS                            = 2&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  Z_GRIDTITLE&lt;/P&gt;&lt;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 Z_GRIDTITLE .&lt;/P&gt;&lt;P&gt;  V_GRIDTITLE = 'ALV FOR SALES ORDER DISPLAY'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_GRIDTITLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP OF PAGE.&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 = I_LISTHEADER.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*MENU SETTINGS.&lt;/P&gt;&lt;P&gt;FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_MENU'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*USER-COMMAND&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM&lt;/P&gt;&lt;P&gt;                        RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  DATA : VBELN TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE P_UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      CLEAR : VBELN.&lt;/P&gt;&lt;P&gt;      VBELN = RS_SELFIELD-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PARAMETER ID: 'AUN' FIELD VBELN.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&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  Z_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;P_I_LISTHEADER  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 Z_LISTHEADER USING P_I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA: L_LISTHEADER TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  REFRESH P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-001.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-002.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_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;P&gt;*&amp;amp;      Form  check_validation_flag&lt;/P&gt;&lt;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 CHECK_VALIDATION_FLAG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT V_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " check_validation_flag&lt;/P&gt;&lt;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  Z_DEFAULT_VARIANT&lt;/P&gt;&lt;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 Z_DEFAULT_VARIANT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_SAVE        = 'A'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      CS_VARIANT    = I_VARIANT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      WRONG_INPUT   = 1&lt;/P&gt;&lt;P&gt;      NOT_FOUND     = 2&lt;/P&gt;&lt;P&gt;      PROGRAM_ERROR = 3&lt;/P&gt;&lt;P&gt;      OTHERS        = 4.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    P_VARI = I_VARIANT-VARIANT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " Z_DEFAULT_VARIANT&lt;/P&gt;&lt;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  ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;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 ZF_CHECK_VAR_EXIST .&lt;/P&gt;&lt;P&gt;  DATA: L_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_VARI IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR L_VARIANT.&lt;/P&gt;&lt;P&gt;    L_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;P&gt;    L_VARIANT-VARIANT = P_VARI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_SAVE        = 'U'&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        CS_VARIANT    = L_VARIANT&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        WRONG_INPUT   = 1&lt;/P&gt;&lt;P&gt;        NOT_FOUND     = 2&lt;/P&gt;&lt;P&gt;        PROGRAM_ERROR = 3&lt;/P&gt;&lt;P&gt;        OTHERS        = 4.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      CLEAR I_VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE: L_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;P&gt;            L_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;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  ZF_VARIANT_F4&lt;/P&gt;&lt;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 ZF_VARIANT_F4 .&lt;/P&gt;&lt;P&gt;  DATA: X_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IS_VARIANT                = I_VARIANT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_TABNAME_HEADER          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_TABNAME_ITEM            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_DEFAULT_FIELDCAT       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SAVE                    = 'U'&lt;/P&gt;&lt;P&gt;     I_DISPLAY_VIA_GRID        = 'X'&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     ES_VARIANT                = X_VARIANT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     NOT_FOUND                 = 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 = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    P_VARI = X_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;    D_VARI = P_VARI.&lt;/P&gt;&lt;P&gt;    CLEAR I_VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE: X_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;P&gt;          X_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_VARIANT_F4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:06:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227201#M478808</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-11T11:06:26Z</dc:date>
    </item>
    <item>
      <title>Re: interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227202#M478809</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this link&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/interactive" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/interactive&lt;/A&gt;&lt;EM&gt;ALV&lt;/EM&gt;Using&lt;EM&gt;ABAP&lt;/EM&gt;Objects&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;bharat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:09:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227202#M478809</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-11T11:09:47Z</dc:date>
    </item>
    <item>
      <title>Re: interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227203#M478810</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Deepak,&lt;/P&gt;&lt;P&gt;                  Use User-Command event of ALV.&lt;/P&gt;&lt;P&gt;Refer this code :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form EVENTCAT  using    p_i_eventcat TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : L_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = P_I_EVENTCAT&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;&lt;/P&gt;&lt;P&gt;CLEAR L_EVENT.&lt;/P&gt;&lt;P&gt;READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_USER_COMMAND INTO L_EVENT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MOVE 'Z8_USER_COMMAND' TO L_EVENT-FORM.&lt;/P&gt;&lt;P&gt;APPEND L_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " EVENTCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM Z8_USER_COMMAND USING P_UCOMM TYPE SY-UCOMM&lt;/P&gt;&lt;P&gt;                                        P_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CASE P_UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; WHEN '&amp;amp;IC1'.       "&amp;amp;IC1 IS FOCODE FOR DOUBLE CLICKING&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     input              = P_SELFIELD-VALUE&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;    OUTPUT             =  ACTUAL_MATNR&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    LENGTH_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;&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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;Regards,&lt;/P&gt;&lt;P&gt;Hemant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:11:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227203#M478810</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-11T11:11:43Z</dc:date>
    </item>
    <item>
      <title>Re: interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227204#M478811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;TYPE-POOLS : SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF TW_VBAK,&lt;/P&gt;&lt;P&gt;        VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;        ERNAM TYPE ERNAM,&lt;/P&gt;&lt;P&gt;        ERDAT TYPE ERDAT,&lt;/P&gt;&lt;P&gt;        VBTYP TYPE VBTYP,&lt;/P&gt;&lt;P&gt;      END OF TW_VBAK,&lt;/P&gt;&lt;P&gt;      TT_VBAK TYPE STANDARD TABLE OF TW_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF TW_VBAP,&lt;/P&gt;&lt;P&gt;         VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;         POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;         MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;         ARKTX TYPE ARKTX,&lt;/P&gt;&lt;P&gt;       END OF TW_VBAP,&lt;/P&gt;&lt;P&gt;       TT_VBAP TYPE STANDARD TABLE OF TW_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:LW_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;     LT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;     LW_FIELDCAT2 TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;     LT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;     LF_VBELN TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:LT_VBAK TYPE TT_VBAK,&lt;/P&gt;&lt;P&gt;     LT_VBAP TYPE TT_VBAP,&lt;/P&gt;&lt;P&gt;     LF_REPID TYPE SYREPID.&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;    SELECT-OPTIONS:SO_VBELN FOR LF_VBELN.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&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; SELECT VBELN ERNAM ERDAT VBTYP INTO TABLE LT_VBAK&lt;/P&gt;&lt;P&gt; FROM VBAK&lt;/P&gt;&lt;P&gt; WHERE VBELN IN SO_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-COL_POS = '1'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-TABNAME = 'LT_VBAK'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-REF_FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-REF_TABNAME = 'VBAK'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-SELTEXT_M = 'SALES NUMBER'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   APPEND LW_FIELDCAT1 TO LT_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-COL_POS = '2'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-TABNAME = 'LT_VBAK'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-REF_FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-REF_TABNAME = 'VBAK'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-SELTEXT_M = 'NAME'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   APPEND LW_FIELDCAT1 TO LT_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-COL_POS = '3'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-FIELDNAME = 'ERDAT'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-TABNAME = 'LT_VBAK'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-REF_FIELDNAME = 'ERDAT'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-REF_TABNAME = 'VBAK'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-SELTEXT_M = 'DATE'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   APPEND LW_FIELDCAT1 TO LT_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-COL_POS = '4'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-FIELDNAME = 'VBTYP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-TABNAME = 'LT_VBAK'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-REF_FIELDNAME = 'VBTYP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-REF_TABNAME = 'VBAK'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-SELTEXT_M = 'TYPE'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT1-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   APPEND LW_FIELDCAT1 TO LT_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-COL_POS = '1'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-TABNAME = 'LT_VBAP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-REF_FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-REF_TABNAME = 'VBAP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-SELTEXT_M = 'SALES NUMBER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   APPEND LW_FIELDCAT2 TO LT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-COL_POS = '2'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-FIELDNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-TABNAME = 'LT_VBAP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-REF_FIELDNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-REF_TABNAME = 'VBAP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-SELTEXT_M = 'ITEM NUMBER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   APPEND LW_FIELDCAT2 TO LT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-COL_POS = '3'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-TABNAME = 'LT_VBAP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-REF_FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-REF_TABNAME = 'VBAP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-SELTEXT_M = 'MATERIAL NUMBER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   APPEND LW_FIELDCAT2 TO LT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-COL_POS = '4'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-FIELDNAME = 'ARKTX'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-TABNAME = 'LT_VBAP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-REF_FIELDNAME = 'ARKTX'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-REF_TABNAME = 'VBAP'.&lt;/P&gt;&lt;P&gt;   LW_FIELDCAT2-SELTEXT_M = 'SHORT TEXT FOR SALES ORDER ITEM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   APPEND LW_FIELDCAT2 TO LT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LF_REPID = SY-REPID.&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                = LF_REPID&lt;/P&gt;&lt;P&gt;    I_CALLBACK_USER_COMMAND           = 'INTERACTIVE'&lt;/P&gt;&lt;P&gt;    IT_FIELDCAT                       = LT_FIELDCAT1&lt;/P&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;P&gt;     T_OUTTAB                          = LT_VBAK[]&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; FORM INTERACTIVE USING LF_UCOMM TYPE SYUCOMM&lt;/P&gt;&lt;P&gt;                       LF_FIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA: LF_VBELN TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CASE LF_UCOMM.&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;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              INPUT         = LF_FIELD-VALUE&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;             OUTPUT        = lf_vbeln&lt;/P&gt;&lt;P&gt;                    .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   SELECT VBELN POSNR MATNR ARKTX INTO TABLE LT_VBAP&lt;/P&gt;&lt;P&gt;   FROM VBAP&lt;/P&gt;&lt;P&gt;   WHERE VBELN = lf_vbeln.&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                = LF_REPID&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT                       = LT_FIELDCAT2[]&lt;/P&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;       T_OUTTAB                          = LT_VBAP&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;&lt;/P&gt;&lt;P&gt;   ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:14:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227204#M478811</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-11T11:14:03Z</dc:date>
    </item>
    <item>
      <title>Re: interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227205#M478812</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi deepak..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   It depends on how you are displaying alv . You can use ABAP Objects to display and use Function modules to display  in ALV .If you are using ABAP Objects you can use the methods in the class for interactive calling.If you are using function modules for ALV  i_callback_program for interactive coding &lt;/P&gt;&lt;P&gt;i_callback_user_command for subroutines in which you are writing code for interactive reporting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;veeresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:17:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227205#M478812</guid>
      <dc:creator>former_member673464</dc:creator>
      <dc:date>2007-05-11T11:17:43Z</dc:date>
    </item>
    <item>
      <title>Re: interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227206#M478813</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 simple example&lt;/P&gt;&lt;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  ZSR_ALV_INTERACTIVE&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZSR_ALV_INTERACTIVE.&lt;/P&gt;&lt;P&gt;TABLES : LFA1,EKKO,EKPO.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : VENDOR FOR LFA1-LIFNR.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;       NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;       END OF ITAB.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF JTAB OCCURS 0,&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;       END OF JTAB.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF KTAB OCCURS 0,&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;       END OF KTAB.&lt;/P&gt;&lt;P&gt;TYPE-POOLS : SLIS.&lt;/P&gt;&lt;P&gt;DATA : REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;DATA :LFA1_B TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      LFA1_W TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      EKKO_B TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      EKKO_W TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      EKPO_B TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      EKPO_W TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      EVENTS_B TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      EVENTS_W TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM GET_VAL.&lt;/P&gt;&lt;P&gt;REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT LIFNR NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN VENDOR.&lt;/P&gt;&lt;P&gt;*perform val USING USER_COMMAND sel.&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 = REPID&lt;/P&gt;&lt;P&gt;    IT_FIELDCAT        = LFA1_B&lt;/P&gt;&lt;P&gt;    IT_EVENTS          = EVENTS_B&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB           = ITAB.&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_VAL&lt;/P&gt;&lt;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  this is to put column headings&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_VAL.&lt;/P&gt;&lt;P&gt;  LFA1_W-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  LFA1_W-REF_TABNAME = 'LFA1'.&lt;/P&gt;&lt;P&gt;  LFA1_W-REF_FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  APPEND LFA1_W TO LFA1_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LFA1_W-FIELDNAME = 'NAME1'.&lt;/P&gt;&lt;P&gt;  LFA1_W-REF_TABNAME = 'LFA1'.&lt;/P&gt;&lt;P&gt;  LFA1_W-REF_FIELDNAME = 'NAME1'.&lt;/P&gt;&lt;P&gt;  APPEND LFA1_W TO LFA1_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EKKO_W-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  EKKO_W-REF_TABNAME = 'EKKO'.&lt;/P&gt;&lt;P&gt;  EKKO_W-REF_FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  APPEND EKKO_W TO EKKO_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EKKO_W-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  EKKO_W-REF_TABNAME = 'EKKO'.&lt;/P&gt;&lt;P&gt;  EKKO_W-REF_FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  APPEND EKKO_W TO EKKO_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EKPO_W-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;  EKPO_W-REF_TABNAME = 'EKPO'.&lt;/P&gt;&lt;P&gt;  EKPO_W-REF_FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;  APPEND EKPO_W TO EKPO_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EKPO_W-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  EKPO_W-REF_TABNAME = 'EKPO'.&lt;/P&gt;&lt;P&gt;  EKPO_W-REF_FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  APPEND EKPO_W TO EKPO_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EVENTS_W-NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;  EVENTS_W-FORM = 'VAL'.&lt;/P&gt;&lt;P&gt;  APPEND EVENTS_W TO EVENTS_B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_VAL&lt;/P&gt;&lt;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  VAL&lt;/P&gt;&lt;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;USER_COMMANtext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;SEL        text     for retrieving data&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 VAL USING USER_COMMAND LIKE SY-UCOMM SEL TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : VEN(10) TYPE N,&lt;/P&gt;&lt;P&gt;         PO(10) TYPE N.&lt;/P&gt;&lt;P&gt;  DATA : MAT(10) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SEL-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;    VEN = SEL-VALUE.&lt;/P&gt;&lt;P&gt;    SELECT EBELN AEDAT FROM EKKO INTO TABLE JTAB WHERE LIFNR = VEN.&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             = REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_STRUCTURE_NAME               = EKKO_B&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IT_FIELDCAT                    = EKKO_B&lt;/P&gt;&lt;P&gt;      IT_EVENTS                      = EVENTS_B&lt;/P&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;       T_OUTTAB                       = JTAB.&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 SEL-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;    PO = SEL-VALUE.&lt;/P&gt;&lt;P&gt;    SELECT EBELP MATNR FROM EKPO INTO TABLE KTAB WHERE EBELN = PO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_TITLE            = 'ITEM DETAILS'&lt;/P&gt;&lt;P&gt;        I_TABNAME          = 'EKPO'&lt;/P&gt;&lt;P&gt;        IT_FIELDCAT        = EKPO_B&lt;/P&gt;&lt;P&gt;        I_CALLBACK_PROGRAM = REPID&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        ES_SELFIELD        = SEL&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        T_OUTTAB           = KTAB.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;logic to select a record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SEL-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;    MAT = SEL-VALUE.&lt;/P&gt;&lt;P&gt;    SET PARAMETER ID 'MAT' FIELD MAT.&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "VAL&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:22:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227206#M478813</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-11T11:22:08Z</dc:date>
    </item>
    <item>
      <title>Re: interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227207#M478814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Deepak , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this program will provide you two level drill down ALV interactive report ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;below is the code for the same . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;GLOBAL DECLARATIONS--&lt;HR originaltext="------------------------------" /&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;THIS DEFINES GLOBAL TYPES FOR ALV.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPARENT TABLES USED FOR DATA FETCHING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: ekko,ekpo,eket,lfa1,ekbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_fieldcat TYPE slis_t_fieldcat_alv," FOR FIELDCATALOG&lt;/P&gt;&lt;P&gt;       i2_fieldcat TYPE slis_t_fieldcat_alv,"FOR FIELDCATALOG 2&lt;/P&gt;&lt;P&gt;       i3_fieldcat TYPE slis_t_fieldcat_alv, "FOR FIELDCATALOG 3&lt;/P&gt;&lt;P&gt;       i_eventcat TYPE slis_t_event,        "FOR EVENTCATALOG&lt;/P&gt;&lt;P&gt;       i_layout TYPE slis_layout_alv,       "FOR LAYOUT&lt;/P&gt;&lt;P&gt;       i_sortinfo TYPE slis_t_sortinfo_alv. "FOR SORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;VARIABLE FOR COUNT OF PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: n TYPE i ,&lt;/P&gt;&lt;P&gt;      i TYPE i,&lt;/P&gt;&lt;P&gt;      po_item TYPE ebelp,&lt;/P&gt;&lt;P&gt;      v_count(1) VALUE 'N'.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;TYPES--&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------" /&gt;DATA DECLARATION FOR VENDOR MASTER--&lt;HR originaltext="-------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_lfa1,&lt;/P&gt;&lt;P&gt;       lifnr TYPE lifnr,    "VENDOR CODE&lt;/P&gt;&lt;P&gt;       name1 TYPE name1_gp, "VENDOR NAME&lt;/P&gt;&lt;P&gt;       END OF t_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;DATA DECLARATION FOR HEADER(EKKO)--&lt;HR originaltext="-------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,     "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,     "VENDOR CODE&lt;/P&gt;&lt;P&gt;       c     TYPE  i,        "PURCHASE ORDER COUNT&lt;/P&gt;&lt;P&gt;       END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;DATA DECLARATION FOR DETAIL(EKPO)--&lt;HR originaltext="-------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:     BEGIN OF t_ekpo,&lt;/P&gt;&lt;P&gt;     ebeln TYPE ebeln,       "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;     ebelp TYPE ebelp,       "PURCHASE ORDER ITEM&lt;/P&gt;&lt;P&gt;     menge TYPE bstmg,       "PURCHASE ORDER QTY&lt;/P&gt;&lt;P&gt;     END OF t_ekpo,&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR EKET TABLE--&lt;HR originaltext="-----------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     BEGIN OF t_eket,&lt;/P&gt;&lt;P&gt;     ebeln TYPE ebeln,       "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;     ebelp TYPE ebelp,       "PURCHASE ORDER ITEM&lt;/P&gt;&lt;P&gt;     etenr TYPE eeten,       "DELIVERY SCHEDULE LINE COUNTER&lt;/P&gt;&lt;P&gt;     wemng TYPE weemg,       "QUANTITY OF GOODS RECIEVED&lt;/P&gt;&lt;P&gt;     END OF t_eket ,&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;DATA DECLARATION FOR FINAL TABLE(FIRST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SCREEN)----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF t_tab,&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       name1 TYPE name1_gp,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       menge TYPE bstmg,&lt;/P&gt;&lt;P&gt;       etenr TYPE eeten,&lt;/P&gt;&lt;P&gt;       wemng TYPE weemg,&lt;/P&gt;&lt;P&gt;       c   TYPE i,&lt;/P&gt;&lt;P&gt;       END OF t_tab.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR FINAL TABLE (SECOND SCREEN)---&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_vendor,&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       menge TYPE bstmg,&lt;/P&gt;&lt;P&gt;       wemng TYPE p,&lt;/P&gt;&lt;P&gt;       END OF t_vendor,&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR EKBE--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF t_ekbe,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       bwart TYPE bwart,&lt;/P&gt;&lt;P&gt;       menge TYPE menge_d,&lt;/P&gt;&lt;P&gt;       END OF t_ekbe.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;WORK AREA--&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;DATA : wa_lfa1   TYPE  t_lfa1,&lt;/P&gt;&lt;P&gt;       wa_ekko   TYPE  t_ekko,&lt;/P&gt;&lt;P&gt;       wa_ekpo   TYPE  t_ekpo,&lt;/P&gt;&lt;P&gt;       wa_eket   TYPE  t_eket,&lt;/P&gt;&lt;P&gt;       wa_tab    TYPE  t_tab,&lt;/P&gt;&lt;P&gt;       wa_vendor TYPE   t_vendor,&lt;/P&gt;&lt;P&gt;       wa_ekbe   TYPE  t_ekbe,&lt;/P&gt;&lt;P&gt;       wa_grn    TYPE  t_ekbe,&lt;/P&gt;&lt;P&gt;       wa_full   TYPE  t_vendor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;INTERNAL TABLES--&lt;HR originaltext="-----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;DATA:  it_lfa1   TYPE STANDARD TABLE OF t_lfa1   WITH HEADER LINE ,&lt;/P&gt;&lt;P&gt;       it_ekko   TYPE STANDARD TABLE OF t_ekko    WITH HEADER LINE ,&lt;/P&gt;&lt;P&gt;       it_ekpo   TYPE STANDARD TABLE OF t_ekpo   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_eket   TYPE STANDARD TABLE OF t_eket   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_tab    TYPE STANDARD TABLE OF t_tab    WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_vendor TYPE STANDARD TABLE OF t_vendor WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_ekbe   TYPE STANDARD TABLE OF t_ekbe   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_grn   TYPE STANDARD TABLE OF t_ekbe     WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_full  TYPE STANDARD TABLE OF  t_vendor  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: vendor TYPE elifn.&lt;/P&gt;&lt;P&gt;DATA: qty TYPE p,&lt;/P&gt;&lt;P&gt;      c TYPE i.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;SELECTION SCREEN--&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK main WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS :  s_lifnr FOR lfa1-lifnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK main.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;AT SELECTION-SCREEN--&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  SELECT lifnr INTO (it_lfa1-lifnr) FROM lfa1 WHERE lifnr IN&lt;/P&gt;&lt;P&gt;s_lifnr.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;START-OF-SELECTION--&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FETCH RECORDS FROM THE DATABASE INTO THE INTERNAL TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_select_it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PREPARE FIELDCATALOG FOR THE MAIN (1ST LIST) REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_build_fieldcat USING  i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFINE EVENT TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_eventcat USING i_eventcat.&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;DETERMINE THE SORTING SEQUENCE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_sort USING i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISPLAY ALV GRID.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_display_alv_list.&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  ZF_SELECT_IT_TAB&lt;/P&gt;&lt;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;*SELECTING DATA FROM IT_LFA1 TABLE&lt;/P&gt;&lt;P&gt;FORM zf_select_it_tab .&lt;/P&gt;&lt;P&gt;  SELECT lifnr&lt;/P&gt;&lt;P&gt;         name1&lt;/P&gt;&lt;P&gt;              INTO TABLE  it_lfa1&lt;/P&gt;&lt;P&gt;              FROM lfa1&lt;/P&gt;&lt;P&gt;              WHERE lifnr IN s_lifnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT it_lfa1 BY lifnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKKO TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_lfa1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;           ebeln&lt;/P&gt;&lt;P&gt;           lifnr&lt;/P&gt;&lt;P&gt;                FROM ekko&lt;/P&gt;&lt;P&gt;                INTO  TABLE it_ekko&lt;/P&gt;&lt;P&gt;                FOR ALL ENTRIES IN it_lfa1&lt;/P&gt;&lt;P&gt;                WHERE lifnr = it_lfa1-lifnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_ekko BY ebeln.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKPO TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_ekko[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;           ebeln&lt;/P&gt;&lt;P&gt;           ebelp&lt;/P&gt;&lt;P&gt;           menge&lt;/P&gt;&lt;P&gt;                FROM ekpo&lt;/P&gt;&lt;P&gt;                INTO TABLE it_ekpo&lt;/P&gt;&lt;P&gt;                FOR ALL ENTRIES IN it_ekko&lt;/P&gt;&lt;P&gt;                WHERE ebeln = it_ekko-ebeln.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_ekpo BY ebeln ebelp.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKET TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_ekpo[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;          ebeln&lt;/P&gt;&lt;P&gt;          ebelp&lt;/P&gt;&lt;P&gt;          etenr&lt;/P&gt;&lt;P&gt;          wemng&lt;/P&gt;&lt;P&gt;               FROM eket&lt;/P&gt;&lt;P&gt;               INTO TABLE it_eket&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN it_ekpo&lt;/P&gt;&lt;P&gt;               WHERE ebeln = it_ekpo-ebeln&lt;/P&gt;&lt;P&gt;               AND   ebelp = it_ekpo-ebelp.&lt;/P&gt;&lt;P&gt;    SORT it_eket BY ebeln ebelp etenr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKBE TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_eket[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;          ebeln&lt;/P&gt;&lt;P&gt;          ebelp&lt;/P&gt;&lt;P&gt;          bwart&lt;/P&gt;&lt;P&gt;          menge&lt;/P&gt;&lt;P&gt;               FROM ekbe&lt;/P&gt;&lt;P&gt;               INTO TABLE it_ekbe&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN it_eket&lt;/P&gt;&lt;P&gt;               WHERE ebelp = it_eket-ebelp&lt;/P&gt;&lt;P&gt;               AND   ebeln = it_eket-ebeln&lt;/P&gt;&lt;P&gt;               AND   bwart = '101'.&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;THIS BLOCK MOVES THE  FIELDS FROM DIFFERENT           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES(EKKO,LFA1,EKPO,EKET) INTO A FINAL TABLE IT_TAB *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;  CLEAR wa_tab.&lt;/P&gt;&lt;P&gt;  CLEAR it_tab.&lt;/P&gt;&lt;P&gt;  LOOP AT it_lfa1 INTO wa_lfa1.&lt;/P&gt;&lt;P&gt;    READ TABLE it_ekko INTO wa_ekko WITH KEY lifnr = wa_lfa1-lifnr&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_lfa1 INTO wa_lfa1&lt;/P&gt;&lt;P&gt;    WITH KEY lifnr = wa_lfa1-lifnr&lt;/P&gt;&lt;P&gt;    BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE: wa_lfa1-name1 TO wa_tab-name1.&lt;/P&gt;&lt;P&gt;      MOVE: wa_lfa1-lifnr TO wa_tab-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND wa_tab TO it_tab.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_tab,wa_lfa1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**READ FOR SECOND SCREEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_full.&lt;/P&gt;&lt;P&gt;  CLEAR : wa_full,&lt;/P&gt;&lt;P&gt;          wa_eket,&lt;/P&gt;&lt;P&gt;          wa_ekpo.&lt;/P&gt;&lt;P&gt;  LOOP AT it_eket  INTO wa_eket.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_ekpo INTO wa_ekpo WITH KEY ebeln = wa_eket-ebeln&lt;/P&gt;&lt;P&gt;                                             ebelp = wa_eket-ebelp&lt;/P&gt;&lt;P&gt;                                              BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_ekko INTO wa_ekko WITH KEY ebeln =&lt;/P&gt;&lt;P&gt;                                          wa_ekpo-ebeln&lt;/P&gt;&lt;P&gt;                                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_lfa1 INTO wa_lfa1 WITH KEY lifnr = wa_ekko-lifnr&lt;/P&gt;&lt;P&gt;                                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_full-ebelp = wa_ekpo-ebelp.&lt;/P&gt;&lt;P&gt;          wa_full-menge = wa_ekpo-menge.&lt;/P&gt;&lt;P&gt;          wa_full-lifnr = wa_lfa1-lifnr.&lt;/P&gt;&lt;P&gt;          wa_full-ebeln = wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;          wa_full-wemng = wa_eket-wemng.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND wa_full TO it_full.&lt;/P&gt;&lt;P&gt;    CLEAR :  wa_ekko,wa_ekpo,wa_eket,wa_full.&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;COUNT OF  PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_ekko WHERE lifnr = it_tab-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c = c + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    it_tab-c = c.&lt;/P&gt;&lt;P&gt;    MODIFY it_tab TRANSPORTING c.&lt;/P&gt;&lt;P&gt;    CLEAR c.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_SELECT_IT_TAB&lt;/P&gt;&lt;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  ZF_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELD CATALOG FOR FIRST SCREEN&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_I_FIELDCAT  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 zf_build_fieldcat  USING    p_i_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'NAME1'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'VENDOR NAME'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'C'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'PO COUNT'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CALLING FUNCTION FOR ALV GRID DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 zf_display_alv_list .&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                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&lt;/P&gt;&lt;P&gt;     i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;     is_layout                         = i_layout&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i_fieldcat&lt;/P&gt;&lt;P&gt;     it_events                         = i_eventcat&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_tab&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_SORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORTING OUTPUT BY PURCHASE ORDER AND LINE ITEM&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_I_SORTINFO  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_sort  USING    p_i_sortinfo TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_sortinfo.&lt;/P&gt;&lt;P&gt;  DATA: l_sortinfo TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_sortinfo.&lt;/P&gt;&lt;P&gt;  l_sortinfo-spos = '1'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-group = 'UL'.&lt;/P&gt;&lt;P&gt;  APPEND l_sortinfo TO p_i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_sortinfo.&lt;/P&gt;&lt;P&gt;  l_sortinfo-spos = '2'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-group = 'UL'.&lt;/P&gt;&lt;P&gt;  APPEND l_sortinfo TO p_i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_SORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_EVENTCAT&lt;/P&gt;&lt;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;&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_I_EVENTCAT  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_eventcat  USING    p_i_eventcat  TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_eventcat.&lt;/P&gt;&lt;P&gt;  DATA: i_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = p_i_eventcat&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_event.&lt;/P&gt;&lt;P&gt;  READ TABLE p_i_eventcat WITH KEY name = slis_ev_user_command INTO&lt;/P&gt;&lt;P&gt;  i_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'USER_COMMAND' TO i_event-form.&lt;/P&gt;&lt;P&gt;    APPEND i_event TO p_i_eventcat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_EVENTCAT&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;P&gt;FORM user_command USING p_ucomm TYPE sy-ucomm&lt;/P&gt;&lt;P&gt;                           p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN  '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_tab INTO wa_tab INDEX p_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF p_selfield-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vendor = p_selfield-value.&lt;/P&gt;&lt;P&gt;        PERFORM zf_vendor_details.&lt;/P&gt;&lt;P&gt;        PERFORM zf2_build_fieldcat USING i2_fieldcat.&lt;/P&gt;&lt;P&gt;        PERFORM zf_display_grid.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR p_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_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  ZF_VENDOR_DETAILS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; THIS FORM IS USED FOR MOVING DATA FROM IT_TAB TO IT_VENDOR&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 zf_vendor_details .&lt;/P&gt;&lt;P&gt;  CLEAR wa_ekko.&lt;/P&gt;&lt;P&gt;  CLEAR it_ekko.&lt;/P&gt;&lt;P&gt;  REFRESH it_vendor.&lt;/P&gt;&lt;P&gt;  LOOP AT it_full INTO wa_full WHERE lifnr = vendor.&lt;/P&gt;&lt;P&gt;    MOVE :&lt;/P&gt;&lt;P&gt;          wa_full-lifnr TO wa_vendor-lifnr,&lt;/P&gt;&lt;P&gt;          wa_full-ebeln TO wa_vendor-ebeln,&lt;/P&gt;&lt;P&gt;          wa_full-ebelp TO wa_vendor-ebelp,&lt;/P&gt;&lt;P&gt;          wa_full-menge TO wa_vendor-menge,&lt;/P&gt;&lt;P&gt;          wa_full-wemng TO wa_vendor-wemng.&lt;/P&gt;&lt;P&gt;    APPEND wa_vendor TO it_vendor.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_vendor.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_VENDOR_DETAILS&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  ZF2_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; THIS FORM IS USED FOR CATALOG SCREEN 2&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_I_FIELDCAT  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 zf2_build_fieldcat  USING    p_i_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l2_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PURCHASE ORDER NUMBER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C710'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PO ITEM'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PO QTY'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '5'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'WEMNG'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C450'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'QTY RECIEVED'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ZF2_BUILD_FIELDCAT&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  ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf_display_grid .&lt;/P&gt;&lt;P&gt;&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                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&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_COMMAND1'&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i2_fieldcat&lt;/P&gt;&lt;P&gt;     it_sort                           = i_sortinfo&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_vendor&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.                    "ZF_DISPLAY_GRID&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 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;P&gt;FORM user_command1 USING p_ucomm TYPE sy-ucomm&lt;/P&gt;&lt;P&gt;                           p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN  '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      READ TABLE it_vendor INTO wa_vendor INDEX p_selfield-tabindex.&lt;/P&gt;&lt;P&gt;      IF p_selfield-fieldname = 'WEMNG'.&lt;/P&gt;&lt;P&gt;        po_item = wa_vendor-ebelp.&lt;/P&gt;&lt;P&gt;        PERFORM zf_grn.&lt;/P&gt;&lt;P&gt;        PERFORM zf3_build_fieldcat USING i3_fieldcat.&lt;/P&gt;&lt;P&gt;        PERFORM zf1_display_grid.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_USER_COMMAND&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  ZF3_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FIELD CATALOG FOR THIRD SCREEN&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_I3_FIELDCAT  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 zf3_build_fieldcat  USING    p_i_fieldcat  TYPE slis_t_fieldcat_alv&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l3_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'P.O. NO'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'P.O.ITEM'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'BWART'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'MOVEMENT TYPE'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'GR QUANTITY'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF3_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF1_DISPLAY_GRID&lt;/P&gt;&lt;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 zf1_display_grid .&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                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i3_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_grn&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;&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.                    " ZF1_DISPLAY_GRID&lt;/P&gt;&lt;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  ZF_GRN&lt;/P&gt;&lt;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 zf_grn .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_eket .&lt;/P&gt;&lt;P&gt;  CLEAR it_eket.&lt;/P&gt;&lt;P&gt;  REFRESH it_grn.&lt;/P&gt;&lt;P&gt;  LOOP AT it_vendor INTO wa_vendor WHERE ebelp = po_item.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE it_ekbe INTO wa_ekbe  WITH KEY&lt;/P&gt;&lt;P&gt;          ebeln = wa_vendor-ebeln&lt;/P&gt;&lt;P&gt;          ebelp = wa_vendor-ebelp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        IF  wa_ekbe-bwart = '101'.&lt;/P&gt;&lt;P&gt;          MOVE: wa_ekbe-ebeln TO wa_grn-ebeln,&lt;/P&gt;&lt;P&gt;                wa_ekbe-ebelp TO wa_grn-ebelp,&lt;/P&gt;&lt;P&gt;                wa_ekbe-bwart TO wa_grn-bwart,&lt;/P&gt;&lt;P&gt;                wa_ekbe-menge TO wa_grn-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa_grn TO it_grn.&lt;/P&gt;&lt;P&gt;          CLEAR wa_ekbe.&lt;/P&gt;&lt;P&gt;          CLEAR wa_grn.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE e001.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_GRN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;Reward Points if it helps you .&amp;lt;/i&amp;gt; &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;Amber S&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:26:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227207#M478814</guid>
      <dc:creator>former_member198270</dc:creator>
      <dc:date>2007-05-11T11:26:17Z</dc:date>
    </item>
    <item>
      <title>Re: interactive  alv report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227208#M478815</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;internal table with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of itab_mara,&lt;/P&gt;&lt;P&gt;           matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;           enum like mara-enum,&lt;/P&gt;&lt;P&gt;           end of itab_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of itab_marc,&lt;/P&gt;&lt;P&gt;           matnr like marc-matnr,&lt;/P&gt;&lt;P&gt;           werks like marc-werks,&lt;/P&gt;&lt;P&gt;           end of itab_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of itab_final,&lt;/P&gt;&lt;P&gt;         matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;           enum like mara-enum,&lt;/P&gt;&lt;P&gt;          werks like marc-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : d_fieldcat type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;          d_fieldcat_wa type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen : begin of block blk1 with frame title text-001.&lt;/P&gt;&lt;P&gt;    select-options : s_matnr for mara-matnr,&lt;/P&gt;&lt;P&gt;                            s_werks for marc-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen : end of block blk1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr erdat from table itab_mara where matnr in s_matnr.&lt;/P&gt;&lt;P&gt;if not itab_mara is initial.&lt;/P&gt;&lt;P&gt;select matnr werks from table itab_marc where werks in s_werks.&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;d_fieldcat_wa-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;d_fieldcat_seltext_l = 'material number'.&lt;/P&gt;&lt;P&gt;d_fieldcat_wa-col_pos = 1.&lt;/P&gt;&lt;P&gt;append d_fieldcat_wa to t_fieldcat.&lt;/P&gt;&lt;P&gt;clear d_fieldcat_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;d_fieldcat_wa-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;d_fieldcat_seltext_l = 'plants'.&lt;/P&gt;&lt;P&gt;d_fieldcat_wa-col_pos = 2.&lt;/P&gt;&lt;P&gt;append d_fieldcat_wa to t_fieldcat.&lt;/P&gt;&lt;P&gt;clear d_fieldcat_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data :gd_repid like  sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function module reuse_grid_display_alv.&lt;/P&gt;&lt;P&gt;exporting.&lt;/P&gt;&lt;P&gt;proramname = gd_repid.&lt;/P&gt;&lt;P&gt;fieldcat = d_fieldcat.&lt;/P&gt;&lt;P&gt;importing.&lt;/P&gt;&lt;P&gt;t_outtab = itab_final.&lt;/P&gt;&lt;P&gt;exceptions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward with points if helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2007 11:29:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-report/m-p/2227208#M478815</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-11T11:29:48Z</dc:date>
    </item>
  </channel>
</rss>

