<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ALV basics for beginner in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450301#M549049</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please tell me ALV report basics and how to start any ALV report program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Praveen Singh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 24 Jun 2007 23:10:38 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-24T23:10:38Z</dc:date>
    <item>
      <title>ALV basics for beginner</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450301#M549049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please tell me ALV report basics and how to start any ALV report program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Praveen Singh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Jun 2007 23:10:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450301#M549049</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-24T23:10:38Z</dc:date>
    </item>
    <item>
      <title>Re: ALV basics for beginner</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450302#M549050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is a lot about ALV here in the forums,  you could simply search for ALV, lots of examples.  Also, if you want to try the CL_GUI_ALV_GRID implementation, then have a look at any program that starts with BCALV* in SE38&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;RIch Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Jun 2007 23:15:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450302#M549050</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2007-06-24T23:15:37Z</dc:date>
    </item>
    <item>
      <title>Re: ALV basics for beginner</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450303#M549051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Praveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To start with ALV, you first need to be very clear with the normal report programs.It will make developing ALV very easy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you clear with the normal report programs (classical reports)? I am just asking as I seen your other thread on normal reports. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Atish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Jun 2007 23:16:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450303#M549051</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-24T23:16:12Z</dc:date>
    </item>
    <item>
      <title>Re: ALV basics for beginner</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450304#M549052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also, here is a very simply example of using the function module based ALV tool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;


report zrich_0003 .



* Global ALV Data Declarations
type-pools: slis.

* Internal Tables
data: begin of ialv occurs 0,
      test1(10) type c,
      test2(10) type c,
      end of ialv.

data: fieldcat  type slis_t_fieldcat_alv.

start-of-selection.

  perform get_data.
  perform call_alv.

*********************************************************************
*      Form  GET_DATA
*********************************************************************
form get_data.

  ialv-test1 = 'ABC'.
  ialv-test2 = 'DEF'.
  append ialv.

  ialv-test1 = 'GHI'.
  ialv-test2 = 'JKL'.
  append ialv.


  ialv-test1 = '123'.
  ialv-test2 = '456'.
  append ialv.


endform.                    "GET_DATA

************************************************************************

*  CALL_ALV
************************************************************************

form call_alv.

  perform build_field_catalog.

* Call ABAP List Viewer (ALV)
  call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
      it_fieldcat  = fieldcat
    tables
      t_outtab     = ialv.

endform.                    "CALL_ALV

************************************************************************

* BUILD_FIELD_CATALOG
************************************************************************

form build_field_catalog.


  clear: fieldcat. refresh: fieldcat.

  data: tmp_fc type slis_fieldcat_alv.

  tmp_fc-reptext_ddic = 'Test1'.
  tmp_fc-fieldname    = 'TEST1'.
  tmp_fc-tabname      = 'IALV'.
  tmp_fc-outputlen    = '10'.
  append tmp_fc to fieldcat.

  tmp_fc-reptext_ddic = 'Test2'.
  tmp_fc-fieldname    = 'TEST2'.
  tmp_fc-tabname      = 'IALV'.
  tmp_fc-outputlen    = '10'.
  append tmp_fc to fieldcat.


endform.                    "BUILD_FIELD_CATALOG


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;RIch Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Jun 2007 23:17:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450304#M549052</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2007-06-24T23:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV basics for beginner</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450305#M549053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ys.....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Jun 2007 23:25:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450305#M549053</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-24T23:25:40Z</dc:date>
    </item>
    <item>
      <title>Re: ALV basics for beginner</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450306#M549054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Praveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer to the code below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will get better idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              TYPE-POOLS                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                TABLES                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES: mkpf,&lt;/P&gt;&lt;P&gt;        mseg.&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;                          TYPES DECLARATION                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_disp_table,&lt;/P&gt;&lt;P&gt;        box,                           "to show select all button in ALV&lt;/P&gt;&lt;P&gt;        bukrs LIKE mseg-bukrs,            "Company Code&lt;/P&gt;&lt;P&gt;        mblnr LIKE mkpf-mblnr,            "Number of Material Document&lt;/P&gt;&lt;P&gt;        region LIKE adrc-region,          "Region(State,Province,County)&lt;/P&gt;&lt;P&gt;        budat LIKE mkpf-budat,            "Posting Date in the Document&lt;/P&gt;&lt;P&gt;        werks LIKE mseg-werks,            "Plant&lt;/P&gt;&lt;P&gt;        name2 LIKE adrc-name2,                              "Name 2&lt;/P&gt;&lt;P&gt;        taxjurcode LIKE adrc-taxjurcode,  "Tax jurisdiction code&lt;/P&gt;&lt;P&gt;        sakto LIKE mseg-sakto,            "G/L Account Number&lt;/P&gt;&lt;P&gt;        matnr LIKE mseg-matnr,            "Material Number&lt;/P&gt;&lt;P&gt;        maktx LIKE makt-maktx,            "Material Description&lt;/P&gt;&lt;P&gt;        menge LIKE mseg-menge,            "Quantity&lt;/P&gt;&lt;P&gt;        meins LIKE mseg-meins,            "Base Unit of Measure&lt;/P&gt;&lt;P&gt;        unit_price LIKE mseg-dmbtr,       "Unit Price&lt;/P&gt;&lt;P&gt;        dmbtr LIKE mseg-dmbtr,            "Amount in local currency&lt;/P&gt;&lt;P&gt;        procd LIKE t007a-procd,           "Product Code&lt;/P&gt;&lt;P&gt;        wgbez LIKE t023t-wgbez,           "Description of material group&lt;/P&gt;&lt;P&gt;        matkl LIKE mara-matkl,            "Material Group&lt;/P&gt;&lt;P&gt;       END OF t_disp_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_tax_details,&lt;/P&gt;&lt;P&gt;          matnr LIKE mara-matnr,  "Material Number&lt;/P&gt;&lt;P&gt;          kappl LIKE a600-kappl,  "Application&lt;/P&gt;&lt;P&gt;          kschl LIKE a600-kschl,  "Condition type&lt;/P&gt;&lt;P&gt;          lland LIKE a600-lland,  "Destination country&lt;/P&gt;&lt;P&gt;          matkl LIKE a600-matkl,  "Material Group&lt;/P&gt;&lt;P&gt;          datbi LIKE a600-datbi,  "Validity end date of the cond. record&lt;/P&gt;&lt;P&gt;          knumh LIKE konp-knumh,  "Condition record number&lt;/P&gt;&lt;P&gt;          kopos LIKE konp-kopos,  "Sequential number of the condition&lt;/P&gt;&lt;P&gt;          mwsk1 LIKE konp-mwsk1,  "Tax on sales/purchases code&lt;/P&gt;&lt;P&gt;          kalsm LIKE t007a-kalsm, "Procedure (pricing, output control..)&lt;/P&gt;&lt;P&gt;          mwskz LIKE t007a-mwskz, "Tax on sales/purchases code&lt;/P&gt;&lt;P&gt;          procd LIKE t007a-procd, "SAP product code (external interface)&lt;/P&gt;&lt;P&gt;       END OF t_tax_details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_mseg_data,&lt;/P&gt;&lt;P&gt;          mblnr LIKE mseg-mblnr,  "Number of Material Document&lt;/P&gt;&lt;P&gt;          budat LIKE mkpf-budat,  "Posting Date&lt;/P&gt;&lt;P&gt;          bwart LIKE mseg-bwart,  "Movement Type added for EBP&lt;/P&gt;&lt;P&gt;          umlgo LIKE mseg-umlgo,  "Receiving/issuing storage location&lt;/P&gt;&lt;P&gt;          bukrs LIKE mseg-bukrs,  "Company Code&lt;/P&gt;&lt;P&gt;          umwrk LIKE mseg-umwrk,  "Plant&lt;/P&gt;&lt;P&gt;          werks LIKE mseg-werks,  "Plant&lt;/P&gt;&lt;P&gt;          sakto LIKE mseg-sakto,  "G/L Account Number&lt;/P&gt;&lt;P&gt;          matnr LIKE mseg-matnr,  "Material Number&lt;/P&gt;&lt;P&gt;          menge LIKE mseg-menge,  "Quantity&lt;/P&gt;&lt;P&gt;          meins LIKE mseg-meins,  "Base Unit of Measure&lt;/P&gt;&lt;P&gt;          ablad LIKE mseg-ablad,  "Unloading point added for EBP&lt;/P&gt;&lt;P&gt;          dmbtr LIKE mseg-dmbtr,  "Amount in local currency&lt;/P&gt;&lt;P&gt;          mjahr LIKE mseg-mjahr,  "Material Document Year&lt;/P&gt;&lt;P&gt;          zeile LIKE mseg-zeile,  "Item in Material Document&lt;/P&gt;&lt;P&gt;          line_id LIKE mseg-line_id,  "Document line&lt;/P&gt;&lt;P&gt;          lifnr LIKE mseg-lifnr,  "Account Number of the Vendor&lt;/P&gt;&lt;P&gt;          maktx LIKE makt-maktx,  "Material Description&lt;/P&gt;&lt;P&gt;          spras LIKE makt-spras,  "Language key&lt;/P&gt;&lt;P&gt;          name1 LIKE lfa1-name1,  "Vendor Name&lt;/P&gt;&lt;P&gt;          matkl LIKE mara-matkl,  "Material Group&lt;/P&gt;&lt;P&gt;       END OF t_mseg_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_address_data,&lt;/P&gt;&lt;P&gt;          lgort LIKE twlad-lgort,    "Storage Location&lt;/P&gt;&lt;P&gt;          werks LIKE twlad-werks,    "Plant&lt;/P&gt;&lt;P&gt;          region LIKE adrc-region,   "Region(State,Province,County)&lt;/P&gt;&lt;P&gt;          name2 LIKE adrc-name2,                            "Name 2&lt;/P&gt;&lt;P&gt;          taxjurcode LIKE adrc-taxjurcode,  "Tax jurisdiction code&lt;/P&gt;&lt;P&gt;          lfdnr LIKE twlad-lfdnr,    "Sequential address number&lt;/P&gt;&lt;P&gt;          addrnumber LIKE adrc-addrnumber,  "Address Number&lt;/P&gt;&lt;P&gt;          date_from LIKE adrc-date_from,    "From Date&lt;/P&gt;&lt;P&gt;          nation LIKE adrc-nation,          "Nation&lt;/P&gt;&lt;P&gt;       END OF t_address_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_scitem_id ,&lt;/P&gt;&lt;P&gt;          object_id TYPE crmt_object_id_co,&lt;/P&gt;&lt;P&gt;          number_int TYPE crmt_item_no_co,&lt;/P&gt;&lt;P&gt;       END OF t_scitem_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_zscitem_address_details,&lt;/P&gt;&lt;P&gt;         object_id TYPE crmt_object_id_co,&lt;/P&gt;&lt;P&gt;         number_int TYPE crmt_item_no_co,&lt;/P&gt;&lt;P&gt;         del_code(10).&lt;/P&gt;&lt;P&gt;INCLUDE  TYPE bapiaddr3.&lt;/P&gt;&lt;P&gt;TYPES: END OF t_zscitem_address_details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_t023t,&lt;/P&gt;&lt;P&gt;          spras LIKE t023t-spras,&lt;/P&gt;&lt;P&gt;          matkl LIKE t023t-matkl,&lt;/P&gt;&lt;P&gt;          wgbez LIKE t023t-wgbez,&lt;/P&gt;&lt;P&gt;       END OF t_t023t.&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;                            GLOBAL VARIABLES                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA:   gv_repid LIKE sy-repid,&lt;/P&gt;&lt;P&gt;        gv_title(80) TYPE c,&lt;/P&gt;&lt;P&gt;        gv_rfcdest LIKE crmrfcpar-rfcdest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            GLOBAL CONSTANTS                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_bwart(3) TYPE c VALUE '903',&lt;/P&gt;&lt;P&gt;           gc_country_key(3) TYPE c VALUE 'US',&lt;/P&gt;&lt;P&gt;           gc_kalsm(6) TYPE c VALUE 'TAXUSX',&lt;/P&gt;&lt;P&gt;           gc_bwart_ebp LIKE mseg-bwart VALUE '201'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      INTERNAL TABLE DECLARATION                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: gt_disp_table TYPE TABLE OF t_disp_table,&lt;/P&gt;&lt;P&gt;      gs_disp_table TYPE t_disp_table,&lt;/P&gt;&lt;P&gt;      gt_tax_details TYPE TABLE OF t_tax_details,&lt;/P&gt;&lt;P&gt;      gs_tax_details TYPE t_tax_details,&lt;/P&gt;&lt;P&gt;      gt_mseg_data TYPE TABLE OF t_mseg_data,&lt;/P&gt;&lt;P&gt;      gs_mseg_data TYPE t_mseg_data,&lt;/P&gt;&lt;P&gt;      gt_address_data TYPE TABLE OF t_address_data,&lt;/P&gt;&lt;P&gt;      gs_address_data TYPE t_address_data,&lt;/P&gt;&lt;P&gt;      gt_t023t TYPE TABLE OF t_t023t,&lt;/P&gt;&lt;P&gt;      gs_t023t TYPE t_t023t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  gt_scitem_id TYPE STANDARD TABLE OF t_scitem_id ,&lt;/P&gt;&lt;P&gt;       gs_scitem_id TYPE                   t_scitem_id ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       gt_scitem_address_details TYPE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;       t_zscitem_address_details ,&lt;/P&gt;&lt;P&gt;       gs_scitem_address_details TYPE  t_zscitem_address_details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gt_bukrs OCCURS 0,&lt;/P&gt;&lt;P&gt;        bukrs LIKE anla-bukrs,&lt;/P&gt;&lt;P&gt;      END OF gt_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Events for handling the top-of-page&lt;/P&gt;&lt;P&gt;DATA: gs_events  TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;DATA: gt_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;DATA: gt_listheader TYPE  slis_t_listheader .&lt;/P&gt;&lt;P&gt;DATA: gs_layout   TYPE slis_layout_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   gt_fieldcat TYPE slis_t_fieldcat_alv.&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;                             SELECTION SCREEN                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001 .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_bukrs FOR mseg-bukrs,&lt;/P&gt;&lt;P&gt;                s_budat FOR mkpf-budat,&lt;/P&gt;&lt;P&gt;                s_werks FOR mseg-werks,&lt;/P&gt;&lt;P&gt;                s_matnr FOR mseg-matnr.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK block1.&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;           INITIALIZATION EVENT                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  gv_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  gv_title = text-t01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        AT SELECTION-SCREEN EVENTS                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM validate_selection_criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        START-OF-SELECTION EVENT                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM fetch_data.&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;                        END-OF-SELECTION EVENT                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gt_disp_table IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE s000 WITH text-m01.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM display_alv.&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;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_selection_criteria&lt;/P&gt;&lt;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;     Validation of entries for company code plant and material number&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 validate_selection_criteria .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lv_matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;        lv_werks LIKE t001w-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; validating company code and selecting US Company codes only&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT bukrs&lt;/P&gt;&lt;P&gt;  FROM t001&lt;/P&gt;&lt;P&gt;  INTO TABLE gt_bukrs&lt;/P&gt;&lt;P&gt;  WHERE bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;    AND land1 = gc_country_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e000 WITH text-t03.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF s_werks IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE werks FROM t001w INTO lv_werks WHERE werks IN s_werks.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH text-t04.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Material Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF s_matnr IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE matnr FROM mara INTO lv_matnr WHERE matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH text-t05.&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.                    " validate_selection_criteria&lt;/P&gt;&lt;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  fetch_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fetch_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: gt_tax_details,gt_mseg_data,gt_address_data.&lt;/P&gt;&lt;P&gt;  CLEAR: gt_tax_details,gt_mseg_data,gt_address_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:  lv_object_id TYPE crmt_object_id_co,&lt;/P&gt;&lt;P&gt;         lv_number_int TYPE crmt_item_no_co.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT f~mblnr&lt;/P&gt;&lt;P&gt;         f~budat&lt;/P&gt;&lt;P&gt;         g~bwart&lt;/P&gt;&lt;P&gt;         g~umlgo&lt;/P&gt;&lt;P&gt;         g~bukrs&lt;/P&gt;&lt;P&gt;         g~umwrk&lt;/P&gt;&lt;P&gt;         g~werks&lt;/P&gt;&lt;P&gt;         g~sakto&lt;/P&gt;&lt;P&gt;         g~matnr&lt;/P&gt;&lt;P&gt;         g~menge&lt;/P&gt;&lt;P&gt;         g~meins&lt;/P&gt;&lt;P&gt;         g~ablad&lt;/P&gt;&lt;P&gt;         g~dmbtr&lt;/P&gt;&lt;P&gt;         g~mjahr&lt;/P&gt;&lt;P&gt;         g~zeile&lt;/P&gt;&lt;P&gt;         g~line_id&lt;/P&gt;&lt;P&gt;         g~lifnr&lt;/P&gt;&lt;P&gt;         t~maktx&lt;/P&gt;&lt;P&gt;         t~spras&lt;/P&gt;&lt;P&gt;    INTO TABLE gt_mseg_data&lt;/P&gt;&lt;P&gt;    FROM (&lt;/P&gt;&lt;P&gt;                      mseg AS g&lt;/P&gt;&lt;P&gt;           INNER JOIN mkpf AS f ON g&lt;SUB&gt;mblnr = f&lt;/SUB&gt;mblnr&lt;/P&gt;&lt;P&gt;                               AND g&lt;SUB&gt;mjahr = f&lt;/SUB&gt;mjahr&lt;/P&gt;&lt;P&gt;           INNER JOIN makt AS t ON t&lt;SUB&gt;matnr = g&lt;/SUB&gt;matnr )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN gt_bukrs&lt;/P&gt;&lt;P&gt;    WHERE g~bukrs = gt_bukrs-bukrs&lt;/P&gt;&lt;P&gt;      AND f~budat IN s_budat&lt;/P&gt;&lt;P&gt;      AND g~werks IN s_werks&lt;/P&gt;&lt;P&gt;      AND g~matnr IN s_matnr&lt;/P&gt;&lt;P&gt;      AND ( g~bwart = gc_bwart OR&lt;/P&gt;&lt;P&gt;            g~bwart = gc_bwart_ebp )&lt;/P&gt;&lt;P&gt;      AND t~spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; getting address details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT d~lgort&lt;/P&gt;&lt;P&gt;         d~werks&lt;/P&gt;&lt;P&gt;         c~region&lt;/P&gt;&lt;P&gt;         c~name2&lt;/P&gt;&lt;P&gt;         c~taxjurcode&lt;/P&gt;&lt;P&gt;         d~lfdnr&lt;/P&gt;&lt;P&gt;         c~addrnumber&lt;/P&gt;&lt;P&gt;         c~date_from&lt;/P&gt;&lt;P&gt;         c~nation&lt;/P&gt;&lt;P&gt;    INTO TABLE gt_address_data&lt;/P&gt;&lt;P&gt;    FROM (&lt;/P&gt;&lt;P&gt;           twlad AS d INNER JOIN&lt;/P&gt;&lt;P&gt;           adrc AS c ON c&lt;SUB&gt;addrnumber = d&lt;/SUB&gt;adrnr&lt;/P&gt;&lt;P&gt;         )&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN gt_mseg_data&lt;/P&gt;&lt;P&gt;    WHERE d~werks = gt_mseg_data-umwrk&lt;/P&gt;&lt;P&gt;      AND d~lgort = gt_mseg_data-umlgo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;getting product code &amp;amp; tax details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT  m~matnr&lt;/P&gt;&lt;P&gt;          a~kappl&lt;/P&gt;&lt;P&gt;          a~kschl&lt;/P&gt;&lt;P&gt;          a~lland&lt;/P&gt;&lt;P&gt;          a~matkl&lt;/P&gt;&lt;P&gt;          a~datbi&lt;/P&gt;&lt;P&gt;          k~knumh&lt;/P&gt;&lt;P&gt;          k~kopos&lt;/P&gt;&lt;P&gt;          k~mwsk1&lt;/P&gt;&lt;P&gt;          t~kalsm&lt;/P&gt;&lt;P&gt;          t~mwskz&lt;/P&gt;&lt;P&gt;          t~procd&lt;/P&gt;&lt;P&gt;     INTO TABLE gt_tax_details&lt;/P&gt;&lt;P&gt;     FROM ( ( (&lt;/P&gt;&lt;P&gt;                     mara AS m&lt;/P&gt;&lt;P&gt;          INNER JOIN a600 AS a ON m&lt;SUB&gt;matkl = a&lt;/SUB&gt;matkl )&lt;/P&gt;&lt;P&gt;          INNER JOIN konp AS k ON  a&lt;SUB&gt;knumh = k&lt;/SUB&gt;knumh&lt;/P&gt;&lt;P&gt;                               AND a&lt;SUB&gt;kappl = k&lt;/SUB&gt;kappl&lt;/P&gt;&lt;P&gt;                               AND a&lt;SUB&gt;kschl = k&lt;/SUB&gt;kschl )&lt;/P&gt;&lt;P&gt;          INNER JOIN t007a AS t ON k&lt;SUB&gt;mwsk1 = t&lt;/SUB&gt;mwskz )&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN gt_mseg_data&lt;/P&gt;&lt;P&gt;    WHERE m~matnr = gt_mseg_data-matnr&lt;/P&gt;&lt;P&gt;      AND t~kalsm = gc_kalsm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT gt_tax_details BY matnr.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM gt_tax_details COMPARING matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT spras&lt;/P&gt;&lt;P&gt;           matkl&lt;/P&gt;&lt;P&gt;           wgbez&lt;/P&gt;&lt;P&gt;      INTO TABLE gt_t023t&lt;/P&gt;&lt;P&gt;      FROM t023t&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN gt_tax_details&lt;/P&gt;&lt;P&gt;      WHERE matkl = gt_tax_details-matkl&lt;/P&gt;&lt;P&gt;        AND spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT gt_t023t BY matkl.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_address_data BY lgort werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Logic for getting EBP details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT gt_mseg_data INTO gs_mseg_data&lt;/P&gt;&lt;P&gt;                       WHERE bwart = gc_bwart_ebp&lt;/P&gt;&lt;P&gt;                         AND ablad IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SPLIT gs_mseg_data-ablad AT '\' INTO gs_scitem_id-object_id&lt;/P&gt;&lt;P&gt;                                    gs_scitem_id-number_int.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      APPEND gs_scitem_id TO gt_scitem_id.&lt;/P&gt;&lt;P&gt;      CLEAR gs_scitem_id.&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;  DELETE ADJACENT DUPLICATES FROM gt_scitem_id COMPARING ALL FIELDS.&lt;/P&gt;&lt;P&gt;  IF NOT gt_scitem_id[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE rfcdest&lt;/P&gt;&lt;P&gt;             INTO gv_rfcdest&lt;/P&gt;&lt;P&gt;             FROM crmrfcpar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_GET_SC_DELADDRESS' DESTINATION gv_rfcdest&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        scitem_id     = gt_scitem_id&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        scdel_details = gt_scitem_address_details.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH text-e01 text-e02.&lt;/P&gt;&lt;P&gt;    ELSE.&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;  SORT gt_scitem_address_details BY object_id number_int.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Filling all selected data in display table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT gt_mseg_data INTO gs_mseg_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Adding MSEG/MKPF/MAKT fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_disp_table-bukrs = gs_mseg_data-bukrs.&lt;/P&gt;&lt;P&gt;    gs_disp_table-mblnr = gs_mseg_data-mblnr.&lt;/P&gt;&lt;P&gt;    gs_disp_table-budat = gs_mseg_data-budat.&lt;/P&gt;&lt;P&gt;    gs_disp_table-werks = gs_mseg_data-werks.&lt;/P&gt;&lt;P&gt;    gs_disp_table-sakto = gs_mseg_data-sakto.&lt;/P&gt;&lt;P&gt;    gs_disp_table-matnr = gs_mseg_data-matnr.&lt;/P&gt;&lt;P&gt;    gs_disp_table-maktx = gs_mseg_data-maktx.&lt;/P&gt;&lt;P&gt;    gs_disp_table-menge = gs_mseg_data-menge.&lt;/P&gt;&lt;P&gt;    gs_disp_table-meins = gs_mseg_data-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF gs_mseg_data-menge IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;     gs_disp_table-unit_price = gs_mseg_data-dmbtr / gs_mseg_data-menge.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    gs_disp_table-dmbtr = gs_mseg_data-dmbtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Address details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE gt_address_data INTO gs_address_data&lt;/P&gt;&lt;P&gt;        WITH KEY lgort = gs_mseg_data-umlgo&lt;/P&gt;&lt;P&gt;                 werks = gs_mseg_data-umwrk&lt;/P&gt;&lt;P&gt;                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gs_disp_table-region     = gs_address_data-region.&lt;/P&gt;&lt;P&gt;    gs_disp_table-name2      = gs_address_data-name2.&lt;/P&gt;&lt;P&gt;    gs_disp_table-taxjurcode = gs_address_data-taxjurcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Adding Product Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE gt_tax_details INTO gs_tax_details&lt;/P&gt;&lt;P&gt;                WITH KEY matnr = gs_mseg_data-matnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      gs_disp_table-procd = gs_tax_details-procd.&lt;/P&gt;&lt;P&gt;      gs_disp_table-matkl = gs_tax_details-matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR gs_t023t.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_t023t INTO gs_t023t&lt;/P&gt;&lt;P&gt;          WITH KEY matkl = gs_tax_details-matkl&lt;/P&gt;&lt;P&gt;                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      gs_disp_table-wgbez = gs_t023t-wgbez.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF gs_mseg_data-bwart = gc_bwart_ebp.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; For EBP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR: lv_object_id,&lt;/P&gt;&lt;P&gt;             lv_number_int.&lt;/P&gt;&lt;P&gt;      SPLIT gs_mseg_data-ablad AT '\' INTO lv_object_id&lt;/P&gt;&lt;P&gt;                                           lv_number_int.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR gs_scitem_address_details.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_scitem_address_details&lt;/P&gt;&lt;P&gt;                  INTO gs_scitem_address_details&lt;/P&gt;&lt;P&gt;                  WITH KEY object_id  = lv_object_id&lt;/P&gt;&lt;P&gt;                           number_int = lv_number_int&lt;/P&gt;&lt;P&gt;                           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      gs_disp_table-region     = gs_scitem_address_details-region.&lt;/P&gt;&lt;P&gt;      gs_disp_table-name2      = gs_scitem_address_details-name_2.&lt;/P&gt;&lt;P&gt;      gs_disp_table-taxjurcode = gs_scitem_address_details-taxjurcode.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND gs_disp_table TO gt_disp_table.&lt;/P&gt;&lt;P&gt;    CLEAR: gs_disp_table,&lt;/P&gt;&lt;P&gt;           gs_tax_details,&lt;/P&gt;&lt;P&gt;           gs_address_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fetch_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_alv_events.&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat_init.&lt;/P&gt;&lt;P&gt;  PERFORM build_top_of_page CHANGING gt_listheader.&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_bypassing_buffer = 'X'&lt;/P&gt;&lt;P&gt;      i_buffer_active    = ' '&lt;/P&gt;&lt;P&gt;      i_callback_program = gv_repid&lt;/P&gt;&lt;P&gt;      it_fieldcat        = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_events          = gt_events&lt;/P&gt;&lt;P&gt;      is_layout          = gs_layout&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = gt_disp_table&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE 'I' 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.                    " display_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_alv_events&lt;/P&gt;&lt;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 get_alv_events .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    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       = gt_events&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;  gs_events-form = 'STD_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  MODIFY gt_events FROM gs_events TRANSPORTING form WHERE name =&lt;/P&gt;&lt;P&gt;'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_alv_events&lt;/P&gt;&lt;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  fieldcat_init&lt;/P&gt;&lt;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 fieldcat_init.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  DATA: pos TYPE i VALUE 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'BUKRS' 'MSEG'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'MBLNR' 'MSEG'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'REGION' 'ADRC'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'BUDAT' 'MKPF'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'WERKS' 'MSEG'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'NAME2'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'GT_DISP_TABLE'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_fieldname = 'NAME2'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname   = 'MSEG'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic  = text-c02.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = text-c02.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m     = text-c02.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s     = text-c02.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ddic_outputlen = 15.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'TAXJURCODE' 'ADRC'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'SAKTO' 'MSEG'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'MATNR' 'MSEG'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'MAKTX' 'MAKT'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'MATKL' 'MARA'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'WGBEZ' 'T023T'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'PROCD' 'T007A'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'MENGE' 'MSEG'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcat_table USING pos 'MEINS' 'MSEG'.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'UNIT_PRICE'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'GT_DISP_TABLE'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_fieldname = 'DMBTR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname   = 'MSEG'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic  = text-c01.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = text-c01.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m     = text-c01.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s     = text-c01.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ddic_outputlen = 15.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'DMBTR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'GT_DISP_TABLE'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_fieldname = 'DMBTR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname   = 'MSEG'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-reptext_ddic  = text-c04.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = text-c04.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m     = text-c04.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s     = text-c04.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ddic_outputlen = 15.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_layout-box_fieldname = 'BOX'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fieldcat_init1&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  fill_fieldcat_table&lt;/P&gt;&lt;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 fill_fieldcat_table  USING    p_pos&lt;/P&gt;&lt;P&gt;                                   value(p_fieldname)&lt;/P&gt;&lt;P&gt;                                   value(p_tabname).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       = p_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = p_fieldname.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'GT_DISP_TABLE'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_fieldname = p_fieldname.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname   = p_tabname.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fill_fieldcat_table&lt;/P&gt;&lt;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_top_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_top_of_page  CHANGING l_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:ls_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'H'.&lt;/P&gt;&lt;P&gt;  ls_line-info = gv_title .&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO l_top_of_page.&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key = text-t02.&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO ls_line-info.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO l_top_of_page.&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_top_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  std_top_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM std_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 = gt_listheader&lt;/P&gt;&lt;P&gt;      i_logo             = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "std_top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Atish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Jun 2007 23:36:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450306#M549054</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-24T23:36:06Z</dc:date>
    </item>
    <item>
      <title>Re: ALV basics for beginner</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450307#M549055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Answered.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Mar 2011 06:29:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-basics-for-beginner/m-p/2450307#M549055</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-03-25T06:29:08Z</dc:date>
    </item>
  </channel>
</rss>

