Vendors list display

Hello,
In the vendors, i have maintained different account groups.
Now i want in PO for example when entering the vendor, not to see all the vendors (all the account groups), but only some.
Is there any authorizations- things i have to do?
Thank you.

Dear,
As per my view.
At the time of purchase order creation click F4 for field of vendor code.
Then check vendor by vendor account group search tab is existing, if it is existing then enter account group and see vendor list.
Otherwise system display list of vendor.
Easy way is select vendor(General) search tab and enter name of vendor and press enter.
You can also see account group wise vendor list with MKVZ.
Regards,
Mahesh Wagh.

Similar Messages

  • FI/MM Vendor list display

    Can anyone please advise how i can run a list of all SAP vendors (to include both FI and MM vendors) that i've used for this year.
    I need the report to list vendr name,tel/faxno.,address,email and country.
    I've figured out a way to run a list of vendors actually <b>created</b>(using an ABAP query consisting of tables LFA1,LFB1 and LFM1) for this period but the user is requiring those vendors <b>which were acutally used</b>.
    In the case of MM vendors it'll be all those who we built purchase orders for ,as for the FI aspect,i'm not sure but i assume the relating document should be those vendors we posted invoices for during the year.
    In a nutshell i'm asking is there anyway to run a list of all FI vendors and MM vendors that we've used for a particular period(e.g.in a year).Also if i'm running a query (using tables LFA1 LFB1 and LFM1)i'm not seeing any fields LISTING email address,how do i get the email address for these vendors.
    Can anyone please help.Thanks in  advance.

    Get the list of vendors from BSID and BSAD - these are the open items and closed items tables. If you restrict by date you can get the list. Also, it will include both FI and MM vendors.
    The only vendors that will be excluded are those with only PO or PO and GR for the whole year since an entry is ,made in this table at invoice verification time.
    Hope this helps,
    Lakshman

  • Vendor does not show in Display Vendor list

    Hello SRM Experts,
    I have a problem where I can see the Vendor in BP but I am not able to find this Vendor on the display vendor list on the web.
    In BP, I can see that "Display in BP role" for this Vendor is "Business Partner (Gen.)" and not "Vendor".
    Could this be the reason that it does not show up?
    Also we dont have this vendor in VENMAP table but it is in BUT000.
    Please advise.
    Thanks and Regards
    Aaarvi

    My apologies for not being clear.
    I meant in EBP, while creating a shopping cart, we select the Vendor. While selecting we have the F4 option.
    I do not see the mentioned Vendor in this list, but I can see this in BP transaction. This Vendor also exists in ECC.
    Per my investigation, I cannot this Vendor in VENMAP but is there in BUT000. Also as mentioned previously, the type is different for this Vendor.
    Please advise.
    Thanks and Regards
    Aaarvi

  • Custom field in vendor list

    Hi all,
    I'm trying to add a custom field to a vendor list item. Does anybody of you know whether it is sufficient to just add the field in include <b>INCL_EEW_PD_ITEM_CSF_AVL</b>. I tried doing this but unfortunately this is not sufficient (the field does not appear in the ITS transaction <-> custom field in SC) (sorry for this simple question - but I'm not an ABAP-er).
    Thanks,
    Regards,
    Kristof

    Hi Kristof,
    yes this should be sufficient. Once defined, CUF appear automatically. You can use the CUF BADI to control the display/input of the fields.
    Your item CUF should appear in VL item, i.e. vendor line.
    Use INCL_EEW_PD_HEADER_CSF_AVL for header CUF.
    Rgds
    Christophe
    PS: please reward points for helpfull answers

  • Vendor changes tracking, Payment term filtering, Vendor listing

    Hi All,
    Need somebody help on the following points,
    1-  While changing the vendor via "process vendor and Bidder" (Business partner maintenance) transaction in EBP, the selection of payment term is restricted.  That is in SPRO I can see lot of payment terms, but while changing the vendor some few payment terms are coming.  Where is the filter?  Can anybody guide me.
    2- Vendor changes Tracking.  In our project somebody has changed frequently the vendor indicators and details in EBP via process Vendor and Bidder(BP maintenance) transaction.  But I couldnt able to track which fields are changed and by whom like in R/3.   I tried in BP also, but only the address changed details are coming there.  Can anybody guide me how to track the changes, if somebody changed somefield in EBP directly?
    3- Vendor list -  I want list ERS activated vendor in EBP.  How to get the list of vendor for which ERS indicator is active? Please guide me.
    Many thanks in Advance.
    Regards
    Shunmugaraj. T

    Hi
    Please refer to standard transaction - BBP_PD.. give any Shopping cart number, which is approved by a list of buyers, managers, etc..
    Incase the changes are made, it will display all the details related to them in that case.
    Understand its logic by putting break-point inside.
    <b>Incase you are using SRM 5.5 version, there is a  report, which displays the changes made to the Purchase orders with old and new values.
    Report name -> TERM_DISPLAY_CHANGE_HISTORY</b>
    <i>Also please refer this as well.</i>
    <u>Say you use this Function module for the change object - BUPA_BBP0060</u>
    This sample code will all the changes, if any, made to the object, with the old value and new values.
    Here is the sample code for the FM ->
    <b>CHANGEDOCUMENTS_TO_OBJECT        </b>
    data: listtitle(80)    type c.
    data: objectclass      like cdhdr-objectclas.
    data: objecttitle(20)  type c.
    data: con_keylength(2) type n value 10.
    data: cursor_field(20) type c.
      listtitle    = 'Changes made'.         
      listtitle+22 = vibebe-sberi.
      listtitle+34 = vibebe-xberibz.
      condense listtitle.
      objectclass = 'BUPA_BBP0060'.
      call function 'CHANGEDOCUMENTS_TO_OBJECT'
           exporting
                callmodus         = callmodus
                cursor_field      = cursor_field
                keylength         = con_keylength
                listtitle         = listtitle
                objectclass       = objectclass
                objectid          = objectid
                objecttitle       = objecttitle
           exceptions
                error_in_function = 01
                invalid_field     = 02
                others            = 03.
      if sy-subrc <> 0.
        message id sy-msgid type 'S' number sy-msgno
          with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    Hope this will help.
    Please reward suitable points.
    Regards
    - Atul

  • Change Vendor List for a particular period

    Hi All,
    How do I find out vendors list which will contain vendors who have had changes made to them within a particular period.
    Thanking you in advance.
    Regards
    Prakash

    Hi
    There is no report available for this. Display changes you can find out for each vendor by XK04 transaction code.
    Otherwise you may develop simple report. Changes are stored in Cdhdr and CDPOS.
    Purchase Table start with E.
    regards
    Srinivas

  • Vendor List search

    Hi guys,
        We are using ECS on SRM 5.0 with backend ECC5.0
        And we want to utilize vendor list function , the VL has been created. When we process the BId invitation, we need to seach for certain VL. In the search screen  , we input the 'product ID' of which the VL has been created for sure. The system returns "No result found".  If we use product categary to find,there will be results..
        Any clues?
        Thank you very much.

    Hi
    <u>Definitely seem like abug in the SRM system due to some missing SAP OSS Note -></u>
    <b>Please go through the SAP OSS Notes below, which will definitely help  -></b>
    Note 942723 - No result when searching in Vendor List
    Note 1104400 - Search help for preferred vendor not filtered with category
    Note 980450 - Shopping cart: search help for preferred vendor
    Note 1041951 - Product category ID not assigned to the vendor
    Note 1073542 - BBPMAININT:Product category ID is not saved
    Note 794653 - SRM Partner maintenance:possible loss of data in error case
    Note 1020025 - Item detail display in Cross Catalog Search
    Note 522243 Product is ambiguous or not found
    Note 1100343 Correction of Base Unit and Purchase org on QTA / ASL header
    Note 1027352 - Item detail display in Cross Catalog Search
    <u>Do let me know.</u>
    Regards
    - Atul

  • SRM Vendor Evaluation - Vendor List survey not launching

    Claudia Michaels - 
    I too have a similar problem.  Your advice to other user was helpful.  In similar situation.  SRM5.0.  I have a Questionnaire defined using IMG activity (WebSurvey Cockpit).  When I execute the Evaluate Vendor from the SRM Process Vendor List - I get "Page cannot be displayed".
    1.  I checked the table TUWS_SURVEY - and the Survey exists.
    2.  I ran the GET xlst name and it found it - XSLT Program Name: UXSGAB49CFCDA641774DB513A35B
    3.  You mentioned checking to see if BBP_VE_SERVICE and/or UWS_FORM_SERVICE were active.  How do I check this? 
    Teresa Berenyi

    I fgured this out for myself.  To check if BBP_VE_SERVICE and/or UWS_FORM_SERVICE are active - use T-Code SICF.

  • Preferred Vendor Lists maintained in EBP

    Hi All,
    I would like to know where exactly Preferred Vendor Lists maintained in EBP.
    I had checked BBP_PDVIEW_LIST table, which displays Vendor List number against Prod Category GUI Id. But we also need to find out the link between Vendor List Number and Vendor Numbers.
    If some one helps me in this then that will be great.
    Thanks
    Talchuru

    Hi
    Setting for Preferred Vendor is done at Vendor Lists.
    This thing is only done by purchaser role.
    You give user with role as : SAP_EC_BBP_ST_PURCHASER
    Then you can see Business Partner link - here you can check out "BBPAVLMAINT - Process Vendor List" - by using this transaction you can change/delete the linkage of Product Category with Vendor.
    Please see the related pointers ->
    Re: Preffered Vendor
    See the SRM web transaction  - BBPAVLMAINT
    To create Vendor Lists (progammatically / configuration )
    Re: Vendor List Mass Creation
    Hope this will help.
    Regards
    - Atul

  • Vendor List Mass Creation

    Hi all,
       We need to input thousands of vendor lists ,but there is no such a mass input BADI or FM available.. or we have not found out...
       Could you pls help us on how to finish this mass input job?
    THank you!

    Hi Wang,
    Sorry didn't get that. Yeah there is no such program or BADI exists for mass update of vendor lists.
    You have to manuaaly create vendor lists through  "Process Vendor Lists" under Business partner link in portal.
    There is BADI only for defining criteria for display of vendor list.
    Rgds,
    Teja

  • Add External Supplier from a Vendor List

    Hi;
    Iu2019m trying to create a vendor list.
    The list should appear in SRM portal in u201CStrategic Purchasingu201D u2013 u201CBusiness Partneru201D u2013 u201CCreate business partner: Supplieru201D u2013 u201CAdd external Supplier fromu201D.
    My u201CList of Vendorsu2019u201D data is:
    Technical Type of Service: HTML
    Logical system: SRM;
    Path for Symbol for Service: http://.../sap/bc/bsp/sap/ros_prescreen?sap-client=010
    In Standard call structure we have:
    1                            http://.../sap/bc/bsp/sap/ros_prescreen?sap-client=010     0 URL
    2     username                     projecto                          2 Fixed Value
    3     password          projecto                                     2 Fixed Value
    4     HOOK_URL                                    4 Return URL
    5     ~OkCode                     ADDI                          2 Fixed Value
    6     ~target     _     top                          2 Fixed Value
    7     ~caller          CTLG                          2 Fixed Value
    Do you have any idea what is missing or wrong?
    Thanks;
    Marta Marques.

    Hi Martna
    please see the below link Parab's check list on ROS.Thanks parab it was a good expalnation on ROS with ros grammer syntax.
    you may use client also a different parameter in call structure.
    Re: Error installing CE Evaluation April 2007
    Web Service ID : ROS
    Description: External Web Service in EBP
    Bus Type of a Web service : List of Vendors
    Display Partner Data again in Vendor List : X
    Vendor Root Node : 50000620 (this is Vensor Root node in EBP client)
    Use Error Log : X
    Use HTTP GET to call Web Service : <blank>
    Codepage of Service: <blank>
    Techinical type of Service : <Blank>
    Logical system : SRDCLNT310 (this is ROs client from there supplier will be transfered)
    Path for symbol for service : <blank>
    Standard Call Structure Parameter setting as follows
    1. <blank> http://....ros_prescreen/main.do URL
    2. sap-client 310 fixed_value
    3. sap-username dineshp fixed_value
    4. sap-password GAJANAN fixed_value
    5. HOOK_URL <blank> Return_URL
    6. ~OkCode ADDI fixed_value
    7. ~target top fixedvalue
    8. ~caller CTLG fixed_value
    Also defined ROS external web service as default CAT attribute in the organization setting.
    BBP_MARKETP_INFO table entry in EBP client.
    Hope it helps to configure ROS in define webservices.
    regards
    Muthu

  • How to download the vendor list in Excel?

    Hi,
    How the vendor list (report RFKKVZ00) be easily downloaded in Excel?
    Thank you.
    Kind regards,
    Linda

    hi Linda,
    execute, and when the list is displayed, in the menu:
    System / List / Save / Local file
    Then select 'Table format' (or something like that)
    Now enter file name with '.xls' at the end
    the downloaded list won't be perfect, but more than nothing
    hope this helps
    ec

  • Customer and Vendors list without transactions

    Dear All,
    Is there any T-Code to view Customers and Vendors list for which no transactions were done.
    Regards
    KS

    Hi Sudarshan K, 
    --Their is no T.Code for Customer and Vendors list without transactions.
    --T.Code F.1A is Customer / Vendor Statistics
    --Check this link for Customer & Vendor list for account group.
    display vendors and customer as per account group.
    Regards
    Pradeep

  • User command is not getting triggered in interactive ALV with LIST display

    Hi experts,
    I have developed an interactive ALV report with LIST display. Here, the issue is, when i double click a record in the primary ALV list, the control must go to the USER COMMAND event which i have written in my report. But the user command event is not getting triggered at all when i double click any record.
    It gives the following information instead.
    "Choose a valid function".
    (My user command name and its respective form name are same.)
    Here is my code..
    START-OF-SELECTION.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program       = sy-repid
          i_structure_name         = p_table
          i_callback_user_command  = 'TST1'
          i_callback_pf_status_set = 'SET_PF_STATUS'
        TABLES
          t_outtab                 = <dyn_table>
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
      IF sy-subrc <> 0.
      ENDIF.
    FORM tst1 USING r_ucomm LIKE sy-ucomm
                    rs_selfield TYPE slis_selfield.
    * Local data declaration
      DATA: li_tab TYPE REF TO data,
            l_line TYPE REF TO data.
    * Local field-symbols
      FIELD-SYMBOLS:<l_tab> TYPE table,
                    <l_wa>  TYPE ANY.
    * Create table
      CREATE DATA li_tab TYPE STANDARD TABLE OF (p_table).
      ASSIGN li_tab->* TO <l_tab>.
    * Create workarea
      CREATE DATA l_line LIKE LINE OF <l_tab>.
      ASSIGN l_line->* TO <l_wa>.  CASE r_ucomm.
    *   When a record is selected
        WHEN '&IC1'.
    *     Read the selected record
          READ TABLE <dyn_table> ASSIGNING <dyn_wa> INDEX
          rs_selfield-tabindex.      IF sy-subrc = 0.
    *       Store the record in an internal table
            APPEND <dyn_wa> TO <l_tab>.
    *       Fetch the field catalog info
            CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
              EXPORTING
                i_program_name         = 'Z_DEMO_PDF_JG'
                i_structure_name       = p_table
              CHANGING
                ct_fieldcat            = i_fieldcat
              EXCEPTIONS
                inconsistent_interface = 1
                program_error          = 2
                OTHERS                 = 3.
    Please advice what is the msitake i have done here..

    Read the following code:
    pass the  i_callback_user_command = g_user_command to the ALV function module and write the FORM user_command USING ucomm    LIKE sy-ucomm
                            selfield TYPE slis_selfield.
    as shown below.
    thanx
    Data for ALV display
    DATA  : gt_fieldcat TYPE slis_t_fieldcat_alv,
            gt_events           TYPE slis_t_event,
            g_variant LIKE disvariant,
            g_user_command      TYPE slis_formname VALUE 'USER_COMMAND',
            g_status            TYPE slis_formname VALUE 'SET_PF_STATUS',
            gt_list_top_of_page TYPE slis_t_listheader,
            g_repid LIKE sy-repid,
            gf_pos TYPE i
    Data for ALV display
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
               EXPORTING
              i_callback_program      = g_repid
                 i_callback_program      = sy-repid
                 it_fieldcat             = gt_fieldcat[]
           it_events               = gt_events[]
              i_callback_user_command = g_user_command
                 i_save                  = 'A'
                 is_variant              = g_variant
               TABLES
                 t_outtab                = it_print.
    FORM user_command USING ucomm    LIKE sy-ucomm
                            selfield TYPE slis_selfield.
      CASE ucomm.
        WHEN '&IC1'.
          CASE selfield-sel_tab_field.
            WHEN '1-KUNNR'.
              READ TABLE it_print INTO wa_print INDEX selfield-tabindex.
              IF sy-subrc = 0.
                SET PARAMETER ID 'BPA' FIELD wa_print-kunnr.
                CALL TRANSACTION 'BP'.
              ENDIF.
            WHEN '1-MATNR'.
              READ TABLE it_print INTO wa_print INDEX selfield-tabindex.
              IF sy-subrc = 0.
                SET PARAMETER ID 'JP_ISS' FIELD wa_print-matnr.
                CALL TRANSACTION 'JP29' AND SKIP FIRST SCREEN..
               GET PARAMETER ID 'WRK' FIELD wa_zprint-werks.
               SET PARAMETER ID 'VKO' FIELD wa_zprint-vkorg.
               SET PARAMETER ID 'VTW' FIELD wa_zprint-vtweg.
               CALL TRANSACTION 'JP29' AND SKIP FIRST SCREEN.
              ENDIF.
    Endcase.
    Endform.

  • Header is not coming in alv list display- urgent

    hi all,
    i am sending my code below....
    my requirement is in selection screen i have 4 radio buttons . if i click 1 radio button it will duiisplay data and and its header. report is working fine. my requirement id when i click r_mssng radio button(missing radio button) it is showing data correctsly. here i want to show header as 'Missing details report'.
    this is not coming in my report. anybody can suggest me.
    i am sending my code below....
    report zvra0001ftb13  message-id zv.
                            Confidential and Proprietary               
    *                          Celestica Corporation               
    *                           All Rights Reserved
    *ABAP Name:            ZVRA0001FTB13               
    *Created by:            Srinivasa Chakravarthi                    
    *Created on:            26/03/2003                    
    *SAP Version:        4.6 C
    *Description:       This report  displays details of foreign trades
                      and EHS based on the deliveries made to the outside
                      countries.
    *Input:              Selection Screen Criteria includes country of
                       origin,Company code, Sales Organisation,
                       Ship-to-party, Sold-to-paarty, Goods movement date,
                       Invoice number, Invoice type, Material , Material
                       Type, Exporter ID, Province of origin.
    *Output:             ALV output that contains Mode of Transport, Export
                       HS number, Commodity Description, Quantity, UOM,
                       Value, Country of Destination, Goods Origin
    *Dependency:         Nil
    *Modification Log:                              
    *CR#    Date       Coded     Transport     Description
    *====== ======== ========= ============= ===============================
    *5147  26/03/2003 Srinivas   ED1K922286     New Development     
    *8700  02/11/2004 H.Arular   ED1K938380     To check if entries of Comm
                                              Code(HS code)is less than 8
                                             digits and give a warning
                                              message.
    *18684 25/07/2007 MAHEEDHAR                 Merge the logic from report
                                              ZVRA0001FTB13_ERROR into
                                              report ZVRA0001FTB13 and
                                              added two radio buttons
                                              called missing data and non
                                              missing data, addedc logic
                                              accoriding to the radio
                                              buttons.
    *Declaring Tables.
    tables: likp,                         "Delivery document Header
            lips,                         "Delivery Document Item
            vbfa,                         "Sales document Flow
            bkpf,                         "Accounting Document Header
            eikp,                         "Foreign Trade:Export/Import Data
            eipo,                         "Foreign Trade:Export/ Import
                                          "Header data
            t618t,                        "Forein Trade:Mode of Transport
                                          "Description
            t604t,                        "Foreign Trade: Commodity Code/
                                          "Import Code number Description.
            mara,                         "Material master data.
            t005,                         "Countries
            t001,                         "Company Codes
            tvko,                         "Sales Organisations
            kna1,                         "Customer Master
            t003,                         "Document types
            t134,                         "Material types
            tvfk,
            konv,
            vbrk.
    constants : c_rep like vbrk-fkart value 'YGFB',
                c_for(10) value 'Foreign'.
    *Decalre Type pool for ALV
    type-pools: slis.
    *Type declaration for LIKP.
    types: begin of t_data1,
            vbeln  like  likp-vbeln,        "Delivery
            kunnr  like  likp-kunnr,
           end of t_data1.
    *Type declaration for  LIPS,VBFA.
    types: begin of t_data2,
            vbeln  like  lips-vbeln,      "Delivery
            posnr  like  lips-posnr,      "Delivery Item
            vbelv  like  vbfa-vbelv,      "Preceding SD document
            posnv  like  vbfa-posnv,        "Preceding item of SD document
            matnr  like  lips-matnr,        "Material Number
            meins  like  lips-meins,        "Base unit of measure
            lfimg  like  lips-lfimg,        "Actual Quantity Delivered
            mtart  like mara-mtart,
          end of t_data2.
    **Type declaration for  BKPF.
    *types: begin of t_data3,
           belnr  like  bkpf-belnr,        "Accounting Documnet number
           bukrs  like  bkpf-bukrs,        "Company Code
          end of t_data3.
    *Type declaration for  BKPF.
    types: begin of t_data3,
            vbeln like vbrk-belnr,        " Billing Doc
            fkart like vbrk-fkart,
            land1 like vbrk-land1,
           end of t_data3.
    *Type declaration for  EIPO.
    types: begin of t_data4,
           vbeln like lips-vbeln,         "Delivery
           posnr like lips-posnr,         "Delivery Item
           matnr like vbrp-matnr,
           fkimg like vbrp-fkimg,
           meins like vbrp-meins,
           verld like eipo-verld,         "Country of dispatch for Foreign
                                          "trade
           herkl like eipo-herkl,         "Country of origin of material
           grwrt like eipo-grwrt,         "Statistical value for Foreign
                                          " trade
           stawn like eipo-stawn,         "Commodity code for foreign trade
           expvz like eikp-expvz,         "Mode of transport for foreign
                                          "trade
          end of t_data4.
    *Type declaration for  T618T.
    types: begin of t_data5,
           land1 like  t618t-land1,       "Country key
           expvz like  t618t-expvz,       "Mode of Transport
           bezei like  t618t-bezei,       "Description
           end of t_data5.
    *Type declaration for  T604T.
    types: begin of t_data6,
           land1 like  t604t-land1,       "Country key
           stawn like  t604t-stawn,       "Commodity Code
           text1 like  t604t-text1,       "Description
           end of t_data6.
    *Type declaration for  T604T.
    types: begin of t_mara,
            matnr like mara-matnr,
           end of t_mara.
    types : begin of rep_val,
             vbelv like vbfa-vbelv,
             posnv like vbfa-posnv,
             vbeln like vbfa-vbeln,
             posnn like vbfa-posnn,
             uepos like vbap-uepos,
             posnr like vbap-posnr,
             netwr like vbap-netwr,
            end of rep_val.
    types : begin of t_price,
              vbeln like vbak-vbeln,
              posnr like vbap-posnr,
              knumv like konv-knumv,
              kposn like konv-kposn,
              kbetr like konv-kbetr,
              kpein like konv-kpein,
            end of t_price.
    data : t_sord type rep_val occurs 0 with header line.
    data : t_dord type rep_val occurs 0 with header line.
    data : t_rord type rep_val occurs 0 with header line.
    data : t_hord type rep_val occurs 0 with header line.
    data : t_ford type rep_val occurs 0 with header line.
    data : i_price type t_price occurs 0 with header line.
    data : i_price1 type t_price occurs 0 with header line.
    data : i_mara type t_mara occurs 0 with header line.
    data : i_sort     type slis_t_sortinfo_alv.
    DATA: t_layout     TYPE slis_layout_alv.
    *Declaring Selection screen.
    selection-screen begin of block b1 with frame title text-101.
    select-options:
       s_verld      for eipo-verld,                 "Country of Dest.
       s_bukrs      for bkpf-bukrs,                 "Company code
       s_vkorg      for likp-vkorg,                 "Sales Organisation
       s_kunnr     for likp-kunnr,                 "Ship-to-Party
       s_kunag     for likp-kunag,                 "Sold-to-party
       s_wadat     for likp-wadat_ist,             "Goods Movement date
       s_belnr     for vbrk-vbeln,                 "Invoice number
       s_blart     for vbrk-fkart.                 "Invoice type.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-101.
    select-options:
       s_matnr      for mara-matnr,                 "Material
       s_mtart      for mara-mtart.                 "Material Type
    selection-screen end of block b2.
    selection-screen begin of block b3 with frame title text-101.
    parameters:
      p_export(30) type c default '1366770724RM' obligatory , "Exporter ID
      p_provi(30) type  c default 'ONTARIO' obligatory   ,
      p_sumid(30) type c default 'SUM0704'.
    "Province of Origin
    selection-screen end of block b3.
    selection-screen begin of block b4 with frame title text-104.
    parameters:
    r_summ radiobutton group zsum,
    r_dets radiobutton group zsum,
    r_mssng radiobutton group zsum,  " maheedhar
    R_NMSNG RADIOBUTTON GROUP ZSUM.   " MAHEEDHAR
    selection-screen skip.
    parameter : p_sum as checkbox .
    selection-screen end of block b4.
    selection-screen begin of block b5 with frame title text-105.
    select-options : s_i_kun for likp-kunnr.
    selection-screen end of block b5.
    *Data Declaration
    data: i_fieldcat type slis_t_fieldcat_alv.
    data: l_fieldcat type slis_fieldcat_alv .
    data: v_lin type i.
    data: v_lfstk type c value 'C'.
    data: v_vbtyp type c value 'U'.
    data: i_data1 type t_data1 occurs 0 with header line.
    data : begin of t_T005t occurs 0.
            include structure t005t.
    data : end of t_t005t.
    data: i_data2 type t_data2 occurs 0 with header line.
    data: t_delv type t_data2 occurs 0 with header line.
    data: t_bild type t_data2 occurs 0 with header line.
    data: i_data3 type t_data3 occurs 0 with header line.
    data: i_data4 type t_data4 occurs 0 with header line.
    data: i_data5 type t_data5 occurs 0 with header line.
    data: i_data6 type t_data6 occurs 0 with header line.
    *Declare Internal table for ALV output.
    data:  begin of i_output occurs 0,
           belnr     like  vbrk-vbeln,
           posnr     like  vbrp-posnr,
           bezei     like  t618t-bezei,
           stawn     like  eipo-stawn,
           text1     like  t604t-text1,
           quantity  type  p decimals 2,
           meins     like  lips-meins,
           value     type  p decimals 2,
           verld     like  t_t005t-landx,
           herkl     like  t_t005t-landx,
           strlen,                                              "ED1K938380
          end of i_output.
    maheedhar-start.
    data : i_output1 like i_output occurs 0 with header line,
           i_output2 like i_output occurs 0 with header line.
    maheedhar-end
    data : buff_out like i_output occurs 0 with header line.
    data:  begin of t_outsum occurs 0,
           bezei     like  t618t-bezei,
           stawn     like  eipo-stawn,
           text1     like  t604t-text1,
           quantity  type  p decimals 2,
           meins     like  lips-meins,
           value     type  p decimals 2,
           verld     like  t_t005t-landx,
           herkl     like  t_t005t-landx,
          end of t_outsum.
    data : v_ans.
    data : variante LIKE disvariant.
    data : v_repid LIKE sy-repid.
    data : wa_listheader   TYPE slis_listheader.
    data : t_listheader    TYPE slis_t_listheader.
    data : b_text(250).
    data: evntS type slis_t_event        with header line.  " MAHEEDHAR
          EVENT  AT SELECTION-SCREEN
    at selection-screen.
    *For Autorisation check
      perform authorisation_check.
    Validation of Selection screen
      perform check_entry.
          EVENT  START-OF-SELECTION
    start-of-selection.
    *Get  data
      perform select_data.
    **For calling ALV function modules
    MAHEEDHAR - START
      if r_mssng eq 'X'.
        DELETE I_OUTPUT WHERE BEZEI NE SPACE AND
                             STAWN NE SPACE AND
                             HERKL NE SPACE AND
                             VERLD NE SPACE.
        DESCRIBE TABLE I_OUTPUT LINES V_LIN.
        IF V_LIN > 0.
          PERFORM DISPLAY_OUTPUT.
        ELSE.
          MESSAGE E000 WITH TEXT-130.
        ENDIF.
      elseif R_SUMM eq 'X' OR R_DETS EQ 'X'.   "ENDIF.  " MAHEEDHAR
    MAHEEDHAR-END
        describe table i_output lines v_lin.
        if v_lin > 0.
          buff_out[] = i_output[].
       Begin of ED1K938380
       delete buff_out where stawn ne space or  "ED1K938380
                             verld eq space or
                             herkl eq space.
          delete buff_out where strlen ne 'X' or
                                verld eq space or
                                herkl eq space.
       End of ED1K938380
          describe table buff_out lines v_lin.
    Lines with no commodity code exists.
          if v_lin gt 0.
         concatenate text-902 text-903 into b_text.
            concatenate text-906 text-907 into b_text.          "ED1K938380
            CALL FUNCTION 'POPUP_TO_CONFIRM'
                 EXPORTING
                      TITLEBAR       = Text-901
                      TEXT_QUESTION  = b_text
                      TEXT_BUTTON_1  = 'Yes'
                      TEXT_BUTTON_2  = 'No'
                      DEFAULT_BUTTON = '2'
                 IMPORTING
                      ANSWER         = v_ans.
            if v_ans eq '1'.
              perform display_output.
            endif.
          else.
            perform display_output.
          endif.
        else.  " MAHEEDHAR
          message e000 with text-130.
        endif.
    MAHEEDHAR-START
    *"-- If non missing details radiobutton is selected
      elseif r_nmsng = 'X'.
    *"-- move data from i_output to i_output1.
        i_output1[] = i_output[].
        sort i_output  by belnr.
        sort i_output1 by belnr.
    *"-- to get missing data
        delete i_output1 where bezei ne space and
                               stawn ne space and
                               herkl ne space and
                               verld ne space.
        loop at i_output.
    *"-- compare two int tables with respective document number
          read table i_output1 with key belnr = i_output-belnr.
          if sy-subrc ne 0.
            move-corresponding i_output to i_output2.
            append i_output2.
            clear i_output2.
          endif.
        endloop.
        describe table i_output2 lines v_lin.
        if v_lin gt 0.
          perform display_output.
        else.
          message e000 with text-130.
        endif.
    MAHEEDHAR-END.
      ENDIF.  " MAHEEDHAR
          FORM SELECT_DATA                                              *
    form select_data.
      Data:l_strlen type i.                                     "ED1K938380
    *Get details from  LIKP.
      if s_i_kun[] is initial.
        select  likpvbeln likpkunnr
            into corresponding fields of table i_data1
            from likp
            inner join vbuk on likpvbeln = vbukvbeln
            where
              likp~vkorg in s_vkorg and
                likp~kunnr in s_kunnr and
                likp~kunag in s_kunag and
                likp~wadat_ist in s_wadat and
                vbuk~wbstk = 'C' .
      else.
        select  likpvbeln likpkunnr
             into corresponding fields of table i_data1
             from likp
             inner join vbuk on likpvbeln = vbukvbeln
             where
              (  ( likp~vkorg in s_vkorg and
                 likp~kunnr in s_kunnr and
                 likp~kunag in s_kunag and
                 likp~wadat_ist in s_wadat and
                 vbuk~wbstk = 'C' )
                 or
                 likp~kunnr in s_i_kun and
                 likp~wadat_ist in s_wadat and
                 vbuk~wbstk = 'C' )  .
      endif.
    if sy-subrc ne 0.
       message e000 with text-200.
    endif.
    *Get details from table  LIPS
      select     lips~vbeln
                 lips~posnr
                 vbfa~vbeln
                 vbfa~posnn
                 lips~matnr
                 lips~meins
                 lips~lfimg
                 mara~mtart
                 from lips
                inner join vbfa on   vbfavbelv = lipsvbeln
                                and   vbfaposnv = lipsposnr
                  inner join mara on maramatnr = lipsmatnr
                  into  table i_data2
                  for all entries in  i_data1
                 where
                   lips~vbeln = i_data1-vbeln and
                   lips~matnr in s_matnr and
                   vbfa~vbeln in s_belnr and
                   mara~mtart in s_mtart and
                  vbfa~vbtyp_n = 'U'.
      if sy-subrc ne 0.
        message e000 with text-201.
      endif.
      t_delv[] = i_data2[].
      t_bild[] = i_data2[].
      sort t_delv by vbeln.
      delete adjacent duplicates from t_delv comparing vbeln.
      sort t_bild by vbeln ascending vbelv descending.
      delete adjacent duplicates from t_bild comparing vbeln.
    *Get details of Accounting document number
      select vbeln fkart land1 from vbrk
                 into table i_data3
                 for all entries in t_bild
                 where vbeln = t_bild-vbelv and
                        bukrs in s_bukrs     and
                        fkart in s_blart     and
                        vkorg in s_vkorg     and             " MAHEEDHAR
                        land1 in s_verld.                    " MAHEEDHAR
      sort i_data3.
    *Get details from EIPO.
      select  vbrp~vbeln
              vbrp~posnr
              vbrp~matnr
              vbrp~fkimg
              vbrp~meins
              eipo~verld
              eipo~herkl
              eipo~grwrt
              eipo~stawn
              eikp~expvz
              from eikp
              inner join vbrp on vbrp~vbeln  = eikp~refnr
                    inner join eipo on eikp~exnum = eipo~exnum
                                   and eipo~expos = vbrp~posnr
                      into table i_data4 for all entries in i_data3
                    where vbrp~vbeln = i_data3-vbeln.
                         eipo~verld in s_verld.
      if sy-subrc ne 0.
        message e000 with text-201.
      endif.
      IF R_MSSNG NE 'X' or r_nmsng = 'X'.  " MAHEEDHAR
        perform get_price.
      ENDIF.  " MAHEEDHAR
    Get details from  T618T.
      select land1
             expvz
             bezei
             from  t618t
             into  table i_data5
             for all entries in i_data4
             where
             land1 = 'CA' and                 " Getting for Canada only
             expvz = i_data4-expvz and
             spras = sy-langu.
      select matnr from mara into table i_mara where matnr in s_matnr
                                                  and mtart in s_mtart.
    Get details from  T604T.
      select land1
             stawn
             text1
             from t604t
             into table i_data6
             for all entries in i_data4
             where
             land1 = i_data4-VERLD and
             stawn = i_data4-stawn and
             spras = sy-langu.
      select * from T005t into table t_T005t where spras = sy-langu.
      loop at i_data3.
        loop at i_data4 where vbeln eq i_data3-vbeln.
          clear : i_data1, i_data2.
          read table i_data2 with key vbelv = i_data4-vbeln
                                posnv = i_data4-posnr.
          read table i_data1 with key vbeln = i_data2-vbeln.
          if not s_i_kun[] is initial.
            check  ( ( i_data1-kunnr in s_i_kun ) or
                     ( i_data3-land1 in s_verld ) ).
          else.
            check i_data3-land1 in s_verld .
          endif.
          read table i_mara with key matnr = i_data4-matnr.
          if sy-subrc eq 0.
            read table i_data5 with key expvz = i_data4-expvz .
                                         land1 = i_data3-land1.
            read table i_data6 with key stawn = i_data4-stawn
                                        land1 = i_data4-VERLD.
            move i_data4-vbeln to i_output-belnr.
            move i_data4-posnr to i_output-posnr.
            move i_data5-bezei to i_output-bezei.
            move i_data6-text1 to i_output-text1.
           Begin of ED1K938380.
            l_strlen = strlen( i_data4-stawn ).
            if l_strlen < 8.
              move 'X' to i_output-strlen.
            endif.
           End of ED1K938380.
            move i_data4-stawn to i_output-stawn.
            move i_data4-meins to i_output-meins.
            read table t_T005t with key land1 = i_data3-land1.
            move t_t005t-landx to i_output-verld.
            if p_sum eq space.
              if i_data4-herkl ne 'CA'.
                i_output-herkl = c_for.
              else.
                read table t_T005t with key land1 = i_data4-herkl.
                move t_t005t-landx to i_output-herkl.
              endif.
            else.
              read table t_T005t with key land1 = i_data4-herkl.
              move t_t005t-landx to i_output-herkl.
            endif.
            move i_data4-fkimg to i_output-quantity.
            if i_data3-fkart eq c_rep.
              read table t_dord with key vbeln = i_data4-vbeln
                                         posnn = i_data4-posnr.
              if sy-subrc eq 0.
                read table t_sord with key vbeln = t_dord-vbelv
                                           posnn = t_dord-posnv.
                if sy-subrc eq 0.
                  read table t_hord with key vbeln = t_sord-vbelv
                                             posnr = t_sord-posnv.
                  if sy-subrc eq 0.
                    read table t_ford with key vbeln = t_hord-vbeln
                                               posnr = t_hord-uepos.
                    if sy-subrc eq 0.
                      read table i_price with key vbeln = t_ford-vbeln
                                                  posnr = t_ford-posnr.
                      if sy-subrc eq 0.
                        read table i_price1 with key knumv = i_price-knumv
                                                     kposn = t_ford-posnr.
                        if sy-subrc eq 0.
                          if i_price1-kpein ne 0.
                            i_output-value =
                            ( i_price1-kbetr / i_price1-kpein ) *
                                                      i_data4-fkimg.
                          endif.
                        endif.
                      endif.
                    endif.
                  endif.
                endif.
              endif.
            else.
              move i_data4-grwrt to i_output-value.
            endif.
            append i_output.
            clear  i_output.
            clear : i_data5, i_data6.
          endif.
        endloop.
      endloop.
      sort i_output by verld herkl bezei stawn.
    endform.
          FORM DISPLAY_OUTPUT                                           *
          This form is to create the ALV output
    form display_output.
      data: xevents     type slis_t_event,
                ls_event    type slis_alv_event,
               slis_ev_top_of_page type slis_formname value 'TOP_OF_PAGE',
               slis_ev_end_of_list type slis_formname value 'END_OF_LIST'.
    *Call  Function  'REUSE_ALV_EVENTS' for top of page
      call function 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                i_list_type     = 0
           IMPORTING
                et_events       = xevents
           EXCEPTIONS
                list_type_wrong = 1
                others          = 2.
      if sy-subrc <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
      read table xevents with key name = slis_ev_top_of_page
                               into ls_event.
      if sy-subrc = 0.
        move slis_ev_top_of_page to ls_event-form.
        append ls_event to xevents.
      endif.
      read table xevents with key name = slis_ev_end_of_list
                                 into ls_event.
      if sy-subrc = 0.
        move slis_ev_end_of_list to ls_event-form.
        append ls_event to xevents.
      endif.
      if r_dets ne space.
    *Call Function 'REUSE_ALV_FIELD_CATALOG_MERGE' for position fixing in
    *the output.
        call function 'REUSE_ALV_FIELDCATALOG_MERGE'
             exporting
                  i_program_name         = 'ZVRA0001FTB13'
                  i_internal_tabname     = 'I_OUTPUT'
                  i_inclname             = 'ZVRA0001FTB13'
              I_STRUCTURE_NAME       =
              I_CLIENT_NEVER_DISPLAY = 'X'
              I_INCLNAME             =
                 i_bypassing_buffer     = 'X'
                 i_buffer_active        = ' '
             changing
                  ct_fieldcat            = i_fieldcat
             exceptions
                  inconsistent_interface = 1
                  program_error          = 2
                  others                 = 3.
        if sy-subrc <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        endif.
        loop at i_fieldcat into l_fieldcat.
          l_fieldcat-key = ' '.
          case l_fieldcat-fieldname.
            when 'BELNR'.
              l_fieldcat-seltext_m = text-912.
              l_fieldcat-seltext_l = text-912.
              l_fieldcat-reptext_ddic = text-912.
              l_fieldcat-col_pos   = '1'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '12'..
            when 'POSNR'.
              l_fieldcat-seltext_m = text-913.
              l_fieldcat-seltext_l = text-913.
              l_fieldcat-reptext_ddic = text-913.
              l_fieldcat-col_pos   = '2'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '6'.
            when 'BEZEI'.
              l_fieldcat-seltext_m = text-911.
              l_fieldcat-seltext_l = text-911.
              l_fieldcat-reptext_ddic = text-911.
              l_fieldcat-col_pos   = '3'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '15'..
            when 'STAWN'.
              l_fieldcat-seltext_m = text-111.
              l_fieldcat-seltext_l = text-111.
              l_fieldcat-reptext_ddic = text-111.
              l_fieldcat-col_pos   = '4'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '30'.
            when 'TEXT1'.
              l_fieldcat-seltext_m = text-112.
              l_fieldcat-seltext_l = text-112.
              l_fieldcat-outputlen = '40'.
              l_fieldcat-col_pos   = '5'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-112.
            when 'QUANTITY'.
              l_fieldcat-outputlen = '18'.
              l_fieldcat-reptext_ddic = text-113.
              l_fieldcat-seltext_m = text-113.
              l_fieldcat-col_pos   = '6'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-seltext_l = text-113.
            when 'MEINS'.
              l_fieldcat-outputlen = '8'.
              l_fieldcat-reptext_ddic = text-114.
              l_fieldcat-seltext_m = text-114.
              l_fieldcat-col_pos   = '7'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-seltext_l = text-114.
            when 'VALUE'.
              l_fieldcat-outputlen = '20'.
              l_fieldcat-seltext_m = text-115.
              l_fieldcat-seltext_l = text-115.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-115.
            when 'VERLD'.
              l_fieldcat-outputlen = '20'.
              l_fieldcat-seltext_m = text-116.
              l_fieldcat-seltext_l = text-116.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-116.
            when 'HERKL'.
              l_fieldcat-seltext_m = text-117.
              l_fieldcat-seltext_l = text-117.
              l_fieldcat-outputlen = '30'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-117.
            when others.
              l_fieldcat-no_out = 'X'.
          endcase.
          modify i_fieldcat from l_fieldcat.
        endloop.
    Call Function  'REUSE_ALV_LIST_DISPLAY'  for  dispaly  of data in ALV.
        call function 'REUSE_ALV_LIST_DISPLAY'
             EXPORTING
                  i_callback_program = 'ZVRA0001FTB13'
                  it_fieldcat        = i_fieldcat
                  it_events          = xevents
                  is_layout          = t_layout
                  i_save             = 'A'
                  i_bypassing_buffer = 'X'
                  i_buffer_active    = ' '
             TABLES
                  t_outtab           = i_output
             EXCEPTIONS
                  program_error      = 1
                  others             = 2.
        if sy-subrc <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        endif.
    else.  " MAHEEDHAR
      ELSEIF R_SUMM EQ 'X'.  " MAHEEDHAR
        sort i_output by verld herkl stawn bezei.
        loop at i_output.
          move-corresponding i_output to t_outsum.
          collect t_outsum.
        endloop.
    *Call Function 'REUSE_ALV_FIELD_CATALOG_MERGE' for position fixing in
    *the output.
        call function 'REUSE_ALV_FIELDCATALOG_MERGE'
             EXPORTING
                  i_program_name         = 'ZVRA0001FTB13'
                  i_internal_tabname     = 'T_OUTSUM'
                  i_inclname             = 'ZVRA0001FTB13'
                 i_bypassing_buffer     = 'X'
                 i_buffer_active        = ' '
             CHANGING
                  ct_fieldcat            = i_fieldcat
             EXCEPTIONS
                  inconsistent_interface = 1
                  program_error          = 2
                  others                 = 3.
        if sy-subrc <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        endif.
        loop at i_fieldcat into l_fieldcat.
          l_fieldcat-key = ' '.
          case l_fieldcat-fieldname.
            when 'BEZEI'.
              l_fieldcat-seltext_m = text-911.
              l_fieldcat-seltext_l = text-911.
              l_fieldcat-reptext_ddic = text-911.
              l_fieldcat-col_pos   = '1'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '15'..
            when 'STAWN'.
              l_fieldcat-seltext_m = text-111.
              l_fieldcat-seltext_l = text-111.
              l_fieldcat-reptext_ddic = text-111.
              l_fieldcat-col_pos   = '2'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '30'.
            when 'TEXT1'.
              l_fieldcat-seltext_m = text-112.
              l_fieldcat-seltext_l = text-112.
              l_fieldcat-outputlen = '40'.
              l_fieldcat-col_pos   = '3'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-112.
            when 'QUANTITY'.
              l_fieldcat-outputlen = '18'.
              l_fieldcat-reptext_ddic = text-113.
              l_fieldcat-seltext_m = text-113.
              l_fieldcat-col_pos   = '4'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-seltext_l = text-113.
            when 'MEINS'.
              l_fieldcat-outputlen = '8'.
              l_fieldcat-reptext_ddic = text-114.
              l_fieldcat-seltext_m = text-114.
              l_fieldcat-col_pos   = '5'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-seltext_l = text-114.
            when 'VALUE'.
              l_fieldcat-outputlen = '20'.
              l_fieldcat-seltext_m = text-115.
              l_fieldcat-seltext_l = text-115.
              l_fieldcat-col_pos   = '6'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-115.
            when 'VERLD'.
              l_fieldcat-outputlen = '20'.
              l_fieldcat-seltext_m = text-116.
              l_fieldcat-seltext_l = text-116.
              l_fieldcat-col_pos   = '7'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-116.
            when 'HERKL'.
              l_fieldcat-seltext_m = text-117.
              l_fieldcat-seltext_l = text-117.
              l_fieldcat-outputlen = '30'.
              l_fieldcat-col_pos   = '8'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-117.
            when others.
              l_fieldcat-no_out = 'X'.
          endcase.
          modify i_fieldcat from l_fieldcat.
        endloop.
    Call Function  'REUSE_ALV_LIST_DISPLAY'  for  dispaly  of data in ALV.
        call function 'REUSE_ALV_LIST_DISPLAY'
             EXPORTING
                  i_callback_program = 'ZVRA0001FTB13'
                  it_fieldcat        = i_fieldcat
                  it_events          = xevents
                  i_save             = 'A'
                  is_layout          = t_layout
                  i_default          = 'X'
                  is_variant         = variante
                  i_bypassing_buffer = 'X'
                  i_buffer_active    = ' '
             TABLES
                  t_outtab           = t_outsum
             EXCEPTIONS
                  program_error      = 1
                  others             = 2.
        if sy-subrc <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        endif.
    MAHEEDHAR-START.
    *"-- if detail summary checkbox is selected
      elseIF R_MSSNG = 'X'.
       PERFORM PREPARE_HEADER.
        call function 'REUSE_ALV_FIELDCATALOG_MERGE'
            exporting
                 i_program_name         = 'ZVRA0001FTB13'
                 i_internal_tabname     = 'I_OUTPUT'
                 i_inclname             = 'ZVRA0001FTB13'
              I_STRUCTURE_NAME       =
              I_CLIENT_NEVER_DISPLAY = 'X'
              I_INCLNAME             =
                i_bypassing_buffer     = 'X'
                i_buffer_active        = ' '
            changing
                 ct_fieldcat            = i_fieldcat
            exceptions
                 inconsistent_interface = 1
                 program_error          = 2
       

    hi,
    *& Report  ZALV_FIELD_GRID1
    REPORT  ZALV_FIELD_GRID1
            NO STANDARD PAGE HEADING.
    TABLES MARA.
    type-pools :slis.
    TYPES : BEGIN OF TMARA ,
            MATNR LIKE MARA-MATNR,
            MEINS LIKE MARA-MEINS,
            ERSDA LIKE MARA-ERSDA,
            color(4) type c,
            SEL type c,
            LIGHT TYPE C,
            END OF TMARA.
    TYPES: BEGIN OF TMAKT,
           MATNR LIKE MAKT-MATNR,
           MAKTX LIKE MAKT-MAKTX,
           MAKTG LIKE MAKT-MAKTG,
           SEL TYPE C,
           COLOR(4),
           END OF TMAKT.
    DATA:  ITAB TYPE TMARA OCCURS 0 WITH HEADER LINE,
           ITAB1 TYPE TMAKT OCCURS 0 WITH HEADER LINE,
           wa_fieldcat type slis_fieldcat_alv,
           fieldcat type slis_fieldcat_alv occurs 0,
           i_layout type slis_layout_alv,
           WA_LISTHEADER TYPE SLIS_LISTHEADER ,
           i_LISTHEADER TYPE SLIS_LISTHEADER OCCURS 0,
           V_EVENTS TYPE SLIS_T_EVENT ,
           WA_EVENT TYPE SLIS_ALV_EVENT,
           I_TITLE_MARA TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED',
           I_TITLE_MAKT TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED',
           SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE,
           PRINT_CONT type slis_print_alv.
    SELECTION SCREE
    selection-screen  begin of block screen1  with frame title TEXT-001.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN COMMENT /32(35) COMM1.
    SELECTION-SCREEN ULINE /27(35).
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS MATNR FOR MARA-MATNR.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN ULINE.
    SELECTION-SCREEN COMMENT /30(50) COMM2.
    SELECTION-SCREEN ULINE /27(40).
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS ERSDA FOR MARA-ERSDA.
    SELECTION-SCREEN SKIP.
    selection-screen  end of block screen1.
        INITIALIZATION
    INITIALIZATION.
      MATNR-low = '23'.
      MATNR-high = '1000'.
      MATNR-option = 'BT'.
      MATNR-sign = 'I'.
      APPEND MATNR.
      ERSDA-low = '20030124'.
      ERSDA-high = '20050302' .
      APPEND ERSDA.
      PERFORM FILLFIELD.
      PERFORM FILLLAYOUT.
      PERFORM build_print_params.
      PERFORM FILL_SORT.
      PERFORM EVENT_CALL.
      PERFORM POPULATE_EVENT.
            SELECTION-SCREEN OUTPUT
    AT SELECTION-SCREEN OUTPUT.
      comm1 ='SELECT MATERIAL NUMBER  RANGE'.
      comm2 ='SELECT MATERIAL CREATION DATE'.
               START-OF-SELECTION
    START-OF-SELECTION.
      PERFORM READDATA.
      PERFORM POPDATA.
    *&      Form  READDATA
          text
    FORM READDATA .
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = MATNR-LOW
        IMPORTING
          OUTPUT = MATNR-LOW.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = MATNR-HIGH
        IMPORTING
          OUTPUT = MATNR-HIGH.
      SELECT MATNR
             ERSDA
             MEINS
             FROM MARA
             INTO CORRESPONDING FIELDS OF
            TABLE ITAB
            WHERE MATNR IN MATNR AND ERSDA IN ERSDA.
      LOOP AT ITAB.
        data id_color type i VALUE 1.
        data id_colors(2) type c.
        IF ITAB-MATNR < '000000000000000100'.
          ITAB-LIGHT = '1'.
        ELSEIF ITAB-MATNR < '000000000000000150' AND ITAB-MATNR >
       '000000000000000100' .
          ITAB-LIGHT = '2'.
        ELSE.
          ITAB-LIGHT = '3'.
        ENDIF.
        id_color = id_color + 1.
        if id_color > 7.
          id_color = 1.
        endif.
        id_colors = id_color.
        concatenate 'C' id_colors '10' into itab-color.
        modify itab.
        CLEAR ITAB.
      endloop.
    ENDFORM.                    " READDATA
         Form  FILLFIELD
    FORM FILLFIELD .
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-KEY = 'X'.
      WA_FIELDCAT-COL_POS = '1'.
      WA_FIELDCAT-outputlen   = 20.
      WA_FIELDCAT-HOTSPOT = 'X'.
      wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.
    *WA_FIELDCAT-EMPHASIZE = 'C210'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
      WA_FIELDCAT-FIELDNAME = 'MEINS'.
      WA_FIELDCAT-COL_POS = '2'.
    *WA_FIELDCAT-EMPHASIZE = 'C510'.
      WA_FIELDCAT-outputlen   = 10.
      wa_fieldcat-seltext_m = 'UNIT'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
      WA_FIELDCAT-FIELDNAME = 'ERSDA'.
      WA_FIELDCAT-COL_POS = '3'.
      WA_FIELDCAT-outputlen   = 15.
    *WA_FIELDCAT-EDIT_MASK  = 'DD.MM.YYYY'.
    *WA_FIELDCAT-EMPHASIZE = 'C710'.
      wa_fieldcat-seltext_m = 'CREAT DATE'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
    ENDFORM.                    "FILLFIELD
          Setup print parameters
    form build_print_params.
      PRINT_CONT-reserve_lines = '3'.   "Lines reserved for footer
      PRINT_CONT-no_coverpage = 'X'.
    endform.                    " BUILD_PRINT_PARAMS
         Form  POPDATA
    FORM POPDATA .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         I_CALLBACK_PROGRAM                 =  sy-repid
      I_CALLBACK_PF_STATUS_SET          = ' '
         I_CALLBACK_USER_COMMAND            = 'USER-COMMAND'
         I_CALLBACK_TOP_OF_PAGE             = 'TOPPAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
         I_GRID_TITLE                       = I_TITLE_MARA
      I_GRID_SETTINGS                   =
         IS_LAYOUT                          = I_LAYOUT
         IT_FIELDCAT                        = fieldcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
        IT_SORT                           =  SORT[]
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
         IT_EVENTS                          = V_EVENTS
      IT_EVENT_EXIT                     =
       IS_PRINT                          = PRINT_CONT
        TABLES
          T_OUTTAB                          = ITAB
    EXCEPTIONS
       PROGRAM_ERROR                     = 1
       OTHERS                            = 2
    ENDFORM.                    " POPDATA
         Form  TOPPAGE
    FORM TOPPAGE.
      REFRESH I_LISTHEADER.
      DATA: ld_lines type i,
            ld_linesc(10) type c,
            I_DATE(10) TYPE C,
            I_INFO LIKE WA_LISTHEADER-INFO.
      WA_LISTHEADER-TYP = 'H'.
      WA_LISTHEADER-INFO = 'MATERIAL DETAIL'.
      APPEND WA_LISTHEADER TO I_LISTHEADER.
      CLEAR WA_LISTHEADER.
      WA_LISTHEADER-TYP = 'S'.
      WA_LISTHEADER-KEY = 'DATE :'.
      CONCATENATE SY-DATUM+6(2) '.'
                           SY-DATUM+4(2) '.'
                           SY-DATUM(4) INTO I_DATE.
      WA_LISTHEADER-INFO = I_datE.
      APPEND WA_LISTHEADER TO I_LISTHEADER.
      CLEAR WA_LISTHEADER.
      describe table ITAB lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc
                        into I_INFO separated by space.
      WA_LISTHEADER-TYP  = 'A'.
      WA_LISTHEADER-INFO = I_INFO.
      append WA_LISTHEADER to I_LISTHEADER.
      clear: WA_LISTHEADER , I_INFO.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = I_LISTHEADER
          I_LOGO             = 'ENJOYSAP_LOGO'.
    ENDFORM.                    "TOPPAGE
         Form  FILLLAYOUT
    FORM FILLLAYOUT .
      i_layout-zebra = 'X'.
      i_layout-info_fieldname = 'COLOR'.
      i_layout-box_fieldname = 'SEL'.
      I_LAYOUT-lights_fieldname = 'LIGHT'.
      I_LAYOUT-EDIT ='X'.
      I_LAYOUT-colwidth_optimize = 'X'.
      I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.
      I_LAYOUT-no_totalline = 'X'.
    ENDFORM.                    "FILLLAYOUT
        Form  FILL_SORT
    FORM FILL_SORT .
      SORT-DOWN = 'X'.
      SORT-SPOS = 1.
      SORT-FIELDNAME = 'MATNR'.
      SORT-tabname = 'MARA'.
      APPEND SORT.
    ENDFORM.                    " FILL_SORT
         Form  EVENT_CALL
    FORM EVENT_CALL .
      DATA: I_EVENT LIKE V_EVENTS.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE = 0
        IMPORTING
          ET_EVENTS   = V_EVENTS.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " EVENT_CALL
        Form  POPULATE_EVENT
    FORM POPULATE_EVENT .
      READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'USER_COMMAND'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
        WA_EVENT-NAME.
    READ TABLE V_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE
                                          INTO WA_EVENT.
    IF SY-SUBRC = 0.
       move 'END_OF_PAGE' to WA_EVENT-FORM.
       MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
       WA_EVENT-NAME.
      endif.
      ENDIF.
    ENDFORM.                    "POPULATE_EVENT
    FORM END_OF_PAGE.
      write: sy-uline(50).
      skip.
      write:/40 'Page:', sy-pagno .
    ENDFORM.
    *&      Form  USER_COMMAND
    FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
    RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN '&IC1'.
          CASE RS_SELFIELD-FIELDNAME.
            when 'MATNR'.
              read table itab with key matnr = RS_SELFIELD-VALUE.
              if sy-subrc = 0.
                PERFORM DATA_RETRIEVAL_MAKT USING RS_SELFIELD-VALUE.
                PERFORM BUILD_FIELDCATLOG_MAKT.
                PERFORM FILLLAYOUT_MAKT.
                PERFORM DISPLAY_ALV_MAKT.
                CLEAR RS_SELFIELD.
              ENDIF.
          ENDCASE.
      ENDCASE.
    ENDFORM.                    "user_command
         Form  DATA_RETRIEVAL_MAKT
    FORM DATA_RETRIEVAL_MAKT USING TMATNR .
      SELECT MATNR
             MAKTX
             MAKTG
             UP TO 100 ROWS
             FROM MAKT
             INTO TABLE ITAB1
             WHERE SPRAS = 'EN' AND MATNR = TMATNR.
      LOOP AT ITAB1.
        data id_color type i VALUE 1.
        data id_colors(2) type c.
        id_color = id_color + 1.
        if id_color > 7.
          id_color = 1.
        endif.
        id_colors = id_color.
        concatenate 'C' id_colors '10' into itab1-color.
        modify itab1.
        CLEAR ITAB1.
      ENDLOOP.
    ENDFORM.                    "DATA_RETRIEVAL_MAKT
         Form  FILLLAYOUT_MAKT
    FORM FILLLAYOUT_MAKT .
      CLEAR I_LAYOUT.
      i_layout-zebra = 'X'.
      i_layout-info_fieldname = 'COLOR'.
      i_layout-box_fieldname = 'SEL'.
      I_LAYOUT-EDIT ='X'.
      I_LAYOUT-colwidth_optimize = 'X'.
      I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.
    ENDFORM.                    " LAYOUT_MAKT
        Form  BUILD_FIELDCATLOG_MAKT
    FORM BUILD_FIELDCATLOG_MAKT .
      REFRESH FIELDCAT.
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-KEY = 'X'.
      WA_FIELDCAT-COL_POS = '1'.
    *WA_FIELDCAT-EDIT_MASK  = 'DD.MM.YYYY'.
      WA_FIELDCAT-EMPHASIZE = 'C510'.
      wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
      WA_FIELDCAT-FIELDNAME = 'MAKTX'.
      WA_FIELDCAT-COL_POS = '2'.
      WA_FIELDCAT-EMPHASIZE = 'C710'.
      wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
      WA_FIELDCAT-FIELDNAME = 'MAKTG'.
      WA_FIELDCAT-COL_POS = '3'.
      WA_FIELDCAT-EMPHASIZE = 'C210'.
      wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
    ENDFORM.                    " BUILD_FIELDCATLOG_MAKT
         Form  DISPLAY_ALV_MAKT
    FORM TOP-OF-PAGE.
      REFRESH I_LISTHEADER.
      DATA: ld_lines type i,
            ld_linesc(10) type c,
            I_DATE(10) TYPE C,
            I_INFO LIKE WA_LISTHEADER-INFO.
      WA_LISTHEADER-TYP = 'H'.
      WA_LISTHEADER-INFO = 'MATERIAL DESCRIPTION FOR SELECTED NUMBER'.
      APPEND WA_LISTHEADER TO I_LISTHEADER.
      CLEAR WA_LISTHEADER.
      WA_LISTHEADER-TYP = 'S'.
      WA_LISTHEADER-KEY = 'DATE :'.
      CONCATENATE SY-DATUM+6(2) '.'
                           SY-DATUM+4(2) '.'
                           SY-DATUM(4) INTO I_DATE.
      WA_LISTHEADER-INFO = I_datE.
      APPEND WA_LISTHEADER TO I_LISTHEADER.
      CLEAR WA_LISTHEADER.
      describe table ITAB1 lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc
                        into I_INFO separated by space.
      WA_LISTHEADER-TYP  = 'A'.
      WA_LISTHEADER-INFO = I_INFO.
      append WA_LISTHEADER to I_LISTHEADER.
      clear: WA_LISTHEADER , I_INFO.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = I_LISTHEADER
          I_LOGO             = 'ENJOYSAP_LOGO'.
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    ENDFORM.                    "TOP-OF-PAGE
    *&      Form  DISPLAY_ALV_MAKT
          text
    FORM DISPLAY_ALV_MAKT .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = SY-REPID
          I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
          I_GRID_TITLE           = I_TITLE_MAKT
          IS_LAYOUT              = I_LAYOUT
          IT_FIELDCAT                       = fieldcat
        TABLES
          T_OUTTAB               = ITAB1
        EXCEPTIONS
          PROGRAM_ERROR          = 1
          OTHERS                 = 2.
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " DISPLAY_ALV_MAKT
    Regards
    Ashok kumar

Maybe you are looking for