ALE for material

I am doing ALE to transfer Material from one server to another using BD10. But I am facing some problem in that.
I am describing the process that I follow for ALE.
I have done following things.
1.Define Logical systems SYS1 & SYS2
2.Assign client to logical system
There I have create 1 client 210 Which will be receiving client. Here I mention Logical system name as SYS2. Client Role as Test.
One client 505 was existing I just change Logical System name to SYS1. Client Role as Test.
Save & back
3.Define Target Systems for RFC Calls
Here in R/3 connections create SYS1 & SYS2 connections.
Details About SYS1 :-
Under Technical settings
RFC Destination SYS1
connection type 3
Description Sending Client
IP address of the sender client 128.6.6.206
System No 00
Under Login Security
Client details of the receiver client.
Details About SYS2 :-
Under Technical settings
RFC Destination SYS2
connection type 3
Description Rceiving Client
IP address of the sender client 128.6.6.111
System No 00
Under Login Security
Client details of the Sending client.
Then SAVE & check remote login. It is successful for both clients.
After that BD64
Create a model view MV01
Then Add message type.
Here mention Sender as SYS1, Receiver SYS2 & message type as MATMAS.
Then select Environment menu & select GENERATE ARTNER PROFILE. Modelview name was already there & as PARTNER SYSTEM mention SYS2.
After saying execute
System SYS1 as a partner type already exists                                                                               
System SYS2 as a partner type already exists                                                                               
Port A000000017 with RFC destination SYS2 already exists         
Outbound parameters for message type MATMAS MATMAS05 already exist
Outbound parameters for message type SYNCH SYNCHRON already exist
But when I do this for first time I got success message.
Today I tried with new model view
SAVEd IT.
same message when generate artner profile selected. After I select DISTRIBUTE from EDIT menu, system display select receiver of model view there Selct SYS2
Getting following message in RED color.
Outbound parameters for message type MATMAS MATMAS05 already exist
Outbound parameters for message type SYNCH SYNCHRON already exist 
Kindly suggest where I am going wrong.
Message was edited by: Diliip Gupchup

Hello Kamal,
I am gettting following messages in POPUP type I
1)<b>1 master IDocs set up for message type MATMAS</b>
2)<b>1 communication IDoc(s) generated for message type</b>MATMAS
Is step ro distribute moelview is necessary?
There I am getting error message in RED COLOR
<b>
Model view ZMV01 has not been updated                   
Rreason: Distribution model is currently being processed
</b>
Kindly suggest what should be my next step in receiving client because I am able to see the inbound idocs in sending client not in receiving client (TCODE WE02).
When I check the IDOC status it is with status 03.
Regards,
Dilip
Message was edited by: Diliip Gupchup

Similar Messages

  • ALE for material master (matmas)

    HI Experts
    When a material master description is changed, i need to get a change pointer triggered. For this puroose, in BD52, which table field i need to map?
    In addition to this, why MATERIAL-MARA-KEY is required in BD52?
    Thanks
    ramSiva

    hello marias,
    for material descriptio you should use:
    MATERIAL     DMAKT     MAKTX
    for the second question, field "KEY" is a reference for new reccords,
    hope it helps,

  • ALE/IDOC material regd

    Can you please provide me some useful material on ALE and iDocs

    Hai Sreenivas
    Go through the following Links
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/ale/configuration.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapdevelopment.co.uk/training
    http://www.sapgenie.com/ale/why_ale.htm
    http://www.sapdevelopment.co.uk/training
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    Go through the following Steps For ALE/IDOC
    ALE IDOC
    Sending System(Outbound ALE Process)
    Tcode SALE ? for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode  BD64 ? Create Model View
    Tcode  BD82 ? Generate partner Profiles & Create Ports
    Tcode  BD64 ? Distribute the Model view
    Message Type MATMAS
    Tcode BD10 ? Send Material Data
    Tcode WE05 ? Idoc List for watching any Errors
    Receiving System(Inbound ALE )
    Tcode SALE ? for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 ? Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 ? Idoc List for inbound status codes
    ALE IDOC Steps
    Sending System(Outbound ALE Process)
    Tcode SALE ?3 for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 !V Create Model View
    Tcode BD82 !V Generate partner Profiles & Create Ports
    Tcode BD64 !V Distribute the Model view
    This is Receiving system Settings
    Receiving System(Inbound ALE )
    Tcode SALE ?3 for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 !V Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 !V Idoc List for inbound status codes
    Message Type MATMAS
    Tcode BD10 !V Send Material Data
    Tcode WE05 !V Idoc List for watching any Errors
    1)a Goto Tcode SALE
    Click on Sending & Receiving Systems-->Select Logical Systems
    Here Define Logical Systems---> Click on Execute Button
    go for new entries
    1) System Name : ERP000
    Description : Sending System
    2) System Name : ERP800
    Description : Receiving System
    press Enter & Save
    it will ask Request
    if you want new request create new Request orpress continue for transfering the objects
    B) goto Tcode SALE
    Select Assign Client to Logical Systems-->Execute
    000--> Double click on this
    Give the following Information
    Client : ERP 000
    City :
    Logical System
    Currency
    Client role
    Save this Data
    Step 2) For RFC Creation
    Goto Tcode SM59-->Select R/3 Connects
    Click on Create Button
    RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles
    give the information for required fields
    RFC Destination : ERP800
    Connection type: 3
    Description
    Target Host : ERP000
    System No:000
    lan : EN
    Client : 800
    User : Login User Name
    Password:
    save this & Test it & RemortLogin
    3)
    Goto Tcode BD64 -- click on Change mode button
    click on create moduleview
    short text : xxxxxxxxxxxxxx
    Technical Neme : MODEL_ALV
    save this & Press ok
    select your just created modelview Name :'MODEL_ALV'.
    goto add message type
    Model Name : MODEL_ALV
    sender : ERP000
    Receiver : ERP800
    Message type :MATMAS
    save & Press Enter
    4) Goto Tcode BD82
    Give Model View : MODEL_ALV
    Partner system : ERP800
    execute this by press F8 Button
    it will gives you sending system port No :A000000015(Like)
    5) Goto Tcode BD64
    seelct the modelview
    goto >edit>modelview-->distribute
    press ok & Press enter
    6)goto Tcode : BD10 for Material sending
    Material : mat_001
    Message Type : MATMAS
    Logical System : ERP800
    and Execute
    7)goto Tcode : BD11 for Material Receiving
    Material : mat_001
    Message Type : MATMAS
    and Execute --> 1 request idoc created for message type Matmas
    press enter
    Here Master Idoc set for Messge type MATMAS-->press Enter
    1 Communication Idoc generated for Message Type
    this is your IDOC
    Change Pointers
    I know how to change the description of a material using ALE Change Pointers.
    I will give the following few steps
    1) Tcode BD61---> check the change pointers activated check box
            save and goback.
    2) Tcode BD50--->  check the MATMAS check box save and comeback.
    3) Tcode BD51--->  goto IDOC_INPUT_MATMAS01 select the checkbox save and comeback.
    4) Tcode BD52--->  give message type : matmas press ok button.
       select all  what ever you want and delete remaining fields.
       save & come back.
    5) 5) go to Tcode MM02 select one material and try to change the description and save it
       it will effects the target systems material desciption will also changes
    6) goto Tcode SE38 give program Name is : RBDMIDOC and Execute
       give Message type : MATMAS and Executte
    ALE/IDOC Status Codes/Messages
    01 Error --> Idoc Added
    30 Error --> Idoc ready for dispatch(ALE Service)
    then goto SE38 --> Execute the Program RBDMIDOC
    29 Error --> ALE Service Layer
    then goto SE38 --> Execute the Program RSEOUT00
    03 Error --> Data Passed to Port ok
    then goto SE38 --> Execute the Program RBDMOIND
    12 Error --> Dispatch ok
    Inbound Status Codes
    50 Error --> It will go for ALE Service Layer
    56 Error --> Idoc with Errors added
    51 Error --> Application Document not posted
    65 Error --> Error in ALE Service Layer
    for 51 or 56 Errors do the following steps
    goto WE19 > give the IDOC Number and Execute>
    Press on Inbound function Module
    for 65 Error --> goto SE38 --> Execute the Program RBDAPP01 then your getting 51 Error
    Thanks & regards
    Sreenivasulu P

  • Change Documents for Material Classification data Changes

    Dear Friends,
    We have configured custom classification objects for material master and also we are able to maintain the material characteristics using MM01, MM02 and also using ALE interface. But I am not able to find the Change Documents in any of the table CDHDR & CDPOS. Please let me know what needs to be done to capture the change documents for a material classification changes in this case.
    Many thanks for you inadvance.
    Beast regards,
    Mallikarjun.

    Change logging of all Classification (including Material Classification) is controlled in the Class type configuration.
    SPRO -> Cross Application Components -> Classification System -> Classes -> Maintain Object types and Class types -> Select Object Table = MARA -> Double Click Class Types under MARA -> Select Class Type 001 and Display -> Check whether "Change Docs" check box is checked on.
    Also check that another flag "Chg. docs for Class" is set on all Objects under the Class type too (by double clicking the Objects folder for a Class type).
    If the Change docs flag is checked on for the relevant Class type and Object then change docs are logged in CDHDR and CDPOS tables for object "CLASSIFY"
    Also the "Change docs" flag cannot be set unless the "Multiple objects allowed" flag is also set in the Class type configuration.
    Please refer [SAP Note 65124 - Classification Change Documents|https://service.sap.com/sap/support/notes/65124]
    Also the above note says and I quote: If "Multiple objects allowed" indicator is not set, start the RCCLUKA2 program. The classification data are converted and the indicator 'Multiple object types allowed' is set. Now you can set the indicator 'Change documents' in Customizing of the class type. However, it only says that change documents are generally possible for this class type. Therefore you have to select objects under 'OBJECTS' for which the change documents are to be written.
    So if the Class type doesn't have "Multiple objects allowed" set (along with Change docs flag not set), there is also a conversion that needs to be run using program RCCLUKA2.
    Also when you transport the configuration to a target system, the program RCCLUKA2 should be run again, refer [Note 379180 - Classification data disappeared|https://service.sap.com/sap/support/notes/379180 ]

  • User exits for Material Master in ECC 6.0

    Hello,
    We would like to have a function for checking descriptions when we are saving a material in the material master. We are today running R/3 on release 4.6C and as I understad there are no user exits at that point for this release. We are going to do an upgrade to ECC 6. Do you know if there are more user exits for the material master for this release?
       Regards
       Ann-Sofie

    Following are the user exists available for Material master :-
    -> MGA00001
          Enhancement and addition of checks and (limited) changes to data
    -> MGA00002
         Control for the material number assignment
    -> MGA00003
         Control for the material number display
    -> MGV00001
         Distribution via ALE
    -> MGV00002
         Read customer-specific filter objects for a material

  • ALE IDOC - Material Master

    Hi,
    I have triggered Idocs for material master changes.
    For some materials, the material description is blank in idocs,however; we have the material description data in SAP.
    I have checked the changes in material master, the changes made for material description also on the respective date.
    Plesae let me know the cause of sending the material changed record with the description as blank.
    Please consider it as a priority basis and help me.
    Regards,
    Usha.
    Edited by: Usha Rani Achana on Apr 22, 2010 10:18 AM

    >
    Usha Rani Achana wrote:
    > Hi,
    >
    > I have triggered Idocs for material master changes.
    > For some materials, the material description is blank in idocs,however; we have the material description data in SAP.
    >
    > I have checked the changes in material master, the changes made for material description also on the respective date.
    >
    > Plesae let me know the cause of sending the material changed record with the description as blank.
    >
    > Please consider it as a priority basis and help me.
    >
    >
    > Regards,
    > Usha.
    >
    > Edited by: Usha Rani Achana on Apr 22, 2010 10:18 AM
    I have loaded hundredthousands of materials via ALE method and never experienced a loss of material description.
    If that would be the case, and you really just using the SAP standard, then you should open a message at SAP.
    MAybe you implemented OSS Note 1364357 - Defined language for material master transfer
    and then restricted the transfer to a certain language only.

  • Idoc for Material Change

    Hi Experts,
    The requirement is to receive a standard Idoc for material change and trigger the material creation process in case the material does not exist.
    Secondly, what is the Idoc for material change?
    Thanks and Regards,
    Ravi

    Hi,
    Go through the following Steps for Creating IDoc Via ALE
    ALE IDOC
    Sending System(Outbound ALE Process)
    Tcode SALE ? for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 ? Create Model View
    Tcode BD82 ? Generate partner Profiles & Create Ports
    Tcode BD64 ? Distribute the Model view
    Message Type MATMAS
    Tcode BD10 ? Send Material Data
    Tcode WE05 ? Idoc List for watching any Errors
    Receiving System(Inbound ALE )
    Tcode SALE ? for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 ? Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 ? Idoc List for inbound status codes
    ALE IDOC Steps
    Sending System(Outbound ALE Process)
    Tcode SALE ?3 for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 !V Create Model View
    Tcode BD82 !V Generate partner Profiles & Create Ports
    Tcode BD64 !V Distribute the Model view
    This is Receiving system Settings
    Receiving System(Inbound ALE )
    Tcode SALE ?3 for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 !V Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 !V Idoc List for inbound status codes
    Message Type MATMAS
    Tcode BD10 !V Send Material Data
    Tcode WE05 !V Idoc List for watching any Errors
    1)a Goto Tcode SALE
    Click on Sending & Receiving Systems-->Select Logical Systems
    Here Define Logical Systems---> Click on Execute Button
    go for new entries
    1) System Name : ERP000
    Description : Sending System
    2) System Name : ERP800
    Description : Receiving System
    press Enter & Save
    it will ask Request
    if you want new request create new Request orpress continue for transfering the objects
    B) goto Tcode SALE
    Select Assign Client to Logical Systems-->Execute
    000--> Double click on this
    Give the following Information
    Client : ERP 000
    City :
    Logical System
    Currency
    Client role
    Save this Data
    Step 2) For RFC Creation
    Goto Tcode SM59-->Select R/3 Connects
    Click on Create Button
    RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles
    give the information for required fields
    RFC Destination : ERP800
    Connection type: 3
    Description
    Target Host : ERP000
    System No:000
    lan : EN
    Client : 800
    User : Login User Name
    Password:
    save this & Test it & RemortLogin
    3)
    Goto Tcode BD64 -- click on Change mode button
    click on create moduleview
    short text : xxxxxxxxxxxxxx
    Technical Neme : MODEL_ALV
    save this & Press ok
    select your just created modelview Name :'MODEL_ALV'.
    goto add message type
    Model Name : MODEL_ALV
    sender : ERP000
    Receiver : ERP800
    Message type :MATMAS
    save & Press Enter
    4) Goto Tcode BD82
    Give Model View : MODEL_ALV
    Partner system : ERP800
    execute this by press F8 Button
    it will gives you sending system port No :A000000015(Like)
    5) Goto Tcode BD64
    seelct the modelview
    goto >edit>modelview-->distribute
    press ok & Press enter
    6)goto Tcode : BD10 for Material sending
    Material : mat_001
    Message Type : MATMAS
    Logical System : ERP800
    and Execute
    7)goto Tcode : BD11 for Material Receiving
    Material : mat_001
    Message Type : MATMAS
    and Execute --> 1 request idoc created for message type Matmas
    press enter
    Here Master Idoc set for Messge type MATMAS-->press Enter
    1 Communication Idoc generated for Message Type
    this is your IDOC
    Change Pointers
    I know how to change the description of a material using ALE Change Pointers.
    I will give the following few steps
    1) Tcode BD61---> check the change pointers activated check box
    save and goback.
    2) Tcode BD50---> check the MATMAS check box save and comeback.
    3) Tcode BD51---> goto IDOC_INPUT_MATMAS01 select the checkbox save and comeback.
    4) Tcode BD52---> give message type : matmas press ok button.
    select all what ever you want and delete remaining fields.
    save & come back.
    5) 5) go to Tcode MM02 select one material and try to change the description and save it
    it will effects the target systems material desciption will also changes
    6) goto Tcode SE38 give program Name is : RBDMIDOC and Execute
    give Message type : MATMAS and Executte
    ALE/IDOC Status Codes/Messages
    01 Error --> Idoc Added
    30 Error --> Idoc ready for dispatch(ALE Service)
    then goto SE38 --> Execute the Program RBDMIDOC
    29 Error --> ALE Service Layer
    then goto SE38 --> Execute the Program RSEOUT00
    03 Error --> Data Passed to Port ok
    then goto SE38 --> Execute the Program RBDMOIND
    12 Error --> Dispatch ok
    Inbound Status Codes
    50 Error --> It will go for ALE Service Layer
    56 Error --> Idoc with Errors added
    51 Error --> Application Document not posted
    65 Error --> Error in ALE Service Layer
    for 51 or 56 Errors do the following steps
    goto WE19 > give the IDOC Number and Execute>
    Press on Inbound function Module
    for 65 Error --> goto SE38 --> Execute the Program RBDAPP01 then your getting 51 Error.
    hope this helps you.
    plz reward if useful.
    thanks,
    dhanashri.

  • Idoc for material characteristics

    Hi Friends,
    I know the IDoc message type for material batch characteristics (SKU_COLOR , SKU_SIZE , SKU_WINDOW, etc.,) is CLFMAS. Does anybody know the message and basic type for Material characteristics (ART_WIDTH , ART_DEPTH , ART_HEIGHT, etc.,) ?
    Regards,
    Dikshitha G

    Hi,
    You need to do the ALE confguration for change pointers of materials to trigger the idoc. Please search in SCN , you will find information reagrding change pointers of Idoc.
    Regards,
    Nagaraj

  • Report for material with sloc,qty available, and production order

    hi friends, i need advice on getting this report for material with qty and specific sloc with the corresponding Prodn order numbers. in mb51 i could get all these details except the prodn order no. could you advice me please?

    to make sure you know how to do this.
    In the material document list, hit "Ctrl+F8" on your keyboard.
    A window will pop up. Click on the button position and look for "order" in the list of available fields. That should do it.
    Rgds.

  • Longer time for Material Availability check while creation of prd order.

    Hi guys,
    I am facing a weird problem while creating production orders thru CO01.
    I enter the component and plant and I am also using the forward scheduling option.
    for some reason, SAP is taking a long time for material availability check when I hit the release button.
    Sometimes its taking more than an hour. Its happening with few specific BOM's, and I have checked the master data but I could hardly find a problem in master data.
    Can someone suggest me some tips ??
    Thanks & Regards,
    Sashivardhan

    Hi,
    Please check the Availability check control maintained for Components it should be 01 or 02. Also check the issue storage location maintained or not. You can maintain issue storage location in BOM in Status/lng text tab in Production Storage Location.
    Hope this will help.
    Regards,
    Navin

  • Report for material  which not consumed during C015

    HI ALL,
    "I required a report for material which material are not
    consumed at C015 production confirmation time against actual consumation (order wise , part no wise & date wise )"
    its v urgent
    good suggesstion reward with valuable points.

    Amit,
    I think your problem is that you want to monitor when users are deleting the goods issue while confirmation. So you would have to know if for a confirmation qty of 100, the planned consumption should have been 100 but the actual consuption is 50.
    So you would want to relate the confirmation qty with the planned and actual consumption.
    In COOIS Remt, qty and Withdrawal qty will show the total reqmt and actual withdrwal. Hope this will not be helpful if I understand correctly.
    You have to create a simple query joining tables AFVV with RESB. Calculate the planned consuption for the confirmation qty. This along with the actual consuption will help to give what you are looking for.
    I am right ?
    Ram

  • MB5L Report Discrepacy for Material and Stock Account Currency

    I have found in the MB Report Discrepancy for Material and Stock Account Currency. Why is this happening? Why is there a variance between total price in materials and stock account? Anyone please help me. I'm abaper but now been pushed to do logistic. I need help for this issue.

    Hi,
    Here's some information from help. Variances can occur for the following reasons:
    You have entered postings to the stock account manually.
    The stock account includes not only stock postings, but also other postings. In this case, you should check the account determination in the Customizing for Valuation and Account Assignment. Make sure that the stock accounts are used solely for the transaction key BSX (stock postings).
    Check Account Determination - OMWB
    The account assignment for the stock accounts (transaction key BSX) was changed during productive operation; the respective stocks, however, were not deducted from the old account (movement type 562) and posted to the new one (movement type 561).
    Cheers !

  • 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    

  • Regarding report for material status

    HI All,
    Can u guys pls help me thre is an error in the report
    which iam presenting now. The error is that iam getting
    the output for units in simple report is 'PC' and iam getting the out put for units in ALV as 'ST'.
    why, i need an immediate reply.
    *& Report  ZSTOCKDETAILS4                                              *
    REPORT  zstockdetails4         NO STANDARD PAGE HEADING
                                   LINE-SIZE 160
                                   LINE-COUNT 60(3).
                  tables declaration                 *
    TABLES : mara,        "general material data
             marc,        "plant data for material
             mard,        "storage location data for material
             makt.        "material description
    TYPE-POOLS : slis.
                 internal table declaration             *
    TYPES : BEGIN OF ty_mara,
            matnr TYPE matnr,
            mtart TYPE mtart,
            meins TYPE meins,
            END OF ty_mara.
    TYPES : BEGIN OF ty_marc,
            matnr TYPE matnr,
            werks TYPE werks,
            END OF ty_marc.
    TYPES : BEGIN OF ty_mard,
            matnr TYPE matnr,
            werks TYPE werks,
            lgort TYPE lgort_d,
            labst TYPE labst,
            END OF ty_mard.
    TYPES : BEGIN OF ty_makt,
            matnr TYPE matnr,
            maktx TYPE maktx,
            END OF ty_makt.
    DATA:t_mara TYPE TABLE OF ty_mara WITH HEADER LINE,
         t_marc TYPE TABLE OF ty_marc WITH HEADER LINE,
         t_mard TYPE TABLE OF ty_mard WITH HEADER LINE,
         t_makt TYPE TABLE OF ty_makt WITH HEADER LINE.
    PARAMETER : p_alv AS CHECKBOX DEFAULT 'X'.
                    final internal table                    *
    TYPES : BEGIN OF ty_out,
            matnr TYPE matnr,
            werks TYPE werks,
            lgort TYPE lgort_d,
            labst TYPE labst,
            meins TYPE meins,
            mtart TYPE mtart,
            maktx TYPE maktx,
            END OF ty_out.
    DATA:t_out TYPE TABLE OF ty_out WITH HEADER LINE.
                 DATA DECLARATION FOR ALV                          *
    DATA : fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
           gd_repid LIKE sy-repid,
           gd_layout TYPE slis_layout_alv,
           gd_tab_group TYPE slis_t_sp_group_alv,
           gt_list_top_of_page TYPE slis_t_listheader,
           it_sortcat TYPE slis_sortinfo_alv OCCURS 1,
           wa_sort LIKE LINE OF it_sortcat.
                  selection screen                                 *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_werks FOR marc-werks OBLIGATORY,
                     s_matnr FOR mara-matnr,
                     s_mtart FOR mara-mtart,
                     s_lgort FOR mard-lgort.
    SELECTION-SCREEN END OF BLOCK b1.
                 start-of-selection                                 *
    START-OF-SELECTION.
      SELECT matnr mtart meins
                  FROM mara
                    INTO TABLE t_mara
                     WHERE matnr IN s_matnr
                     AND mtart IN s_mtart.
      SORT t_mara BY matnr.
      SELECT matnr werks
                  FROM marc
                  INTO TABLE t_marc
                  FOR ALL ENTRIES IN t_mara
                  WHERE matnr = t_mara-matnr
                  AND werks IN s_werks.
      SORT t_marc BY matnr.
      SELECT matnr  lgort labst
                FROM mard
                INTO CORRESPONDING FIELDS OF TABLE t_mard
                FOR ALL ENTRIES IN t_mara
                WHERE matnr = t_mara-matnr
                AND lgort IN s_lgort.
      SORT t_mard BY matnr.
      LOOP AT t_mara.
        READ TABLE t_marc WITH KEY matnr = t_mara-matnr BINARY SEARCH.
       READ TABLE t_mard WITH KEY matnr = t_mara-matnr BINARY SEARCH.
        MOVE : t_mara-matnr TO t_out-matnr.
        MOVE : t_mara-mtart TO t_out-mtart.
        MOVE : t_mara-meins TO t_out-meins.
        MOVE : t_marc-werks TO t_out-werks.
       MOVE : t_mard-lgort TO t_out-lgort.
       MOVE : t_mard-labst TO t_out-labst.
        SELECT SINGLE matnr maktx
                    FROM makt
                    INTO CORRESPONDING FIELDS OF makt
                    WHERE matnr = t_mara-matnr.
        MOVE-CORRESPONDING makt TO t_out.
        LOOP AT t_mard WHERE matnr = t_mara-matnr.
          MOVE : t_mard-lgort TO t_out-lgort.
          MOVE : t_mard-labst TO t_out-labst.
          APPEND t_out.
          CLEAR : t_out-lgort, t_out-labst.
        ENDLOOP.
        CLEAR t_out.
      ENDLOOP.
      SORT t_out BY werks lgort matnr.
      IF
      p_alv = 'X'.
        PERFORM build_fieldcatalog.
        PERFORM display_alv_report.
      ELSE.
        DATA: tot_lgort TYPE labst,
        tot_werks TYPE labst,
        tot TYPE labst.
        LOOP AT t_out.
          NEW-LINE.
          WRITE :/ sy-vline,  t_out-matnr,
                  15 t_out-werks,
                  35 t_out-lgort,
                  45 t_out-labst,
                  85 t_out-meins,
                 100 t_out-mtart,
                 120 t_out-maktx,160 sy-vline.
          tot_lgort = tot_lgort + t_out-labst.
          tot_werks = tot_werks + t_out-labst.
          tot = tot + t_out-labst.
          AT LAST.
            ULINE.
            WRITE : / 'THE GRAND TAOTAL IS', 52 tot.
          ENDAT.
        ENDLOOP.
      ENDIF.
                           TOP-OF-PAGE                            *
    TOP-OF-PAGE.
      ULINE.
      WRITE : sy-vline, 'MATERIAL',
              15 'PLANT',
              32 'STOR LOC',
              56 'STOCK',
              80 'UNITS',
              95 'MAT TYPE',
             115 'MAT DESCR',160 sy-vline.
      ULINE.
    *&      Form  build_fieldcatalog
          text
    FORM build_fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    fieldcatalog-do_sum      = 'X'.
    fieldcatalog-no_zero     = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname  =  'WERKS'.
      fieldcatalog-seltext_m  =  'Plant'.
      fieldcatalog-col_pos    =  1.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR fieldcatalog.
      fieldcatalog-fieldname =  'LGORT'.
      fieldcatalog-seltext_m  =  'Storage Location'.
      fieldcatalog-col_pos    =  2.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR fieldcatalog.
      fieldcatalog-fieldname =  'LABST'.
      fieldcatalog-seltext_m  =  'Stock'.
      fieldcatalog-col_pos    =  3.
      fieldcatalog-outputlen  =  15.
      fieldcatalog-do_sum     =  'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR fieldcatalog.
      fieldcatalog-fieldname =  'MEINS'.
      fieldcatalog-seltext_m  =  'Unit of Measure'.
      fieldcatalog-col_pos    =  4.
    fieldcatalog-datatype   =  'PC'.
    fieldcatalog-reptext_ddic  = 'Unit of Measure'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR fieldcatalog.
      fieldcatalog-fieldname =  'MTART'.
      fieldcatalog-seltext_m  =  'Material Type'.
      fieldcatalog-col_pos    =  5.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR fieldcatalog.
      fieldcatalog-fieldname =  'MAKTX'.
      fieldcatalog-seltext_m  =  'Material Description'.
      fieldcatalog-col_pos    =  6.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR fieldcatalog.
    ENDFORM.                      "build_fieldcatalog
    *&      Form  display_alv_report
          text
    FORM display_alv_report.
      gd_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
        I_INTERFACE_CHECK                 = ' '
        I_BYPASSING_BUFFER                = ' '
        I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = gd_repid
        I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = ' '
         i_callback_top_of_page            = 'TOP-OF-PAGE'
        I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
        I_CALLBACK_HTML_END_OF_LIST       = ' '
        I_STRUCTURE_NAME                  =
        I_BACKGROUND_ID                   = ' '
        I_GRID_TITLE                      =
        I_GRID_SETTINGS                   =
         is_layout                         = gd_layout
         it_fieldcat                       = fieldcatalog[]
        IT_EXCLUDING                      =
        IT_SPECIAL_GROUPS                 =
         it_sort                           = it_sortcat
        IT_FILTER                         =
        IS_SEL_HIDE                       =
        I_DEFAULT                         = 'X'
        I_SAVE                            = ' '
        IS_VARIANT                        =
        IT_EVENTS                         =
        IT_EVENT_EXIT                     =
        IS_PRINT                          =
        IS_REPREP_ID                      =
        I_SCREEN_START_COLUMN             = 0
        I_SCREEN_START_LINE               = 0
        I_SCREEN_END_COLUMN               = 0
        I_SCREEN_END_LINE                 = 0
        IT_ALV_GRAPHICS                   =
        IT_HYPERLINK                      =
        IT_ADD_FIELDCAT                   =
        IT_EXCEPT_QINFO                   =
        I_HTML_HEIGHT_TOP                 =
        I_HTML_HEIGHT_END                 =
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER           =
        ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = t_out
       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_report

    Hi Sai,
    Please do the following:
    While populating the fileld catalog for "MEINS".
    <u>
    add the shown code in bold:</u>
    fieldcatalog-fieldname = 'MEINS'.
    fieldcatalog-seltext_m = 'Unit of Measure'.
    <b>fieldcatalog-CFIELDNAME = 'MEINS'.
    fieldcatalog-CTABNAME = 'MARA'</b>.
    fieldcatalog-col_pos = 4.
    fieldcatalog-datatype = 'PC'.
    fieldcatalog-reptext_ddic = 'Unit of Measure'.
    APPEND fieldcatalog TO fieldcatalog.
    CLEAR fieldcatalog.
    This will bring you "EA" in place of ST.
    Hope this will work for you.
    Lanka

  • Tables/FM for opening/closing stock for material on given posting date

    Hi All,
    I had requirement of find the opening/closing stock for material on given posting date. The values we can find out using TCode - MB5B.
    But I cannt use MB5B to extract data because I need to find detials for thousands of material.
    Can you please adivce if their is any FM or tables through which i can find this detial on any given date apart from current date.
    Thanks & Regards,

    Hi,
    [https://forums.sdn.sap.com/click.jspa?searchID=19631709&messageID=6593903]
    [https://forums.sdn.sap.com/click.jspa?searchID=19631709&messageID=6630975]

Maybe you are looking for

  • How to create a ApplicationModule in runtime??

    Hi!!! I tried to create an ApplicationModule with variable id and definition like that: <%@page import="package.User" %> <% User u= (User) session.getApplication("user"); %> <jbo:ApplicationModule id="<%=u.getAppModId()%>" definition="<%=u.getAppModD

  • How do i get airport utility to recognize airport express?

    Airport express does not show up on my list of devices when I start up Airport Utility.  I'd love to use express with my stereo, but I cannot.

  • 2008 Macbook backlight problem - Should I care?

    Hi, I've seen several other people have a similar problem. When left inactive for even a fairly short while (maybe 10 minutes?), my computer appears to black out. Upon closer inspection, I see a very faint trace of what was last on screen. After some

  • Database Development IDE's and Tools?

    What do folks using Mac / OS use for Database development. I'm new to the mac after many years using PC's with SQL server and Visual Basic and such. I'd like to do some SQL and MSTransact like SQL and have a RAD tool or something that would allow me

  • Not able to creat the user in UME

    Hi, I'm using MII 12.1.9 and NW 7.11. I'm trying to create user in NW UME,but I'm getting the error while doing so.The error message is "Error Creating the User". The complete log detail is as below: Error creating user [EXCEPTION] com.sap.security.c