<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ALV in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649605#M610694</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ALV(ABAP List View)&lt;/P&gt;&lt;P&gt;go to the below link to have basics of ALV:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/what-is-alv-programming.htm" target="test_blank"&gt;http://www.sap-img.com/abap/what-is-alv-programming.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 23 Aug 2007 06:08:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-23T06:08:32Z</dc:date>
    <item>
      <title>ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649602#M610691</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what is ALV send me the detail description about ALV and functions&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Aug 2007 06:05:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649602#M610691</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-23T06:05:32Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649603#M610692</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;ALV stands for Active List Viewer. Its a kind of report from which you can dig some more information. This report output resembles the SAP standard screen with all the necessary application menus and icons. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The mostly used FMs are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reuse_alv_list_display&lt;/P&gt;&lt;P&gt;reuse_alv_grid_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ravi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Aug 2007 06:07:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649603#M610692</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-23T06:07:54Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649604#M610693</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ALV is Application List viewer. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The report output can contain up to 90 columns in the display with the wide array of display options. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The commonly used ALV functions used for this purpose are; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. REUSE_ALV_VARIANT_DEFAULT_GET &lt;/P&gt;&lt;P&gt;2. REUSE_ALV_VARIANT_F4 &lt;/P&gt;&lt;P&gt;3. REUSE_ALV_VARIANT_EXISTENCE &lt;/P&gt;&lt;P&gt;4. REUSE_ALV_EVENTS_GET &lt;/P&gt;&lt;P&gt;5. REUSE_ALV_COMMENTARY_WRITE &lt;/P&gt;&lt;P&gt;6. REUSE_ALV_FIELDCATALOG_MERGE &lt;/P&gt;&lt;P&gt;7. REUSE_ALV_LIST_DISPLAY &lt;/P&gt;&lt;P&gt;8. REUSE_ALV_GRID_DISPLAY &lt;/P&gt;&lt;P&gt;9. REUSE_ALV_POPUP_TO_SELECT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/what-is-alv-programming.htm" target="test_blank"&gt;http://www.sap-img.com/abap/what-is-alv-programming.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/abap-example-program-alv-grid-control.htm" target="test_blank"&gt;http://www.sap-img.com/abap/abap-example-program-alv-grid-control.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.erpgenie.com/abap/code/abap28.htm" target="test_blank"&gt;http://www.erpgenie.com/abap/code/abap28.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if useful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Aug 2007 06:08:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649604#M610693</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-23T06:08:25Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649605#M610694</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ALV(ABAP List View)&lt;/P&gt;&lt;P&gt;go to the below link to have basics of ALV:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/what-is-alv-programming.htm" target="test_blank"&gt;http://www.sap-img.com/abap/what-is-alv-programming.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Aug 2007 06:08:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649605#M610694</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-23T06:08:32Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649606#M610695</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Senthil , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find the piece of code this will help you in creatinting interactive ALV program . &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;Reward Points if Helpful. &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>Thu, 23 Aug 2007 06:17:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649606#M610695</guid>
      <dc:creator>former_member198270</dc:creator>
      <dc:date>2007-08-23T06:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649607#M610696</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hii Senthil, actually ALV stands for Abap List Viewer. It is used to make the reports. Earlier we used mostly Classical and Interactive reports. Now a days every body using ALV reports its also supports the Interactive functionality.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you want more details on ALV follow the links.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.abapcode.blogspot.com" target="test_blank"&gt;www.abapcode.blogspot.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.sapdevelopment.co.uk" target="test_blank"&gt;www.sapdevelopment.co.uk&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.sapmaterial.com" target="test_blank"&gt;www.sapmaterial.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Aug 2007 06:18:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2649607#M610696</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-23T06:18:14Z</dc:date>
    </item>
  </channel>
</rss>

