Customisation of F4 for material search

dear all,
while creating a sales order, when i enter material in line item, i want to customise search i.e. F4
i want to search material on two criteria at a time
1) material type
2) material group.
please give solution

If You are in ECC 6 the option in the search crieteria is Advanced search for material using search engine.
Here you need to fill both Material type and Material Group manually.

Similar Messages

  • Custom FM for material search

    Hi expert,
    I am trying to make custom FM for material search based on certain search criteria.
    It give me error like" In unicode programs, the " " character can not appears in names, as it does here in names "LT_MATNRSEL   TYPE TABLE OF BAPIMATRAM".
    Also it giving option for  me as use " type range of" instead of "type table of"
    also when i am making changes saying it is not expected. I am pasting the sample code below.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(IV_MAXROWS) TYPE  BAPIMAXROW DEFAULT 100
    *"     VALUE(IV_MATERIAL_NBR) TYPE  MATNR OPTIONAL
    *"     VALUE(IV_PLANT) TYPE  WERKS_D
    *"     VALUE(IV_MATERIAL_DESC) TYPE  TEXT40 OPTIONAL
    *"  EXPORTING
    *"     VALUE(EV_PLANT) TYPE  WERKS
    *"  TABLES
    *"      RETURN STRUCTURE  BAPIRET2
    *"      RT_MATNRLIST STRUCTURE  BAPIMATLST
       DATA:   lt_matnrsel   TYPE TABLE OF bapimatram,
              ls_matnrsel   TYPE bapimatram,
              lt_matdescsel TYPE TABLE OF  bapimatras,
              ls_matdescsel TYPE bapimatras,
              lt_plantsel   TYPE TABLE OF   bapimatraw,
              ls_plantsel   TYPE bapimatraw,
              lt_return     TYPE TABLE OF bapiret2,
              ls_return     TYPE bapiret2,
              ls_matnrlist  TYPE bapimatlst,
              lt_generaldata TYPE TABLE OF bapimatdoa,
              ls_generaldata TYPE bapimatdoa,
              lt_materialvaluationdata TYPE TABLE OF bapimatdobew,
              ls_materialvaluationdata TYPE bapimatdobew.
    *---  Returning the plant so it can be used as a MBO attribute
            ev_plant = iv_plant.
    *--- fill search ranges value
    *--- Material Description
      IF iv_material_desc IS NOT INITIAL.
        ls_matdescsel-sign        = 'I'.
        ls_matdescsel-option      = 'CP'.
        ls_matdescsel-descr_low   = iv_material_desc.
        APPEND ls_matdescsel TO lt_matdescsel.
      ENDIF.
      IF iv_material_nbr IS NOT INITIAL.
        ls_matnrsel-sign        = 'I'.
        ls_matnrsel-option      = 'EQ'.
        ls_matnrsel-matnr_low   = iv_material_nbr.
        APPEND ls_matnrsel TO lt_matnrsel.
      ENDIF.
    *--- Material Description
      ls_plantsel-sign        = 'I'.
      ls_plantsel-option      = 'EQ'.
      ls_plantsel-plant_low  = iv_plant.
      APPEND ls_plantsel TO lt_plantsel.
    *--- call BAPI
      CALL FUNCTION 'BAPI_MATERIAL_GETLIST'
        EXPORTING
          maxrows              = iv_maxrows
        TABLES
          matnrselection       = lt_matnrsel
          materialshortdescsel = lt_matdescsel
          plantselection       = lt_plantsel
          matnrlist            = lt_matnrlist
          return               = lt_return.
    Thanks And Regards
    Ranjeet Singh

    This post is successful. Only error was in formatting. In my screen there are some dots which was creating problems.
    Thanks for Reply.
    Ranjeet Singh.

  • Customisation of F4 for material in sales order

    dear all,
    while creating a sales order, when i enter material in line item, i want to customise search i.e. F4
    i want to search material on two criteria at a time
    1) material type
    2) material group.
    please give solution

    Hi,
    TO get this as per your requirement,
    First create a elementary search help through se11.
    In the  elementary search help, give the selection method as MARA , select the dialog with value restiction.
    The search help parameters as MATKL and MTART.
    Lpos and SPOs as 1 and 1 ( For MATKL)
                                   2 and 2 For MTART.
    Save and Activate it.
    Now in SE11 Give the search help name as MAT1_A and click on change.
    Click on Ok in the next dialog box.
    Go to the tab Included search helps. Click on Add button ( + button ) and give the created search help ( Zsearch help name) there.
    Save and Activate it.
    Now check for Material anywhere , you will find an extra tab as your custom tab.
    Regards,
    Sai

  • Add new F4 (searchhelp) for material in sales order

    Hi there!
    I read the following related poste:
    customisation of F4 for material in sales order
    In that post Atul wanted to change an existing search help. My problem is differnet I think.
    What I have:
    In VA01 I have many different SearchHelps for the material: 9 standards and 2 from my serviceprovider. The standards have shortcuts M, A, H, K, L, N, O, P and S. The two custom ones have 2 and Y.
    in MM03 I have even more different SearchHelps for the material: maybe 23 standards and 3 customized ones. The standards have the shortcuts M, A, B, C, E, F, H, I, J, K, L, N, O, P, R, S, T, V and W (then one without ?!?), then G, U. The custom ones are 1, 2, 3, Y.
    I now want to use the searchhelp (for example) "I" (in german its "Artikel zur Liefarentenartikelnummer", so I think its about "Material from suppliermaterialnuber" in english) that I can use in MM03 as well in VA01.
    Where do I have to customize / program things to do so?
    Thanks in advance!

    Works!
    I had to include the Searchhelp MAT1I into the section "included searchhelps" of searchhelp SD_MAT1 within transaction SE11 and run the default parameter assignment (Button).
    I know it was MAT1I because I looked it up in Searchhelp MAT1_A... just to round this ticket for maybe the next readers.

  • Material search by description

    Hi,
    we want to use TREX for material search from MM03  F4 search .
    we are able to search based on material no , EAN no  , but not with material description.
    I dont want to use full text search field because it do the search on other fields as well.
    Let me know what could be the cause that material is not getting searched by description.
    Regards
    Yashpal Gupta
    Please see the attached screen shot.

    Hi Gupta
    Just refer the SCN link
    TREX_Search Not working
    BR
    SS

  • Issue Search Help Exit for Material Group

    Dear Expertsl,
    I developed a search help exit for material group for the search helps both H_T023 and H_2023_MEPO to restrict certain material groups from the actual display as follows
    1)  I developed custom table to hold the Invalid material groups
    2) Developed search help as same as in the bellow link
    link:[https://wiki.sdn.sap.com/wiki/display/Snippets/CaseInsensitiveSearchHelpExitforMaterial+Group]
    3) Before the statement
        SELECT matkl wgbez wgbez60 FROM t023t INTO s_t023t
          WHERE matkl IN t_matkl
    i selected the Invalid materials from the custom table into an internal table
    4)    i am restricting the entries with the following code.
    LOOP AT a_tab.
    only move values that meet the requirements
    after you convert to upper case.
         MOVE a_tab-wgbez60 TO a_tab-wgbez60_test.
         TRANSLATE a_tab-wgbez60_test TO UPPER CASE.
            MOVE      a_tab-wgbez        TO a_tab-wgbez_test.
            TRANSLATE a_tab-WGBEZ_test   TO UPPER CASE.
            MOVE      a_tab-wgbez60      TO a_tab-wgbez60_test.
            TRANSLATE a_tab-wgbez60_test TO UPPER CASE.
          IF a_tab-wgbez60_test IN i_wgbez60 AND
             a_tab-wgbez_test   IN i_wgbez   AND   
             a_tab-matkl        IN i_matkl.
            ADD 1 TO findex.
            MOVE a_tab-matkl   TO temp_tab-matkl.
            MOVE a_tab-WGBEZ   TO temp_tab-WGBEZ.   
            MOVE a_tab-wgbez60 TO temp_tab-wgbez60.
            IF findex > callcontrol-maxrecords.
              MOVE 'X' TO callcontrol-maxexceed.
              EXIT.
            ENDIF.
            READ TABLE i_invalid INTO w_invalid
            WITH KEY matkl = a_tab-matkl.
            IF sy-subrc NE 0.
              APPEND temp_tab.
            ENDIF.
            CLEAR temp_tab.
          ENDIF.
        ENDLOOP.
    This is working fine when we press F4 in ME21N Transaction and give some description and then press enter the popup screen.
    But my requirement is user will enter some description in ME21N material group field and press enter ( Not pressing the F4 here) at this moment this is not going through the search help exit and displaying all the entries including the Invalid materials.
    Note: We can delete the Invalid material groups but the documents which are having the invalid material already will have an issue and need to be corrected all the documents. But our requirement is only to use the correct materials  groups from now onwards.
    I would appropriate if any one can helping this regard.
    Thanks in advance.,
    Regards,
    Venkat

    Hi Venkat,
    You can call your ZSEARCH_HELP from the PAI , on the event SY-UCOMM = Enter using the function module F4IF_FIELD_VALUE_REQUEST.
    For example, your screen field is MARA-ZXXXX, screen 0100 and search help :  ZSEARCH_HELP
      CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
        EXPORTING
          tabname                   = 'MARA'
          fieldname                  = 'ZXXXX'
          searchhelp               = 'ZSEARCH_HELP '
          dynpnr                      = '0100'
          dynprofield                =  'MARA-ZXXXX'
    TABLES
       return_tab                = lt_returntab.
    This F4IF_FIELD_VALUE_REQUEST will call your custom search help exit.
    Regards
    Deepa.

  • Search help for material number in table control

    Hi
    I have a table which i have generated using table control wizard.
    I have used an interal table while creating the table control through wizard.
    In this internal table i have field matnr.Now my requirement is to have a search help for this field.
    I want a default search help for material as you get one instandard transactions.
    In my other i have ip/op field i.e matnr and i have used the field directly from ztable,it has got the search help but since i am using the internal table i am notting getting a search help .
    can anyone tell how to assign a search help to my table control material field

    hi deepthi,
    chk a sample one which will help u. <b><i>f4 hlp in table control</i></b>
    * Screen flow logic........
    PROCESS BEFORE OUTPUT.
    *MODULE PBO_MODULE.
    PROCESS AFTER INPUT.
    *MODULE PAI_MODULE.
    PROCESS ON VALUE-REQUEST. "F4
      FIELD EKPO-EBELP MODULE help_ekpo.
    * populate screen field from within PROCESS ON VALUE-REQUEST(F4) call
    *&      Module  help_responsibility  INPUT
    *       text
    MODULE help_ekpo INPUT.
    **Transport values to table dynpro/screen table control
      DATA: l_stepl LIKE  sy-stepl,
            l_indx  LIKE  sy-stepl.
      DATA: dynpfields        LIKE dynpread OCCURS 5 WITH HEADER LINE.
    * Adjust for scroling within table control
      CALL FUNCTION 'DYNP_GET_STEPL'
        IMPORTING
          povstepl        = l_stepl
        EXCEPTIONS
          stepl_not_found = 0
          OTHERS          = 0.
      l_indx = tc_ekpotable-top_line + l_stepl - 1.
              "tc_ekpotable should already have been declared
      REFRESH dynpfields.
      CLEAR   dynpfields.
      dynpfields-fieldname  = 'EKPO-EBELN'.
      dynpfields-fieldvalue = '00010'   "wa_ekpo-ebeln.
      dynpfields-stepl      = l_stepl.
      APPEND dynpfields.
      dynpfields-fieldname  = 'EKPO-EBELP'.
      dynpfields-fieldvalue = '00020'   "wa_ekpo-ebelp.
      dynpfields-stepl      = l_stepl.
      APPEND dynpfields.
      CALL FUNCTION 'DYNP_VALUES_UPDATE'
        EXPORTING
          dyname     = 'SAPLZZ_EKKO'    "Program name
          dynumb     = '0100'           "Screen number
        TABLES
          dynpfields = dynpfields
        EXCEPTIONS
          OTHERS     = 0.
    ENDMODULE.                 " help_ekpo  INPUT
    rgds
    Anver
    <b><i>if hlped kindly mark points</i></b>

  • How to implement the search help exit to MM01 for Material by product hiera

    Hi,
    How to implement the search help exit to MM01 T-code for Material by product hierarchy,
    but system default it gives the data from MVKE table, my client wants from MARA table,
    i created the one Function Module, write this code in that FM.
    IF CALLCONTROL-STEP EQ 'DISP'.
    REFRESH RECORD_TAB.
    SELECT * FROM MARA INTO TABLE RECORD_TAB
    WHERE PRDHA = 
    ENDIF.
    I Face the problem what variable i have to pass in WHERE CONDITION, FROM THE MM01 T-code.
    is't require to IMPORT variable from MM01 program, what is that import variable, please give me the solution.
    thanks to all.

    Hi there..
    check my web blog on search help exit...
    [Search help exit code|https://wiki.sdn.sap.com/wiki/x/du0]

  • How enable material class for Material Advance Search in MMnn transaction?

    Hello,
    Isn't possible to include material characteristics in Advance Search (via TREX) for every material fields in ECC? So I can enter material characteristics value in 'Full Text Search' field of material 'Advance Search for Material Using Search Engine' searchelp in order to find material that I want.
    I tried to include BUS1088 in SES_ADMIN transaction and succesfully indexed it. But I still can't search with characteristic.
    Would you all help me, please.... Thanks.
    Regards,
    Zam

    Hi Colleague,
    No. This function is not provided in the R/3 System. Only one record is taken into account during the free goods determination with the existence of several valid condition records. This record is the one with the largest minimum quantity. For this record the system only generates one free goods subitem.   
    Free goods can only be supported on a 1:1 ratio. This means that an order item can lead to a free goods item. Agreements in the following form are not supported: #eWith material 1, material 2 and material 3 are free of charge#e or #eIf material 1 and material 2 are ordered at the same time, then material 3 is free of charge#e.                        
    You can refer FAQ note 549963 which clarifies this point.
    I hope it can be helpful.
    Regards
    Ruy Castro

  • Searching for material with material group

    Hi Friends,
    How to get the old material no. material no., description after searching for material with material group.please reply....

    SE16
    table MARA
    field BISMT is the old number
    MATKL is material group
    table MAKT
    MAKTX description
    you can make a query join with MATNR
    Best Regards

  • Search Help Exfit for Material

    Hi,
    Scenario:
    in the F4 dropdown for material, I have added a new elementary search help which will search a laterial based on material description(makt-maktx)/basic material(mara-wrkst)/size & dimension(mara-groes).
    Requirement:
    I need to add one more field in my search help "Global Search". In this field whatever has been entered has to be searched in all the tree fields mentioned above. For eg.
    If i enter "valve" in my global search field, then 'valve' should be searched in makt-maktx & mara-wrkst & mara-groes and should give me the total result.
    Solution Lead:
    I created a search help exit and inside that I found out that I have to write my code under:
    IF CALLCONTROL-STEP = 'SELECT'.
    Now Im not able to figure out how to write the code inside IF CALLCONTROL-STEP = 'SELECT'.
    Please help.
    Regards,
    Shobhit

    Hi!
    Say you've define input parameter PARAM for your search help. Then you should proceed as follows:
    IF callcontrol-step = 'SELECT'.
        DATA:
          param_val TYPE ddshiface-value.
        CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
          EXPORTING
            parameter               = 'PARAM'
          OFF_RESULT              = 0
          LEN_RESULT              = 0
          FIELDNAME               = ' '
         IMPORTING
           value                   = param_val
          TABLES
            shlp_tab                = shlp_tab
            record_tab              = record_tab
          SELOPT_TAB              =
          RESULTS_TAB             =
          CHANGING
            shlp                    = shlp
            callcontrol             = callcontrol
         EXCEPTIONS
           parameter_unknown       = 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.
        DATA:
          it_hitlist TYPE STANDARD TABLE OF z_your_hitlist_structure.
        IF param_val IS INITIAL.
    *TODO: fill it_hitlist correspondingly
        ELSE.
    *TODO: fill it_hitlist correspondingly too
        ENDIF.
        IF sy-subrc = 0.
          callcontrol-step = 'DISP'.
        ELSE.
          callcontrol-step = 'EXIT'.
        ENDIF.
        CALL FUNCTION 'F4UT_RESULTS_MAP'
        EXPORTING
          SOURCE_STRUCTURE         =
          APPLY_RESTRICTIONS       = ' '
          TABLES
            shlp_tab                 = shlp_tab
            record_tab               = record_tab
            source_tab               = it_hitlist
          CHANGING
            shlp                     = shlp
            callcontrol              = callcontrol
         EXCEPTIONS
           illegal_structure        = 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.
    ENDIF.
    Regards,
    Maxim.

  • Search Group for Material Master

    Hi,
    Can any one tell me how to configure a new search group for Material master.
    For eg. I would like to search a material on the basis of Material type/Plant.
    Thanks & Regards
    Merwyn

    Hi
    Please try by adding the Fields material type in the transaction OMSH,
    SPRO -> IMG-> Logistics - General-> Material Master-> Tools-> Maintain Search Helps
    Read the Documentation of the Customzing before procedding futher.
    Thanks & Regards
    Kishore

  • Search for material from 2 Storage types

    Hi,
    When creating a delivery for Subcon PO Via ME2O the transfer order is created automatically from the  source storage type
    657 ( for example). The requirement is that the system should also look for material from source storage type  460 ( for example).
    I did the following customization ( SPRO path):
    1) Logistics execution -> Warehouse management -> Strategies -> Activate storage type search - > Determine search sequence --
    For the combination of Warehouse number & Mvt type 541 ( GI to Subcon delivery) -- 657 and 460 are assigned.
    2)  Logistics execution -> Warehouse management -> Activities-> Transfers-> Define Mvt types-> For the combination of Warehouse number & Mvt type 541 -- I have assigned source storage type as 657.
    With the above the system does the search from 657 stoarge type only and not from the both.
    Is there any other setting to meet this requiremnet?
    Best regards,
    Prasad

    Hi,
    I removed 657 source storage type in the 541 mvt type set up ( Source storage type is Blank) . In the Movement Type set up for 541, "Ref.Stor.Type.Search" field is already with 541.
    The Storage Type search sequence is maintained for the combination warehouse number & 541 mvt as 657 and 460 ( storage types).
    When Delivery is created for Subcon PO, The Transfer order is not created automatcially ( Only delivery is created)
    The requirement in detail is as below:
    There are 2 plants ( AL70 & AL77)  linked to 1 Warehouse (AL1). When delivery is created for subcon PO in plant AL70, the TO is also created automatically with source storage type as 657 and destination storage type as 916. The additional requirement is when delivery is created for Subcon PO in plant AL77, the TO aslo should be created automatically with source storage type as 460 and destination storage type as 916.
    Regards,
    Prasad

  • Report for material list

    hi,
    i want a material list for which if i specify a period i will get materials with
    a)No goods reciept
    b)No stock or material movement(issue/transfer posting etc).
    c)no sales or shipping.
    should have happened for the materials for that period.
    if no standard report exists can you tell me the algoritthm.
    urgent: satisfying answers will be awarded full points

    Rajkiran,
    am sure you will never setisfy even we send you number of report because you have to chenge according to your requirement.dont expect spoon feeding.
    *& Object Id               :                                                  &*
    *& Object Name             : ZMM_STO_REGISTER                                 &*
    *& Function Module Name    : MM                                               &*
    *& Transaction Code        : ZMMSTO                                           &*
    *& Author                  : Amit&*
    *& Module Name             : MATERIAL MANAGEMENT                              &*
    *& Sub-Module              :                                                  &*
    *& Program Type            : Report                                           &*
    *& Create Date             : 28.03.2007                                       &*
    *& Completion Date         : 30.03.2007                                       &*
    *& SAP Release             :                                                  &*
    *& Description             : STO REGISTER                                     &*
    *& MODIFICATION LOG        : MODIFIED AT 30.04.2007 adding new field          &*
    *&                          chapter-id by chakrapani mishra                   &*
    REPORT  zmm_sto_register.
    *                             TABLES USED                                     *
    TABLES :vbrk,                                   "Billing Document: Header Data
            vbrp,                                   "Billing Document: Item Data
            mara,                                   "General Material Data
            konv,                                   "Conditions (Transaction Data)
            t023t,                                  "Material Group Descriptions
            ekko,                                   "Purchasing Document Header
            likp,                                   "SD Document: Delivery Header Data
            mvke,                                   "Sales Data for Material
            t001w,                                  "Plants/Branches
            marm,                                   "Units of Measure for Material
            j_1imtchid,                             "Combination of Material Number and Chapter ID
            mseg,
            mkpf,
            j_1iexchdr.
    TYPE-POOLS : slis.                              "TYPE POOL SLIS
    *                      INTERNAL TABLES                                      *
    DATA: BEGIN OF t_vbrp OCCURS 0,                "INTERNAL TABLE FOR VBRP
            vbeln LIKE vbrp-vbeln,                 "Billing Document
            vstel LIKE vbrp-vstel,                 "Shipping Point/Receiving Point
           vgbel LIKE vbrp-vgbel,                 "Document number of the reference document
            aubel LIKE vbrp-aubel,                 "Sales Document
            matnr LIKE vbrp-matnr,                 "Material Number
            arktx LIKE vbrp-arktx,                 "Short text for sales order item
            matkl LIKE vbrp-matkl,                 "Material Group
            fkimg LIKE vbrp-fkimg,                 "Actual Invoiced Quantity
            werks LIKE vbrp-werks,                 "Plant
            posnr LIKE vbrp-posnr,                 " Billing item
            vrkme LIKE vbrp-vrkme,                 " Sales unit
            vgbel1 LIKE mkpf-xblnr,
    END OF t_vbrp.
    DATA: BEGIN OF t_vbrk OCCURS 0,                 "INTERNAL TABLE FOR VBRK
            kunag LIKE vbrk-kunag,                  "Sold-to party
            vbeln LIKE vbrk-vbeln,                  "Billing Document
            fkdat LIKE vbrk-fkdat,                  "Billing date for billing index and printout
            knumv LIKE vbrk-knumv,                  "Number of the document condition
            fkart LIKE vbrk-fkart,                  "Billing Type
            vtweg LIKE vbrk-vtweg,                  "Distribution Channel
            vkorg LIKE vbrk-vkorg,                  "Sales Organization
            erzet LIKE vbrk-erzet,
            w_flag TYPE c,
            l_tabix TYPE sy-tabix,
    END OF t_vbrk.
    DATA: BEGIN OF t_temp1 OCCURS 0,                 "INTERNAL TABLE FOR VBRK
           vbeln LIKE vbrp-vbeln,                 "Billing Document
           fkart LIKE vbrk-fkart,
          fkdat LIKE vbrk-fkdat,
           vgbel LIKE vbrp-vgbel,                 "Document number of the reference document
           werks LIKE vbrp-werks,
           w_flag TYPE c,
    END OF t_temp1.
    DATA: BEGIN OF t_mara OCCURS 0,                 "INTERNAL TABLE FOR MARA
            matnr LIKE mara-matnr,                  "Material Number
            mtart LIKE mara-mtart,                  "Material Type
            wrkst LIKE mara-wrkst,                  "Finish
            extwg LIKE mara-extwg,                  "Design
            labor LIKE mara-labor,                  "Grade/Category No.
            normt LIKE mara-normt,                  "Thickness in mm
            bismt LIKE mara-bismt,                  "Size (L*B) in mm
            matkl LIKE mara-matkl,
            spart LIKE mara-spart,
            meins LIKE mara-meins,
    END OF t_mara.
    DATA : BEGIN OF t_konv OCCURS 0,                "INTERNAL TABLE FOR KONV
            knumv LIKE konv-knumv,                  "Number of the document condition
            kposn LIKE konv-kposn,                  "Condition item number
            kschl LIKE konv-kschl,                  "Condition type
            kwert LIKE konv-kwert,                  "Condition value
            kbetr LIKE konv-kbetr,                  "Condition rate
            END OF t_konv.
    DATA : BEGIN OF t_likp OCCURS 0,               "INTERNAL TABLE FOR LIKP
            vbeln LIKE likp-vbeln,                 "Delivery
            lfdat LIKE likp-lfdat,                 "Delivery Date
            kunnr LIKE likp-kunnr,
            bldat LIKE likp-bldat,                " document date
            vbeln_kp LIKE mkpf-xblnr, " likp-vbeln,
            END OF t_likp.
    DATA : BEGIN OF t_t023t OCCURS 0,              "INTERNAL TABLE FOR T023T
            matkl LIKE t023t-matkl,               "Material Group
            wgbez LIKE t023t-wgbez,                "Material Group Description
            spras LIKE t023t-spras,                "Language Key
            END OF t_t023t.
    DATA : BEGIN OF t_ekko OCCURS 0,               "INTERNAL TABLE FOR EKKO
            ebeln LIKE ekko-ebeln,                 "Purchasing Document Number
            bsart LIKE ekko-bsart,                 "Purchasing Document Type
            aedat LIKE ekko-aedat,                 "Date on Which Record Was Created
            knumv LIKE ekko-knumv,                 "Number of the document condition
            END OF t_ekko.
    DATA : BEGIN OF t_ekpo OCCURS 0,               "INTERNAL TABLE FOR EKKO
            ebeln LIKE ekko-ebeln,                 "Purchasing Document Number
            loekz LIKE ekko-loekz,                 "Purchasing Document Type
            END OF t_ekpo.
    DATA : BEGIN OF t_mvke OCCURS 0,
            matnr LIKE mvke-matnr,
            mvgr1 LIKE mvke-mvgr1,
            END OF t_mvke.
    DATA : BEGIN OF t_t001w OCCURS 0,                "INTERNAL TABLE FOR KONV
            werks LIKE t001w-werks,                  "Number of the document condition
            name1 LIKE t001w-name1,                  "Condition type
            kunnr LIKE t001w-kunnr,                  "Condition value
            name2 LIKE t001w-name2,                  "Condition item number
           END OF t_t001w.
    DATA : BEGIN OF t_t001w2 OCCURS 0,                "INTERNAL TABLE FOR KONV
            werks LIKE t001w-werks,                  "Number of the document condition
            name1 LIKE t001w-name1,                  "Condition type
            kunnr LIKE t001w-kunnr,                  "Condition value
            name2 LIKE t001w-name2,                  "Condition item number
           END OF t_t001w2.
    DATA : BEGIN OF t_marm OCCURS 0,
            matnr LIKE marm-matnr,
            meinh LIKE marm-meinh,
            umrez LIKE marm-umrez,
            umren LIKE marm-umren,
            END OF t_marm.
    DATA : BEGIN OF t_tvm1t OCCURS 0,
            mvgr1 LIKE tvm1t-mvgr1,
            bezie LIKE tvm1t-bezei,
            END OF t_tvm1t.
    **********************modification additioon of chapter ID  30.04.2007
    DATA : BEGIN OF t_j_1imtchid OCCURS 0,              "INTERNAL TABLE FOR j_1imtchid
            matnr LIKE j_1imtchid-matnr,                "Material Number
           j_1ichid LIKE j_1imtchid-j_1ichid,           "Chapter ID
            END OF t_j_1imtchid.
    DATA : BEGIN OF t_j_1iexchdr OCCURS 0,              "INTERNAL TABLE FOR j_1imtchid
            exnum LIKE j_1iexchdr-exnum,                "Material Number
            exdat LIKE j_1iexchdr-exdat,                "Chapter ID
            rdoc LIKE j_1iexchdr-rdoc,
            werks LIKE j_1iexchdr-werks,
            status LIKE j_1iexchdr-status,
            trntyp LIKE j_1iexchdr-trntyp,
            END OF t_j_1iexchdr.
    **********************modification additioon of chapter ID  30.04.2007
    DATA: BEGIN OF t_final OCCURS 0,                  "INTERNAL TABLE T_FINAL
              fkart LIKE vbrk-fkart,
              kunag LIKE vbrk-kunag,
              vbeln_k LIKE vbrk-vbeln,
              fkdat LIKE vbrk-fkdat,
              knumv LIKE vbrk-knumv,
              fkart1 LIKE vbrk-fkart,
              vtweg LIKE vbrk-vtweg,
              vkorg LIKE vbrk-vkorg,
              vbeln LIKE likp-vbeln,                 "Delivery
              vbeln_p LIKE vbrp-vbeln,
              vstel LIKE vbrp-vstel,
              "vgbel like mkpf-xblnr,
              vgbel LIKE vbrp-vgbel,
              aubel LIKE vbrp-aubel,
              matnr LIKE vbrp-matnr,
              arktx LIKE vbrp-arktx,
              matkl LIKE vbrp-matkl,
              fkimg LIKE vbrp-fkimg,
              posnr LIKE vbrp-posnr,
              vrkme LIKE vbrp-vrkme,
              matnr_m LIKE mara-matnr,
              mtart LIKE mara-mtart,
              wrkst LIKE mara-wrkst,
              extwg LIKE mara-extwg,
              labor LIKE mara-labor,
              normt LIKE mara-normt,
              bismt LIKE mara-bismt,
              spart LIKE mara-spart,
              meins LIKE mara-meins,
              kposn LIKE konv-kposn,
              kschl LIKE konv-kschl,
              kwert LIKE konv-kwert,
              kwert1 LIKE konv-kwert,
              kwert2 LIKE konv-kwert,
              kwert3 LIKE konv-kwert,
              kwert4 LIKE konv-kwert,
              kwert5 LIKE konv-kwert,
              kbetr LIKE konv-kbetr,
              vbeln_kp LIKE mkpf-xblnr, " likp-vbeln,
              lfdat LIKE likp-lfdat,
              wgbez LIKE t023t-wgbez,
              spras LIKE t023t-spras,
              bsart LIKE ekko-bsart,
              aedat LIKE ekko-aedat,
    **********************modification additioon of chapter ID  30.04.2007
           j_1ichid LIKE j_1imtchid-j_1ichid ,
    **********************modification additioon of chapter ID  30.04.2007
              total TYPE  p  DECIMALS 2,
              mvgr1 LIKE mvke-mvgr1,
              werks LIKE t001w-werks,                  "Number of the document condition
              kunnr LIKE t001w-kunnr,                  "Condition value
              name1 LIKE t001w-name1,                  "Condition type
              name2 LIKE t001w-name2,                  "Condition item number
              werks1 LIKE t001w-werks,                  "Number of the document condition
              kunnr1 LIKE t001w-kunnr,                  "Condition value
              name11 LIKE t001w-name1,                  "Condition type
              name21 LIKE t001w-name2,
              exnum LIKE j_1iexchdr-exnum,                "Material Number
              exdat LIKE j_1iexchdr-exdat,           "Chapter ID
              rdoc LIKE j_1iexchdr-rdoc,
              bom TYPE p DECIMALS 4,
              mult TYPE p DECIMALS 4,
              bezie LIKE tvm1t-bezei,
              length(5) TYPE n,
              breath(5) TYPE n,
               bldat LIKE likp-bldat,                " document date
              size(15) TYPE p DECIMALS 2,
              area(15) TYPE  p DECIMALS 2,
               mblnr TYPE mseg-mblnr,     "Number of Material Document
               mjahr TYPE mseg-mjahr,     "Material Document Year
               budat TYPE mkpf-budat,     "Posting period
               w_flag TYPE c,
                flag TYPE c,
        END OF t_final.
    DATA : BEGIN OF t_temp OCCURS 0,
           kunag LIKE vbrk-kunag,
              vbeln_k LIKE vbrk-vbeln,
              fkdat LIKE vbrk-fkdat,
              knumv LIKE vbrk-knumv,
              fkart LIKE vbrk-fkart,
              vtweg LIKE vbrk-vtweg,
              vkorg LIKE vbrk-vkorg,
              vbeln LIKE likp-vbeln,                 "Delivery
              vbeln_p LIKE vbrp-vbeln,
              vstel LIKE vbrp-vstel,
              "vgbel like mkpf-xblnr,
              vgbel LIKE vbrp-vgbel,
              aubel LIKE vbrp-aubel,
              matnr LIKE vbrp-matnr,
              arktx LIKE vbrp-arktx,
              matkl LIKE vbrp-matkl,
              fkimg LIKE vbrp-fkimg,
              posnr LIKE vbrp-posnr,
              vrkme LIKE vbrp-vrkme,
              matnr_m LIKE mara-matnr,
              mtart LIKE mara-mtart,
              wrkst LIKE mara-wrkst,
              extwg LIKE mara-extwg,
              labor LIKE mara-labor,
              normt LIKE mara-normt,
              bismt LIKE mara-bismt,
              spart LIKE mara-spart,
              meins LIKE mara-meins,
              kposn LIKE konv-kposn,
              kschl LIKE konv-kschl,
              kwert LIKE konv-kwert,
              kwert1 LIKE konv-kwert,
              kwert2 LIKE konv-kwert,
              kwert3 LIKE konv-kwert,
              kwert4 LIKE konv-kwert,
              kwert5 LIKE konv-kwert,
              kbetr LIKE konv-kbetr,
              vbeln_kp LIKE mkpf-xblnr, " likp-vbeln,
              lfdat LIKE likp-lfdat,
              wgbez LIKE t023t-wgbez,
              spras LIKE t023t-spras,
              bsart LIKE ekko-bsart,
              aedat LIKE ekko-aedat,
    **********************modification additioon of chapter ID  30.04.2007
           j_1ichid LIKE j_1imtchid-j_1ichid ,
    **********************modification additioon of chapter ID  30.04.2007
              total TYPE  p  DECIMALS 2,
              mvgr1 LIKE mvke-mvgr1,
              werks LIKE t001w-werks,                  "Number of the document condition
              kunnr LIKE t001w-kunnr,                  "Condition value
              name1 LIKE t001w-name1,                  "Condition type
              name2 LIKE t001w-name2,                  "Condition item number
              werks1 LIKE t001w-werks,                  "Number of the document condition
              kunnr1 LIKE t001w-kunnr,                  "Condition value
              name11 LIKE t001w-name1,                  "Condition type
              name21 LIKE t001w-name2,
              exnum LIKE j_1iexchdr-exnum,                "Material Number
              exdat LIKE j_1iexchdr-exdat,           "Chapter ID
              rdoc LIKE j_1iexchdr-rdoc,
              bom TYPE p DECIMALS 4,
              mult TYPE p DECIMALS 4,
              bezie LIKE tvm1t-bezei,
              length(5) TYPE n,
              breath(5) TYPE n,
              size(15) TYPE p DECIMALS 2,
              area(15) TYPE  p DECIMALS 2,
               mblnr TYPE mseg-mblnr,     "Number of Material Document
               mjahr TYPE mseg-mjahr,     "Material Document Year
               budat TYPE mkpf-budat,     "Posting period
            END OF t_temp.
    DATA : BEGIN OF it_mseg OCCURS 0,
             werks LIKE mseg-werks,
             matnr LIKE mseg-matnr,
             ebeln LIKE mseg-ebeln,
             mblnr TYPE mseg-mblnr,    "Number of Material Document
             mjahr TYPE mseg-mjahr,     "Material Document Year
           END OF it_mseg.
    DATA : BEGIN OF it_mkpf OCCURS 0,
              budat TYPE mkpf-budat,
              mblnr TYPE mkpf-mblnr,
             tcode2 LIKE mkpf-tcode2,
            "  xblnr(10) TYPE C,
             xblnr LIKE likp-vbeln,                 "Delivery
           END OF it_mkpf.
    DATA : BEGIN OF it_vbuk OCCURS 0,
            vbeln LIKE vbuk-vbeln,
            wbstk LIKE vbuk-wbstk,
            END OF it_vbuk.
    DATA : it_vbrk LIKE t_vbrk OCCURS 0 WITH HEADER LINE.
    DATA : it_vbrp LIKE t_vbrp OCCURS 0 WITH HEADER LINE.
    DATA : it_mara LIKE t_mara OCCURS 0 WITH HEADER LINE.
    TYPES : w_str TYPE  string,
            str  TYPE  string.
    *                      WORK AREAS                                         *
    DATA:  wa_vbrk    LIKE  t_vbrk.                     "WORK AREA FOR VBRK
    DATA:  wa_vbrp    LIKE  t_vbrp.                     "WORK AREA FOR VBRP
    DATA:  wa_mara    LIKE  t_mara.                     "WORK AREA FOR MARA
    DATA:  wa_sfinal  LIKE  t_temp.                    "WORK AREA FOR T_FINAL
    DATA:  wa_sfinal1  LIKE  t_final.                    "WORK AREA FOR T_FINAL
    DATA:  wa_mseg    LIKE  it_mseg.                     "Workarea for  internal table mseg
    DATA :  wa_vbeln LIKE t_vbrk-vbeln.
    DATA:  wa_mkpf    LIKE  it_mkpf.                     "Workarea for  internal table mkpf
    *                          ALV                                           *
    DATA: it_fieldcat     TYPE    slis_t_fieldcat_alv,
          wa_fieldcat     LIKE    LINE OF it_fieldcat,
          it_top_of_page  TYPE    slis_t_listheader,
          ls_layout       TYPE    slis_layout_alv,
          gt_events       TYPE    slis_t_event.
    *                     SELECTION-SCREEN                                    *
    SELECTION-SCREEN BEGIN OF BLOCK detail WITH FRAME TITLE text-000.
    SELECT-OPTIONS: supp_pnt FOR vbrp-vstel OBLIGATORY.              "SUPPLYING PLANT
    SELECT-OPTIONS: recv_pnt FOR vbrk-kunag OBLIGATORY.              "RECEIVING PLANT
    SELECT-OPTIONS: period   FOR vbrk-fkdat OBLIGATORY.              "PERIOD
    SELECT-OPTIONS: budat    FOR mkpf-budat.                        " MIGO DATE
    SELECTION-SCREEN  END OF BLOCK detail.
    *                   START-OF-SELECTION                                 *
    ***********************************POPULATING DATA
    PERFORM populating_data.
    **********************************MOVE DATA
    PERFORM move_data.
    *********************************DATA- FETCHING
    PERFORM data_fetching.
    *********************************GET ALV  DATA
    PERFORM alv_get_data.
    *********************************ALV GRID DATA
    PERFORM alv_grid.
    *********************************TOP OF PAGE
    PERFORM top_of_page.
    *                    VALIDATION  OF SELECTION SCREEN                     *
    AT SELECTION-SCREEN ON period.
      IF period-high IS INITIAL.
        MESSAGE e001(zamit).
      ENDIF.
    *                      SELECTION OF DATA                        *
    FORM populating_data.
    *************POPULATING DATA FROM VBRK
      CLEAR   t_vbrk.
      REFRESH t_vbrk.
      SELECT  kunag
              vbeln
              fkdat
              knumv
              fkart
              vtweg
              vkorg
              erzet
      FROM vbrk INTO TABLE t_vbrk
      WHERE kunag IN recv_pnt AND
            fkdat IN period   AND
                fkart = 'JEX' OR
                fkart = 'F8'  AND
                vtweg = '10'  AND
                vkorg = '1000'.
      DELETE t_vbrk[]   WHERE fkdat = '' .
      DELETE t_vbrk[]   WHERE fkdat NOT IN period.
      DELETE t_vbrk[]   WHERE kunag NOT IN recv_pnt.
      IF t_vbrk[] IS INITIAL.
        MESSAGE i002(zamit).
        LEAVE LIST-PROCESSING.
      ENDIF.
      DELETE t_vbrk WHERE fkdat NOT IN period.
    *DATA: l_tabix TYPE sy-tabix.           " declare the sy-tabix as local variable
    *DATA: l_lines TYPE sy-tabix.
    *DATA: l_index TYPE sy-tabix.
    *"SORT T_VBRK DESCENDING BY vbeln.
    *SORT T_VBRK ASCENDING BY vbeln fkart .
    *DESCRIBE TABLE t_vbrk LINES  l_lines .       "The current number of table rows of the internal table itab is determined and is assigned to the data object lin
    *CHECK l_lines > 1.                               " check lines are greater than 1
    *LOOP AT t_vbrk.
    *  l_tabix = sy-tabix.                              " assine Index of Internal Tables into local var l_tabix
    *  l_index = l_tabix + 1.
    *  IF t_vbrk-fkart = 'F8'.                          " loop on the temp table
    *READ TABLE t_vbrk INTO wa_vbrk INDEX l_index.  " read the temp table with index l_index
    *IF sy-subrc = 0.
    *CHECK t_vbrk-vbeln < wa_vbrk-vbeln .
    *  if sy-subrc =  0.
    *  t_vbrk-W_FLAG = 'X'.
    *  MODIFY t_vbrk TRANSPORTING W_FLAG.
    *endif.
    * endif.
    *else.
    *  exit.
    *endif.
    *endloop.
    *LOOP at t_vbrk.
    *DELETE t_vbrk WHERE w_flag = 'X' .
    *endloop.
    *" change  by kalika dated 28.06.2007
    **" change  by kalika dated 28.06.2007
    *************POPULATING DATA FROM VBRP
      IF t_vbrk[] IS NOT INITIAL.
        CLEAR   t_vbrp.
        REFRESH t_vbrp.
        SELECT  vbeln
                vstel
                vgbel
                aubel
                matnr
                arktx
                matkl
                fkimg
                werks
                posnr
                vrkme
         FROM vbrp INTO TABLE t_vbrp
         FOR ALL ENTRIES IN t_vbrk
         WHERE vbeln = t_vbrk-vbeln
         AND vstel IN supp_pnt  .
      ENDIF.
      IF sy-subrc <> 0.
        MESSAGE i000(zamit).
        LEAVE LIST-PROCESSING.
      ENDIF.
      IF t_vbrp[] IS NOT INITIAL.
        SELECT vbeln wbstk FROM vbuk
          INTO TABLE it_vbuk FOR ALL ENTRIES IN
          t_vbrp WHERE vbeln = t_vbrp-vgbel.
      ENDIF.
      "DELETE t_vbrp[] WHERE vstel NOT in supp_pnt.  " by kalika
    *************POPULATING DATA FROM MARA
      it_vbrp[] = t_vbrp[].
      " it_vbrp-vgbel1 = t_vbrp-vgbel.
      "SORT it_vbrp BY matnr.
      SORT t_vbrp BY vbeln.
      "  DELETE ADJACENT DUPLICATES FROM it_vbrp COMPARING matnr . by kalika
    *  IF t_vbrp IS NOT INITIAL.
      CLEAR   t_mara.
      REFRESH t_mara.
      SELECT  matnr
              mtart
              wrkst
              extwg
              labor
              normt
              bismt
              matkl
              spart
              meins
         FROM mara INTO TABLE t_mara
              FOR ALL ENTRIES IN it_vbrp WHERE
              matnr = it_vbrp-matnr .
    *  ENDIF.
    *************POPULATING DATA FROM KONV
      it_vbrk[] = t_vbrk[].
      SORT it_vbrk BY knumv .
      DELETE ADJACENT DUPLICATES FROM it_vbrk COMPARING knumv .
      CLEAR   t_konv.
      REFRESH t_konv.
      SELECT  knumv
              kposn
              kschl
              kwert
              kbetr
         FROM konv INTO TABLE t_konv
         FOR ALL ENTRIES IN it_vbrk
           WHERE knumv = it_vbrk-knumv.
      DELETE t_konv WHERE
                             kschl <> 'ZR02'
                             AND  kschl <> 'JEXP'
                             AND  kschl <> 'JECS'
                             AND  kschl <> 'DIFF'.
    *************POPULATING DATA FROM LIKP
      it_vbrp[] = t_vbrp[].
      SORT it_vbrp BY vgbel.
      " DELETE ADJACENT DUPLICATES FROM it_vbrp COMPARING vgbel . by kalika
      CLEAR   t_likp.
      REFRESH t_likp.
      SELECT  vbeln
              lfdat
              bldat  " NEW CHANGE
         FROM likp INTO CORRESPONDING FIELDS OF TABLE t_likp
         FOR ALL ENTRIES IN it_vbrp
         WHERE vbeln = it_vbrp-vgbel.
    *************POPULATING DATA FROM T023T
      it_mara[] = t_mara[].
      SORT it_mara BY matkl .
      DELETE ADJACENT DUPLICATES FROM it_mara COMPARING matkl.
      CLEAR   t_t023t.
      REFRESH t_t023t.
      IF t_mara[] IS NOT INITIAL.
        SELECT  matkl
                wgbez
                spras
           FROM t023t INTO TABLE t_t023t
           FOR ALL ENTRIES IN it_mara
           WHERE matkl = it_mara-matkl  AND
                 spras = sy-langu.
      ENDIF.
    *************POPULATING DATA FROM EKKO
      it_vbrp[] = t_vbrp[].
      SORT it_vbrp BY aubel.
      " DELETE ADJACENT DUPLICATES FROM it_vbrp COMPARING aubel. by kalika
      CLEAR t_ekko.
      REFRESH t_ekko.
      SELECT ebeln
             bsart
             aedat
             knumv
        FROM ekko
        INTO TABLE t_ekko
        FOR ALL ENTRIES IN it_vbrp
       WHERE ebeln = it_vbrp-aubel
              AND bsart LIKE 'U%'.
    ************************delete invoice where it is being deleted from the system
    *SELECT  ebeln  loekz
    *  FROM ekpo
    *  INTO CORRESPONDING FIELDS OF TABLE t_ekpo
    *  FOR ALL ENTRIES IN t_ekko
    *  WHERE ebeln = t_ekko-ebeln.
    *DELETE t_ekpo WHERE loekz = 'L'.
    *************POPULATING DATA FROM t001w
      it_vbrp[] = t_vbrp[].
      SORT it_vbrp BY werks.
      "  DELETE ADJACENT DUPLICATES FROM it_vbrp COMPARING werks . by kalika
      CLEAR   t_t001w.
      REFRESH t_t001w.
      SELECT  werks
              name1
              kunnr
              name2
         FROM t001w INTO TABLE t_t001w
         FOR ALL ENTRIES IN it_vbrp
         WHERE werks = it_vbrp-werks .
      it_vbrk[] = t_vbrk[].
      SORT it_vbrk BY kunag.
      DELETE ADJACENT DUPLICATES FROM it_vbrk COMPARING kunag .
      CLEAR   t_t001w2.
      REFRESH t_t001w2.
      SELECT  werks
              name1
              kunnr
              name2
         FROM t001w INTO TABLE t_t001w2
         FOR ALL ENTRIES IN it_vbrk
         WHERE kunnr = it_vbrk-kunag .
    *--------POPULATING DATA FROM MARM
      SELECT matnr
              meinh
              umrez
              umren FROM marm INTO TABLE t_marm
              FOR ALL ENTRIES IN t_mara
              WHERE matnr = t_mara-matnr.
    *********************POPULATING DATA FROM MVKE
      CLEAR   t_mvke.
      REFRESH t_mvke.
      SELECT  matnr
              mvgr1
         FROM mvke INTO TABLE t_mvke
         FOR ALL ENTRIES IN t_vbrp
           WHERE matnr = t_vbrp-matnr .
    *-----------------POPULATING DATA FROM TVM1T.
      SELECT
              mvgr1 bezei FROM tvm1t
              INTO TABLE t_tvm1t FOR ALL ENTRIES IN t_mvke
              WHERE mvgr1 = t_mvke-mvgr1.
    **********************modification additioon of chapter ID  30.04.2007
    *-----------------POPULATING DATA FROM j_1imtchid.
      CLEAR   t_j_1imtchid.
      REFRESH t_j_1imtchid.
      SELECT  matnr
              j_1ichid
         FROM j_1imtchid INTO TABLE t_j_1imtchid
         FOR ALL ENTRIES IN t_vbrp
           WHERE matnr = t_vbrp-matnr .
    *-----------------POPULATING DATA FROM j_1iexchdr.
      CLEAR   t_j_1iexchdr.
      REFRESH t_j_1iexchdr.
      SELECT  exnum
              exdat
              rdoc
              werks
              trntyp
              status
         FROM j_1iexchdr INTO TABLE t_j_1iexchdr
         FOR ALL ENTRIES IN t_vbrp
         WHERE rdoc = t_vbrp-vbeln
         AND werks = t_vbrp-werks
         AND trntyp = 'DLFC'   .      " by kalika
      DELETE t_j_1iexchdr WHERE status = 'R' .   " by kalika
      DELETE t_j_1iexchdr WHERE status = 'B' .   " by kalika
      SORT t_j_1iexchdr BY rdoc.
    ***************end of modification additioon of chapter ID  30.04.2007
    ******* start of modification kalika dated 19.06.2007
      LOOP AT t_likp.
        t_likp-vbeln_kp = t_likp-vbeln.
        MODIFY  t_likp.
      ENDLOOP.
    *  SELECT budat mblnr xblnr tcode2
    *    FROM mkpf
    *    INTO CORRESPONDING FIELDS OF TABLE it_mkpf
    *    FOR ALL ENTRIES IN t_likp
    *    WHERE xblnr = t_likp-vbeln_kp
    *    AND tcode2 LIKE 'MIGO_GR'
    *    AND budat IN budat. "26.07.2007
      SELECT ebeln mblnr FROM mseg
        INTO CORRESPONDING FIELDS OF TABLE it_mseg
        FOR ALL ENTRIES IN t_vbrp
        WHERE ebeln = t_vbrp-aubel AND mblnr LIKE '5%'.
      SELECT budat mblnr tcode2
          FROM mkpf
          INTO CORRESPONDING FIELDS OF TABLE it_mkpf
          FOR ALL ENTRIES IN it_mseg
          WHERE mblnr = it_mseg-mblnr
          AND tcode2 LIKE 'MIGO_GR'
          AND budat IN budat.                                   "26.07.2007
    *loop at it_mkpf.
    *DELETE it_mkpf WHERE mblnr = '4'.
    *MODIFY it_mkpf.
    *ENDLOOP.
    ENDFORM.                    "populating_data
    *                    FORM MOVE_DATA.                             *
    FORM move_data.
      CLEAR   t_final.
      REFRESH t_final.
      SORT : t_vbrp  BY vbeln,
             t_vbrk  BY vbeln,
             t_mara  BY matnr,
             t_likp  BY vbeln,
             t_ekko  BY ebeln,
             t_t023t BY matkl,
             t_konv BY knumv,
             t_mvke BY matnr,
             t_t001w BY werks,
             t_t001w2 BY kunnr,
             t_tvm1t BY mvgr1,
             t_j_1iexchdr BY rdoc,
             t_j_1imtchid  BY matnr,
              t_j_1iexchdr BY rdoc werks,
           "   it_mkpf by mblnr,
              it_mseg BY mblnr,
              it_mkpf BY mblnr,
              it_vbuk BY vbeln.
      CLEAR   t_vbrp.
      LOOP AT t_vbrp.
        t_final-vstel = t_vbrp-vstel.
        t_final-vgbel = t_vbrp-vgbel.
        t_final-aubel = t_vbrp-aubel.
        t_final-matnr = t_vbrp-matnr.
        t_final-arktx = t_vbrp-arktx.
        t_final-matkl = t_vbrp-matkl.
        t_final-fkimg = t_vbrp-fkimg.
        t_final-posnr = t_vbrp-posnr.
        t_final-vrkme = t_vbrp-vrkme.
        " t_vbrp-vgbel1 = t_vbrp-vgbel.
        READ TABLE it_vbuk WITH KEY vbeln = t_vbrp-vgbel BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-flag = it_vbuk-wbstk.
        ENDIF.
        CLEAR t_vbrk.
        READ TABLE t_vbrk WITH KEY vbeln = t_vbrp-vbeln
                                   BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-kunag   = t_vbrk-kunag.
          t_final-vbeln_k = t_vbrk-vbeln.
          t_final-fkdat   = t_vbrk-fkdat.
          t_final-fkart  = t_vbrk-fkart.
          t_final-knumv =   t_vbrk-knumv.
        ENDIF.
        CLEAR t_mara.
        READ TABLE t_mara WITH KEY matnr = t_vbrp-matnr BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-mtart = t_mara-mtart.
          t_final-wrkst = t_mara-wrkst.
          t_final-extwg = t_mara-extwg.
          t_final-labor = t_mara-labor.
          t_final-normt = t_mara-normt.
          t_final-bismt = t_mara-bismt.
          t_final-spart = t_mara-spart.
          t_final-meins = t_mara-meins.
          SPLIT t_final-bismt AT '*' INTO t_final-length t_final-breath.
          IF t_final-bismt = ''.
            t_final-size = ''.
          ELSE.
            t_final-size = t_vbrp-fkimg *  ( t_final-length * t_final-breath ) / 1000000.
          ENDIF.
        ENDIF.
        CLEAR t_konv.
        READ TABLE t_konv WITH KEY knumv = t_vbrk-knumv BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-kschl = t_konv-kschl.
        ENDIF.
        CLEAR t_likp.
        READ TABLE t_likp WITH KEY vbeln = t_vbrp-vgbel BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-lfdat = t_likp-lfdat.
          t_final-bldat = t_likp-bldat. " NEW CHANGE
          t_final-vbeln_kp = t_likp-vbeln.
        ENDIF.
        CLEAR t_ekko.
        READ TABLE t_ekko WITH KEY ebeln = t_vbrp-aubel BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-aedat = t_ekko-aedat.
        ENDIF.
        CLEAR t_t023t.
        READ TABLE t_t023t WITH KEY matkl = t_vbrp-matkl BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-wgbez = t_t023t-wgbez.
        ENDIF.
        CLEAR t_t001w.
        READ TABLE t_t001w WITH KEY werks = t_vbrp-werks BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-name1 = t_t001w-name1.
        ENDIF.
        CLEAR t_t001w2.
        READ TABLE t_t001w2 WITH KEY kunnr = t_vbrk-kunag BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-name21 = t_t001w2-name2.
        ENDIF.
        READ TABLE t_mvke WITH KEY matnr = t_vbrp-matnr BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-mvgr1 = t_mvke-mvgr1.
        ENDIF.
        READ TABLE t_tvm1t WITH KEY mvgr1 = t_mvke-mvgr1 BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-bezie = t_tvm1t-bezie.
        ENDIF.
    **********************modification additioon of chapter ID  30.04.2007
        READ TABLE t_j_1imtchid WITH KEY matnr = t_vbrp-matnr BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-j_1ichid = t_j_1imtchid-j_1ichid.
        ENDIF.
        READ TABLE t_j_1iexchdr WITH KEY rdoc = t_vbrp-vbeln
                                         werks = t_vbrp-werks
                                         BINARY SEARCH.
        IF sy-subrc = 0.
          t_final-exnum = t_j_1iexchdr-exnum.
          t_final-exdat = t_j_1iexchdr-exdat.
          t_final-rdoc  = t_j_1iexchdr-rdoc.
          t_final-werks = t_j_1iexchdr-werks.
        ENDIF.
    **************end of modification additioon of chapter ID  30.04.2007
        "******** START OF MODIFICATION KALIKA 26.07.2007.
        READ TABLE it_mseg INTO wa_mseg WITH KEY ebeln  = t_vbrp-aubel.
        IF sy-subrc = 0.
          t_final-mblnr = wa_mseg-mblnr.
        ENDIF.
        "INTO wa_mkpf
        READ TABLE it_mkpf WITH KEY mblnr  = t_final-mblnr
                                    tcode2 = 'MIGO_GR'.
        IF sy-subrc = 0.
          t_final-budat = it_mkpf-budat.
        ENDIF.
        APPEND t_final.
        CLEAR t_final.
      ENDLOOP.
      DELETE t_final[]   WHERE flag = 'A' OR flag = ''. "change by amit for reverse deliveries as rkp.
      DELETE t_final     WHERE fkdat = ' ' .
      DELETE t_final[]   WHERE kunag NOT IN recv_pnt.
      DELETE t_final[]   WHERE vstel NOT IN supp_pnt.
      DELETE t_final[]   WHERE fkart = 'JEX' AND exnum = ' '. " CHANGE BY KALIKA
      " FOR INVOICE WHOSE EXCISE NOT MAINTAINED
      IF t_final[] IS INITIAL.
        MESSAGE i002(zamit).
        LEAVE LIST-PROCESSING.
      ENDIF.
    *---------------MARM CALCULATION
      SORT t_marm BY matnr meinh.
      DELETE t_marm WHERE meinh = 'M2'.
      SORT t_marm BY matnr.
      LOOP AT t_final.
        READ TABLE t_marm WITH KEY matnr = t_final-matnr." T_MARM-MEINH <> 'M2'.
        t_final-bom = ( t_marm-umrez / t_marm-umren ).
        MODIFY t_final TRANSPORTING bom.
        t_final-mult = t_final-bom * t_final-fkimg.
        MODIFY t_final TRANSPORTING mult.
        CLEAR t_final.
      ENDLOOP.
    *--------------------delivery no.
    *-------------------beginning of adding na*******
      LOOP AT t_final.
        " *** change by kalika
        IF t_final-matkl EQ  'BWGRBBD'
      OR t_final-matkl = 'BWGRBPD'
      OR t_final-matkl = 'BWGRCLB'
      OR t_final-matkl = 'BWGRCMD'
      OR t_final-matkl = 'BWGRGFB'
      OR t_final-matkl = 'BWGRGFC'
      OR t_final-matkl = 'BWGRGFO'
      OR t_final-matkl = 'GRNLAM'
      OR t_final-matkl = 'DVNRTKBB'
      OR t_final-matkl = 'MRETBBD'
      OR t_final-matkl = 'MRGRBBD'
      OR t_final-matkl = 'MRGRCMD'
      OR t_final-matkl = 'MRRBBD'
      OR t_final-matkl = 'PLAMGBSD'
      OR t_final-matkl = 'BWETBBD'
      OR t_final-matkl = 'PLAMGOSD'.
    *  "LOOP AT t_final WHERE matkl = 'BWGRBBD'
    *OR matkl = 'BWGRBPD'
    *OR matkl = 'BWGRCLB'
    *OR matkl = 'BWGRCMD'
    *OR matkl = 'BWGRGFB'
    *OR matkl = 'BWGRGFC'
    *OR matkl = 'BWGRGFO'
    *OR matkl = 'GRNLAM'
    *OR matkl = 'DVNRTKBB'
    *OR matkl = 'MRETBBD'
    *OR matkl = 'MRGRBBD'
    *OR matkl = 'MRGRCMD'
    *OR matkl = 'MRRBBD'
    *OR matkl = 'PLAMGBSD'
    *OR matkl = 'BWETBBD'
    *OR matkl = 'PLAMGOSD'.
    *** change by kalika
          t_final-area =  ( t_final-size *  15 ) / 10 .
          MODIFY t_final TRANSPORTING area.
        ELSE.
          t_final-area = ( t_final-normt * t_final-size ) / 4.   "t_final-bom
          MODIFY t_final TRANSPORTING area.
        ENDIF.
      ENDLOOP.
      "*** change by kalika
      " ** start Division Specific FA & NA to be displayed by kalika
      LOOP AT t_final.
        IF t_final-spart = 'LM' .
          t_final-area = space.
        ENDIF.
        IF t_final-spart  = 'DD'.
          t_final-area = space.
        ENDIF.
        MODIFY t_final.
      ENDLOOP.
    * " ** end Division Specific FA & NA to be displayed by kalika
    *  LOOP AT t_final WHERE matkl = 'BWETPLY'
    *  OR matkl = 'BWGRCHQ'
    * OR matkl = 'BWGRCLP'
    * OR matkl = 'BWGRCMG'
    * OR matkl = 'BWGRFLX'
    * OR matkl = 'BWGRFRP'
    * OR matkl = 'BWGRGCP'
    * OR matkl = 'BWGRPCT'
    * OR matkl = 'BWGRPLY'
    * OR matkl = 'BWGRSHT'
    * OR matkl = 'MRGRPLY'
    * OR matkl = 'MRTPLY'.
    *    t_final-area = ( t_final-normt * t_final-bom ) / 4.
    *    MODIFY t_final.
    *  ENDLOOP.
    *-------------------ending of adding na**********
    ENDFORM.                                            " move_data.
    *                    data_fetching                            *
    FORM data_fetching.
    *------ASSESSIBLE VALUE
      SORT t_final BY knumv.
      SORT t_konv BY knumv kposn.
      CLEAR t_final.
      CLEAR t_konv.
      LOOP AT t_konv.
        IF t_konv-kschl = 'ZR02'.
          READ TABLE t_final WITH KEY knumv = t_konv-knumv posnr = t_konv-kposn.
          t_final-kwert1 = t_konv-kwert.
          t_final-kbetr = t_konv-kbetr.
          IF sy-tabix <> 0.
            MODIFY t_final  INDEX sy-tabix TRANSPORTING kwert1 kbetr.
            CLEAR t_final.
            CLEAR t_konv.
          ENDIF.
        ENDIF.
    *-----EXICESE
        IF t_konv-kschl = 'JEXP'.
          READ TABLE t_final WITH KEY knumv = t_konv-knumv posnr = t_konv-kposn.
          t_final-kwert2 = t_konv-kwert.
          IF sy-tabix <> 0.
            MODIFY t_final  INDEX sy-tabix TRANSPORTING kwert2.
            CLEAR t_final.
            CLEAR t_konv.
          ENDIF.
        ENDIF.
    *-------CESS
        IF t_konv-kschl = 'JECS'.
          READ TABLE t_final WITH KEY knumv = t_konv-knumv posnr = t_konv-kposn.
          t_final-kwert3 = t_konv-kwert.
          IF sy-tabix <> 0.
            MODIFY t_final  INDEX sy-tabix TRANSPORTING kwert3.
            CLEAR t_final.
            CLEAR t_konv.
          ENDIF.
        ENDIF.
    *-----ROUNDING
        IF t_konv-kschl = 'DIFF'.
          READ TABLE t_final WITH KEY knumv = t_konv-knumv posnr = t_konv-kposn.
          t_final-kwert4 = t_konv-kwert.
          IF sy-tabix <> 0.
            MODIFY t_final  INDEX sy-tabix TRANSPORTING kwert4.
            CLEAR t_final.
            CLEAR t_konv.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ****************TOTAL OF ALL VALUES
      LOOP AT t_final.
        t_final-total = t_final-kwert1 + t_final-kwert2 + t_final-kwert3 + t_final-kwert4.
        MODIFY t_final INDEX sy-tabix TRANSPORTING total .
        CLEAR t_final.
      ENDLOOP.
    *--------------delivery calculation.
      " start change by kalika
      DELETE t_final WHERE total = ' '. " BY KALIKA
      " end change by kalika
      LOOP AT t_final.
        t_temp-vbeln_k = t_final-vbeln_k.
        t_temp-vgbel = t_final-vgbel.
        t_temp-fkart = t_final-fkart.
        t_temp-kunag = t_final-kunag.
        APPEND t_temp.
        CLEAR t_temp.
      ENDLOOP.
      SORT t_temp DESCENDING BY vbeln_k  .
      SORT t_temp BY vgbel.
      LOOP AT t_final.
        READ TABLE t_temp WITH KEY vgbel = t_final-vgbel.
        t_final-vbeln_k = t_temp-vbeln_k.
    *---change by amit for validating migi date by amit
        if t_final-budat = 0.
          t_final-mblnr = ''.
          endif.
    *---change by amit for validating migi date by amit
        MODIFY t_final TRANSPORTING vbeln_k  mblnr.
        CLEAR t_final.
      ENDLOOP.
      " start KALIKA 30.06.2007.
      "SORT t_final STABLE DESCENDING by  fkart fkdat. "plz kalika do not forbid stable even it doent any effect this case but in future when large amount of data in production it will works.
      SORT t_final STABLE ASCENDING BY  fkart fkdat. "plz kalika do not forbid stable even it doent any effect this case but in future when large amount of data in production it will works.
      DATA: l_tabix TYPE sy-tabix.           " declare the sy-tabix as local variable
      DATA: l_lines TYPE sy-tabix.
      DATA: l_index TYPE sy-tabix.
      DESCRIBE TABLE t_final LINES  l_lines .       "The current number of table rows of the internal table itab is determined and is assigned to the data object lin
      CHECK l_lines > 1.                               " check lines are greater than 1
      LOOP AT t_final WHERE fkart = 'F8'.
        l_tabix = sy-tabix.                              " assine Index of Internal Tables into local var l_tabix
        l_index = l_tabix + 1.
        READ TABLE t_final INTO wa_sfinal1 INDEX l_index.  " read the temp table with index l_index
        IF sy-subrc = 0.
          CHECK t_final-vgbel = wa_sfinal1-vgbel AND t_final-knumv NE wa_sfinal1-knumv.
          IF sy-subrc =  0.
            t_final-w_flag = 'X'.
            MODIFY t_final TRANSPORTING w_flag.
          ENDIF.
        ENDIF.
      ENDLOOP.
      "DELETE ADJACENT DUPLICATES FROM t_final[] COMPARING fkart
      DELETE t_final[] WHERE w_flag = 'X'.
      " end KALIKA 30.06.2007.
    *--change by amit for performa invoice deletion
      DELETE t_final[] WHERE aedat = 0.
    ENDFORM.                                                  " sub_CAL
    *                       FORM ALV GET DATA FOR NOTIONAL AREA      *
    FORM alv_get_data .
      CLEAR it_fieldcat.
    ***************** SUPPLYING PLANT
    *  wa_fieldcat-col_pos    = '1'.                    " ALV O/P COL-1
      wa_fieldcat-fieldname  = 'VSTEL'.
      wa_fieldcat-seltext_m  = 'SUPPLYING PLANT'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      wa_fieldcat-tabname    = 'T_FINAL'.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ***************** SUPPLYING PLANT
    *  wa_fieldcat-col_pos    = '2'.                    " ALV O/P COL-1
      wa_fieldcat-fieldname  = 'NAME1'.
      wa_fieldcat-seltext_m  = 'SUPP PLANT DESCRTN'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 20.
      wa_fieldcat-tabname    = 'T_FINAL'.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ******************** RECEIVING PLANT
    *  wa_fieldcat-col_pos    = '3'.                     " ALV O/P COL-2
      wa_fieldcat-fieldname  = 'KUNAG'.
      wa_fieldcat-seltext_m  = 'RECEIVING PLANT'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ******************** RECEIVING PLANT
    *  wa_fieldcat-col_pos    = '4'.                     " ALV O/P COL-2
      wa_fieldcat-fieldname  = 'NAME21'.
      wa_fieldcat-seltext_m  = 'RECE PLNT DESCRTN'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ***************** BILL NUMBER
    *  wa_fieldcat-col_pos    = '5'.                     " ALV O/P COL-3
      wa_fieldcat-fieldname  = 'VBELN_K'.
      wa_fieldcat-seltext_m  = 'BILL NUMBER'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *******************BILL DATE
    *  wa_fieldcat-col_pos    = '6'.                     " ALV O/P COL-4
      wa_fieldcat-fieldname  = 'FKDAT'.
      wa_fieldcat-seltext_m  = 'BILL DATE'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *********** OUT BOUND DELIVERY NO
    *  wa_fieldcat-col_pos    = '7'.                     " ALV O/P COL-5
      wa_fieldcat-fieldname  = 'VGBEL'.
      wa_fieldcat-seltext_m  = 'OUT BOUND DELIVERY NO'.
      wa_fieldcat-just       = 'L'.
    * wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *********** OUT BOUND DELIVERY DATE
    **  wa_fieldcat-col_pos    = '8'.                     " ALV O/P COL-6
    *  wa_fieldcat-fieldname  = 'LFDAT'.
    *  wa_fieldcat-seltext_m  = 'OUT BOUND DELIVERY DATE'.
    *  wa_fieldcat-just       = 'L'.
    *  wa_fieldcat-tabname    = 'T_FINAL'.
    *  wa_fieldcat-outputlen  = 15.
    *  APPEND wa_fieldcat TO it_fieldcat.
    *  CLEAR wa_fieldcat.
      " *  wa_fieldcat-col_pos    = '8'.                     " ALV O/P COL-6
      wa_fieldcat-fieldname  = 'BLDAT'.
      wa_fieldcat-seltext_m  = 'DELIVERY DOC DATE'.  " NEW CHANGE
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ************* S.T.O. NO.
    *  wa_fieldcat-col_pos    = '9'.                     " ALV O/P COL-6
      wa_fieldcat-fieldname  = 'AUBEL'.
      wa_fieldcat-seltext_m  = 'S.T.O. NO.'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *********** S.T.O. DATE
    *  wa_fieldcat-col_pos    = '10'.                     " ALV O/P COL-6
      wa_fieldcat-fieldname  = 'AEDAT'.
      wa_fieldcat-seltext_m  = 'S.T.O. DATE'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ************ DIVISION
    *  wa_fieldcat-col_pos    = '11'.                     " ALV O/P COL-7
      wa_fieldcat-fieldname  = 'SPART'.
      wa_fieldcat-seltext_m  = 'DIVISION'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ********** MATERIAL CODE
    *  wa_fieldcat-col_pos    = '12'.                     " ALV O/P COL-9
      wa_fieldcat-fieldname  = 'MATNR'.
      wa_fieldcat-seltext_m  = 'MATERIAL CODE'.
      wa_fieldcat-just       = 'L'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 20.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ************ DESCRIPTION
    *  wa_fieldcat-col_pos    = '13'.                     " ALV O/P COL-10
      wa_fieldcat-fieldname  = 'ARKTX'.
      wa_fieldcat-seltext_m  = 'DESCRIPTION'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    **************MATERIAL TYPE
    *  wa_fieldcat-col_pos    = '14'.                     " ALV O/P COL-11
      wa_fieldcat-fieldname  = 'MTART'.
      wa_fieldcat-seltext_m  = 'MATERIAL TYPE'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ************MATERIAL GROUP
    *  wa_fieldcat-col_pos    = '15'.                     " ALV O/P COL-13
      wa_fieldcat-fieldname  = 'MATKL'.
      wa_fieldcat-seltext_m  = 'MATERIAL GROUP'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *******************modification additioon of chapter ID  30.04.2007
    ******************chapterID
    *  wa_fieldcat-col_pos    = '32'.                  " ALV O/P COL-27'.
      wa_fieldcat-fieldname  = 'J_1ICHID'.
      wa_fieldcat-seltext_m  = 'CHAPTER-ID'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *  wa_fieldcat-col_pos    = '33'.                  " ALV O/P COL-27'.
      wa_fieldcat-fieldname  = 'EXNUM'.
      wa_fieldcat-seltext_m  = 'EXCISE DOC.NO.'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *  wa_fieldcat-col_pos    = '34'.                  " ALV O/P COL-27'.
      wa_fieldcat-fieldname  = 'EXDAT'.
      wa_fieldcat-seltext_m  = 'EXCISE DOC.DATE'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ***************end of modification additioon of chapter ID  30.04.2007
    *********SUB GROUP
    *  wa_fieldcat-col_pos    = '16'.                     " ALV O/P COL-13
      wa_fieldcat-fieldname  = 'MVGR1'.
      wa_fieldcat-seltext_m  = 'SUB GROUP'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *  wa_fieldcat-col_pos    = '16'.                     " ALV O/P COL-13
      wa_fieldcat-fieldname  = 'BEZIE'.
      wa_fieldcat-seltext_m  = 'SUB GROUP DISCRP'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ***************GROUP DISCRIPTION
    *  wa_fieldcat-col_pos    = '17'.                     " ALV O/P COL-14
      wa_fieldcat-fieldname  = 'WGBEZ'.
      wa_fieldcat-seltext_m  = 'GROUP DISCRIPTION'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *****************FINISH
    *  wa_fieldcat-col_pos    = '18'.                     " ALV O/P COL-15
      wa_fieldcat-fieldname  = 'WRKST'.
      wa_fieldcat-seltext_m  = 'FINISH'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *****************sale u o m
    *  wa_fieldcat-col_pos    = '19'.                     " ALV O/P COL-15
      wa_fieldcat-fieldname  = 'VRKME'.
      wa_fieldcat-seltext_m  = 'SALE U O M'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *****************BASE u o m
    *  wa_fieldcat-col_pos    = '19'.                     " ALV O/P COL-15
      wa_fieldcat-fieldname  = 'MEINS'.
      wa_fieldcat-seltext_m  = 'BASE U O M'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    **************DESIGN NO.
    *  wa_fieldcat-col_pos    = '20'.                     " ALV O/P COL-17
      wa_fieldcat-fieldname  = 'EXTWG'.
      wa_fieldcat-seltext_m  = 'DESIGN NO.'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *****************CATEGORY
    *  wa_fieldcat-col_pos    = '21'.                     " ALV O/P COL-18
      wa_fieldcat-fieldname  = 'LABOR'.
      wa_fieldcat-seltext_m  = 'CATEGORY'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    **************THICKNESS
    *  wa_fieldcat-col_pos    = '22'.                     " ALV O/P COL-19.
      wa_fieldcat-fieldname  = 'NORMT'.
      wa_fieldcat-seltext_m  = 'THICKNESS'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    **************SIZE
    *  wa_fieldcat-col_pos    = '23'.                      " ALV O/P COL-20.
      wa_fieldcat-fieldname  = 'BISMT'.
      wa_fieldcat-seltext_m  = 'SIZE'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ****************BILLED QTY
    *  wa_fieldcat-col_pos    = '24'.                    " ALV O/P COL-21.
      wa_fieldcat-fieldname  = 'FKIMG'.
      wa_fieldcat-seltext_m  = 'BILLED QTY'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    **************RETE
    *  wa_fieldcat-col_pos    = '26'.                    " ALV O/P COL-21.
      wa_fieldcat-fieldname  = 'BOM'.
      wa_fieldcat-seltext_m  = 'CONVERSION RATE'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ******************MULT
    *  wa_fieldcat-col_pos    = '32'.                  " ALV O/P COL-27'.
      wa_fieldcat-fieldname  = 'MULT'.
      wa_fieldcat-seltext_m  = 'BILLED QTY IN BUM'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    **************RETE
    *  wa_fieldcat-col_pos    = '25'.                    " ALV O/P COL-21.
      wa_fieldcat-fieldname  = 'KBETR'.
      wa_fieldcat-seltext_m  = 'RATE / BASE UOM'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    **************ASSESSIBLE VALUE
    *  wa_fieldcat-col_pos     = '27'.                    " ALV O/P COL-22.
      wa_fieldcat-fieldname   = 'KWERT1'.
      wa_fieldcat-seltext_m   = 'ASSESSIBLE VALUE'.
      wa_fieldcat-tabname     = 'T_FINAL'.
      wa_fieldcat-just        = 'R'.
      wa_fieldcat-no_zero(1)  = 'X'.
      wa_fieldcat-outputlen   = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ****************EXCISE
    *  wa_fieldcat-col_pos    = '28'.                     " ALV O/P COL-23.
      wa_fieldcat-fieldname  = 'KWERT2'.
      wa_fieldcat-seltext_m  = 'EXCISE'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    *****************CESS
    *  wa_fieldcat-col_pos    = '29'.                      " ALV O/P COL-24.
      wa_fieldcat-fieldname  = 'KWERT3'.
      wa_fieldcat-seltext_m  = 'CESS'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ******************ROUNDING
    *  wa_fieldcat-col_pos    = '30'.                    " ALV O/P COL-26.
      wa_fieldcat-fieldname  = 'KWERT4'.
      wa_fieldcat-seltext_m  = 'ROUNDING'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ******************TOTAL
    *  wa_fieldcat-col_pos    = '31'.                  " ALV O/P COL-27'.
      wa_fieldcat-fieldname  = 'TOTAL'.
      wa_fieldcat-seltext_m  = 'TOTAL'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname  = 'AREA'.
      wa_fieldcat-seltext_m  = 'NA'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname  = 'MBLNR'.
      wa_fieldcat-seltext_m  = 'MIGO NO'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname  = 'BUDAT'.
      wa_fieldcat-seltext_m  = 'MIGO DATE'.
      wa_fieldcat-just       = 'R'.
      wa_fieldcat-tabname    = 'T_FINAL'.
      wa_fieldcat-no_zero(1) = 'X'.
      wa_fieldcat-outputlen  = 15.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    ENDFORM.                                                       " ALV_GET_DATA
    *                            FORM ALV_GRID                                  *
    FORM alv_grid .
      PERFORM fill_list_header USING it_top_of_page[].
      PERFORM event-build USING gt_events[].
      PERFORM fill_layout USING ls_layout.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = sy-repid
          is_layout          = ls_layout
          it_fieldcat        = it_fieldcat
          it_events          = gt_events[]
          i_save             = 'A'
        TABLES
          t_outtab    

  • Report for material documents with storage location

    Hi gurus,
    I would like to know if there is a report to display material documents but in the same screen display storage location from and storage location dest.
    Thanks for your help.
    Regards.

    Hi,
    You can use MB51 or MB59 with customised layout selection for your requirement.
    With regards,
    Ajay.

Maybe you are looking for

  • How to read ZIP from Source System

    Hi frnds, In my sender side i have Zip file, I need to read from source directory, File adapter will provide option to read Zip file?? if i want to generate out put in ZIP format is it possible?? tell me what are necessary steps required?? Regards Ra

  • Document size changes when creating pdf from jpeg

    When I create a pdf from a jpeg file, the document size increases considerably. The native jpeg was saved in the "save to web" feature in Photoshop. I cannot find settings in ImageReady or Acrobat to make my document the correct size. Any suggestions

  • How to recover videos from trash on iPad

    How do u recover videos from trash on ipad

  • Submitting PDF Forms

    I have a PDF form created for my service techs that has reader extended features. When the submit button is selected, I would like for the completed form to be attached to the email in a PDF image (non-editable). Currently it is received as an editab

  • Starting workflow from WB (java)

    Hi there WD guru's, I am new on Web Dynpro (WD) and i do have some questions. What i have to realise is when the WD fields are filled in and the user pushed the "submit" button there need to be a workflow started in R/3. What i have in mind is this: