Movement   types  from  sd  point of view

does somebody have a list of movement  types   and   some  document   explaining  what  movement types  are  meant for   what?  from  sd  point of  view
thank
s.r.c
[email protected]

Movement types
Any movement of stock in SAP has a movement type , u can see the movement types in  T:code: OMJJ
As such a movement type is not directly related to any order type. But the combination of
order type + item category group ==> item category
now
item category + MRP type ( from mat master) --- > Schedule line category.
The movement type is linked with schedule line category. As a thumb rule all Movement types from 601 to 699 belong purely to SD.
If u want to c the movement type related to that particular order go with the following path.
Hit the icon 'schedule line for the item' , in the following screen hit 'procurement push button' there u will find the movement type.
For each material movement, the system uses the movement type to determine the rules for updating the stock quantities and the stock values in the relevant G/L accounts.
http://help.sap.com/saphelp_40b/helpdata/ru/fc/6cec6eb435d1118b3f0060b03ca329/content.htm
601 Goods issue for delivery (Shipping)
In Shipping, this movement type is created automatically with the Goods issue for delivery function.
The quantity is taken from unrestricted-use stock.
Possible special stock indicators:
E, K, Q
603 Goods issue for stock transport order (Shipping) with additional
item
If you issue goods for a stock transport order in Shipping using movement type 641, you can use this movement type to assign an extra item to the order.
The ordered material is transferred to the stock in transit of the receiving plant. The material for the additional item is transferred from unrestricted-use stock in the issuing plant to stock in transfer in the receiving plant.
You can also use this movement type without referencing a purchase order.
Possible special stock indicators:
None
See also: 303, 641
605 Goods receipt for a stock transport order (Shipping) with
additional item
You can use this movement type to transfer into unrestricted-use stock the material you posted into stock in transfer in the receiving plant using movement type 603. You post the goods movement with reference to the purchase order (if available) or the delivery.
Possible special stock indicators:
None
See also: 305 and 641
621 Transfer posting unrestricted-use - returnable packaging (Shipping)
The quantity is transferred from unrestricted-use stock to the returnable packaging stock at customer.
Possible special stock indicators:
none
623 Goods issue from returnable packaging stock at customer (Shipping)
This quantity is withdrawn from unrestricted-use returnable packaging stock at the customer.
Possible special stock indicators:
V
631 Transfer posting unrestricted use - customer consignment stock (Shipping)
The quantity is transferred from unrestricted-use stock to consignment stock at customer.
Possible special stock indicators:
E, Q
633 Goods issue from customer consignment (Shipping)
The quantity is withdrawn from unrestricted-use consignment stock at the customer.
Possible special stock indicators:
W
641 Goods issue for a stock transport order (Shipping)
The quantity is transferred using a delivery in Shipping from unrestricted-use stock of the issuing plant to stock in transit of the receiving plant.
The goods receipt for the stock transport order takes place using movement type 101 and can, if required, refer to the purchase order or to the delivery. If a purchase order item is flagged as a returns item in the stock transport order, you can post the goods receipt of the returns in the issuing plant with movment type 671.
Possible special stock indicators:
E, Q
For the special stock indicators E and Q and for purchase orders assigned to an account, you must ensure that the quantity is not posted to the stock in transit of the receiving plant.
See also: 351, 643, 671
643 Goods issue for a cross-company stock transport order (Shipping)
It is used only for cross-company stock transport orders with SD billing and invoice. The quantity is withdrawn from the unrestricted-use stock of the issuing plant. No stock in transit is created here. In the second step, the goods receipt must be entered in the receiving plant. If a purchase order item is flagged as a returns item in the stock transport order, you can post the goods receipt of the returns in the issuing plant with movment type 673.
Possible special stock indicators:
E
See also: 351, 641, 673
645 Goods issue for a cross-company
stock transport order in one step (Shipping)
Unlike movement type 643 when a goods issue is posted using movement type 645, a goods receipt line is generated automatically 101). If a purchase order item is flagged as a returns item in the stock transport order, you can post the goods receipt of the returns in the issuing plant with movment type 675.
Possible special stock indicators:
E
See also: 675
647 Goods issue for a stock transport order in one step
(Shipping)
Unlike movement type 641 when a goods issue is posted using movement type 647, a goods receipt line (movement type 101) is generated automatically in the receiving plant. If a purchase order item is flagged as a returns item in the stock transport order, you can post the goods receipt of the returns in the issuing plant with movement type 677.
Possible special stock indicators:
E, Q
See also: 677
651 Returns from customer (Shipping)
Using movement type 651, you post returns from a customer with a return delivery in Shipping to blocked stock returns.
Possible special stock indicators:
None
See also: 451, 453, 653
653 Returns from customer (Shipping) to unrestricted-use stock
With this movement type you post returns from the customer with returns delivery via Shipping directly to the valuated stock.
Possible special stock indicators:
E
See also: 451, 453, 651
655 Returns from customer (Shipping) to stock in quality inspection
With this movement type you post returns from the customer with returns delivery via Shipping directly to the valuated stock.
Possible special stock indicators:
E
See also: 451, 453, 651
657 Returns from customer (Shipping) to blocked stock
With this movement type you post returns from the customer with returns delivery via Shipping directly to the valuated stock.
Possible special stock indicators:
E
See also: 451, 453, 651
661 Returns to vendor via Shipping
As with movement type 502, a return delivery to the vendor is entered without reference to the purchase order, but the goods issue is posted via a delivery in Shipping.
Possible special stock indicators:
E
671 Returns for stock transport order via Shipping
If a purchase order item is marked as a returns item in a stock transport order using movement type 641 when a goods receipt for a stock transport order ( 101) is posted, the return is posted to stock in transit using movement type 161. When the return arrives, the issuing plant posts the goods receipt for the return using movement type 671. Movement type 671 (like movement types 352 and 642) reduces the receiving plant's stock in transit and increases the issuing plant's unrestricted-use stock.
Possible special stock indicators:
E, Q
673 Returns for cross-company stock transport order
(Shipping)
673.
Possible special stock indicators:
675 Returns for cross-company stock transport order
(Shipping) in one step
677 Returns for stock transport order in one step (Shipping)

Similar Messages

  • Whether E5620 and E5-2650 are same "CPU type" from replication point view?

    Our product supply both HP X86 G7 and X86 G8. G7 use E5620 and G8 use E5-2620. We have two servers installed with Timesten instance. One timesten instance is active and another one is standby. There is DB replication between two DB instance.
    This kind of configuration requires that the two servers have same "CPU type" based on following:
    "The master and subscriber databases must reside on machines that have the same
    operating system, CPU type, and word size. Although you can replicate between
    databases that reside on the same machine, replication is generally used for copying
    updates into a database that resides on another machine. This helps prevent data loss
    from node failure."
    Then, whether the E5620 and E5-2650 are the same "CPU type" from timesten point view ? Can we establish DB replication between two severs with E5620 and E5-2650 ?

    Yes, these are considered the 'same' they are both Intel Xeon CPUs. The key things are CPU architecture and endianness.
    Chris

  • Interview Questions for MTO from SD point of view

    Dear SAP Experts,
    I would like to know in detail the Interview Questions for MTO from SD point of view.
    Thanks
    Bhushan

    Hi,
    Since MTO is more a conceptually driven scenario first you need to understand what exactly happens in a business.
    1) Be clear on the strategy groups.
    2) Be clear on the cost center assignments since sales order is cost object in case of MTO
    3) So you need FI interface idea to execute MTO process.
    4) Understand how the SD is informed after the production is completed for an MTO order.
    5) Understand the movement types involved, since sometimes it may be required that this special stock may be needed to sent to unrestricted or perhaps assign it to some other sales order.
    6) Know clearly about requirement type since thats the key which identifies an MTO order.
    Make sure you als read the library. Hope it helps.
    regards
    sadhu kishore

  • Movement Type from Customer owned Stock back to Plant Stock

    Hi Guru's,
    Is there a Mov. Type that allows you to transfer from Customer owned Stock back to Plant Stock, without creating any FI Documents? Please help thanks in advance Carlo

    What is customer owned stock?
    from my point of view it is any stock that you and others sold to this customer. not in your system at all.
    If you want to get it back to your promises, then you have to create a customer return.
    The customer return goes into return stock, this does not create any financial postings.
    But if you transfer the retun stock into own stock, then you create an accounting doc with value (quantity * price / price unit)
    You cannot create stock for a valuated material without any financial document

  • Client Merge! precautions to be taken from BW point of view

    Hi,
    We are in a process of merging two clients in R/3 which are typical source systems for BW!
    What are the steps that we should take care of while the client merge is on from R/3 side.
    these two clients are ofcourse very important for BW system as almost all for everydata load the extraction logic in FM to the ABAP routine in selection of infopacakge is different!
    in a scenario such as this, what are the things that should i make a note from BW point of view?
    Raj

    Hi,
    1.Internal table with header line will not support in ECC 6.0 for that u need to create internal table and work area using TYPES.
    2.Mostly u need to do some PATCH WORK for the STANDARD programmes.
    Patch work in the sense for SPAU objects in Mysap is there any code written by client(INSERT {....END INSERT....}) this type of code u need to add in ECC 6.0 code....
    3.Mostly u have to resolve EPC(Extended program check) errors.
    In that u will find so many type of errors...Field attribute errors,Perform interface errors,Obsolete stetement errors,....etc.
    4.First thing u need to what r the SCOPE and OUT OF SCOPE in your upgradation.
    5.If u find any Fmodules obsolete...U just press F1 on that Fmodule it will show which function module can useful instead of that obsolete one...
    6.If they want UNI CODE compatiable .....
    EX Report...
    Go to the attributes of the report...
    There u can c a check box to check UNI CODE Errors...
    U have to resolve these errors also...
    After doing all these things u have to show 0 errors on CODE INSPECTOR fro each n every object...
    Thats t as per my knowledge...
    Regards,
    Kishore Reddy.

  • Batch managment from MM point of view

    Dear Friends,
    I want to learn the Batch management from MM  point of view.
    Can you please provide me the material which will explain me how to configure the SAP system for batch managment from MM point of view.
    Thanks a lot
    Nilesh

    Please check these answered links:
    Batch management
    batch management
    Batch Management
    Edited by: Afshad Irani on Jun 14, 2010 3:15 PM

  • Need information on MDX queries from beginners point of view

    Hi Gurus,
    I am working in BI 7. Till now I am untouched with the basics of MDX and its syntaxes except with the T-Code MDXTEST
    Can anyone forward me the docs or links to learn MDX from beginners point of view.
    Regards,
    Srinivas

    Hi Srini,
    /people/prakash.singh4/blog/2005/03/12/get-bw-data-in-portal-via-jca-using-mdx-statement
    Tables in R/3 what in BW?
    http://help.sap.com/saphelp_nw04/helpdata/en/d9/ed8c3c59021315e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/64/9b8f3c855f0454e10000000a11405a/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/45/f33574fee1487f9b8487d2986a2658/frameset.htm
    /message/4683448#4683448 [original link is broken]
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60f35908-ecd4-2910-6c89-e75e1054d9d1
    /people/prakash.darji/blog/2006/09/04/work-with-xmla-web-service-for-bi-data-in-external-applications
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60f4cabe-0401-0010-fbba-fae6c7a8d29e
    Regards,
    Vijay

  • Performance tuning from Basis point of View ?

    Hi,
    Can anybody help me in doing the performance tuning from Basis point of view.
    What all parameters are involved in it and what are the values need to be initially assigned and what all factors need to be kept in mind.?
    Thanks in advance.

    wrong forum??
    not a security related question??

  • Plant from FICO Point of View?

    Dear Members,
    can somebody tell me the purpose and importance of the plant from FICO point of view.
    what parameters will decide about how many plants an organisation can have.
    what implecations can a plant has from taxes view point.
    regards,
    sashi.

    You already posted this yesterday. > Plant from FICO Point of View?
    Do not repost. Respect Forum rules.

  • Can any body  tell me about  sap-plm  from  technical point of view

    In sap-plm from the development point of view what abapers task

    Hi Prasoon,
    PLM very wide area but from ABAP point of view it depends which area you are working on, like it includes Bill of Materials, Document Management System, Classifications, Product Structure Browser, Engineering Change Mangement, etc within R/3 and apart from this it even includes Project System
    on Web application Systems it includes Collaboration Projects & Collaboration Folders.
    ABAP work comes for enhancements, Functional Modules, User Exists, Feild Exists, Interfaces(RFC) for CAD Integrations etc, & Reports like ALV etc.
    It Depends which part of PLM you are working on & what is the requirement where in ABAP development is required so in general it is difficult to answer this question but for any particular/specific requirements anybody will answer.
    Hope you might have got the fair idea of PLM
    Regards
    Rehman
    Mark Useful Answers

  • Integration points among various SAP Modules from BP point of view

    Hi Everyone,
    Can anyone tell me the various integration points among various SAP Modules from BP point of view.
    I did see one thread long back but now I am not able to locate one.
    Would really appreciate your responses.
    Thanks

    FOund something on SDN

  • Specific GL accounts from consolidation point of view.

    What are the mandatory GL accounts added to operating COA from consolidation point of view.
    Please share your inputs and points will be awarded.

    All those GL accounts which your client is looking presently need to be th eGL accounts in consolidation COA.

  • Report for Paid Invoices from AP Point of view.

    Hello Gurus,
    I am looking for a Report from SAP which will give me the Paid Invoices Information from Accounts Payable Point of view for a Particular Period which should cover the below information...
    Entity
    Invoice #
    Invoice  Date
    Vendor Name
    Invoice Amount
    Currency
    NET terms - NT30, NT 00 like wise
    Net due date -
    Paid Date
    Document Types
    Document Number
    Please let me know the Standard Report Transaction Code ASAP.Quick response will be appreciated.
    Thanks,
    B

    Hi:
    Refer to FBL1N - Display/Change Line Items in accounts payable.
    Select vendor accout,co.code,cleared items on a particular date and execute.
    From change layout (Ctrl+F8), you can select payment terms,Net due date,account type,account document
    Please let me know if you need more information.
    Assign points if useful.
    Regards
    Sridhar M

  • How to post reason code/movement type from MM to FI document?

    Have had a request from our Finance guy here that when a movement is posted in MM (eg a scrapping), the reason code and movement type are to go onto the FI document when the movement is posted to the GL accounts. These values are to be viewed from FBL3N.
    He thinks it might need to be done with substitutions but I have had no experience in this area and he has no idea how to go about it. I have extended the COBL structure using OKX3 which has put the field into BSEG but have no idea how to go about doing the substitution or which exit to use. Inaddition in SAP standard, MSEG passes the movememnt type tyo COBL field BWART but then this seems to get voided.
    Can anyone help me?
    Regards
    Larissa Maryniuk

    Hi Larissa,
    Please go through with this below link. You can easily understand about Substitutions.
    http://techbays.files.wordpress.com/2008/08/sap-tip-how-to-use-substitutions-lakshman-tandra1.pdf
    Best Regards,
    Mohan.

  • Z reports from MM point of view

    hi sap guru's
                     i just want verious  z reports which basically client required and which is not available in SAP MM plz send me reports
    and how we can see the effect of  z reports ( mean s which T code use to see )
    regards

    Hi
    Take a look at this
    This is a report for pending purchase requisition
    This involves abap coding
    REPORT  zmmr_pending_prs  NO STANDARD PAGE HEADING LINE-COUNT
    65 LINE-SIZE 255.
    Structure declaration
    TYPE-POOLS : slis.
    TABLES : eban , ekbe ,ekko ,ekpo, lfa1,makt,mara,marc.
    Work Variables and internal tables
    **--Internal Table for Purchase Requisition -EBAN
    DATA: BEGIN OF i_eban OCCURS 0 ,
          banfn LIKE eban-banfn,
          bnfpo LIKE eban-bnfpo,
          bsart LIKE eban-bsart,
          ekgrp LIKE eban-ekgrp,
          afnam LIKE eban-afnam,
          txz01 LIKE eban-txz01,
          matnr LIKE eban-matnr,
          werks LIKE eban-werks,
          menge LIKE eban-menge,
          badat LIKE eban-badat,
          lfdat LIKE eban-lfdat,
          ebeln LIKE eban-ebeln,
          ebelp LIKE eban-ebelp,
          bedat LIKE eban-bedat,
          bsmng LIKE eban-bsmng,
          END OF i_eban .
    **-- Internal Table for Purchasing Document Item - EKPO
    DATA : BEGIN OF i_ekpo OCCURS 0,
           ebeln LIKE ekpo-ebeln,
           ebelp LIKE ekpo-ebelp,
           matnr LIKE ekpo-matnr,
           werks LIKE ekpo-werks,
           banfn LIKE ekpo-banfn,
           bnfpo LIKE ekpo-bnfpo,
           END OF i_ekpo .
    **--Internal Table for n  History per Purchasing Docum - EKBE
    DATA: BEGIN OF i_ekbe OCCURS 0 ,
          ebeln LIKE ekbe-ebeln,
          ebelp LIKE ekbe-ebelp,
          belnr LIKE ekbe-belnr,
          bwart LIKE ekbe-bwart,
          budat LIKE ekbe-budat,
          menge LIKE ekbe-menge,
          matnr LIKE ekbe-matnr,
          werks LIKE ekbe-werks,
          END OF i_ekbe .
    *--  final Intenral Table for displaying output.
    DATA: BEGIN OF it_output OCCURS 0 ,
          bsart LIKE eban-bsart,
          badat LIKE eban-badat,
          matnr LIKE eban-matnr,
          werks LIKE eban-werks,
          txz01 LIKE eban-txz01,
          menge LIKE eban-menge,
          banfn LIKE eban-banfn,
          bnfpo LIKE eban-bnfpo,
          ekgrp LIKE eban-ekgrp,
          afnam LIKE eban-afnam,
          lfdat LIKE eban-lfdat,
          ebeln LIKE eban-ebeln,
          ebelp LIKE eban-ebelp,
          bedat LIKE eban-bedat,
          belnr LIKE ekbe-belnr,
          menge1 LIKE ekbe-menge,
          budat LIKE ekbe-budat,
          bwart LIKE ekbe-bwart,
          lifnr LIKE ekko-lifnr,
          END OF it_output .
    ***---- Data Declaration For ALV.
    DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
          gd_tab_group TYPE slis_t_sp_group_alv,
          gd_layout    TYPE slis_layout_alv,
          gd_repid     LIKE sy-repid,
          gt_events     TYPE slis_t_event,
          gd_prntparams TYPE slis_print_alv.
    **-- Input Screen
    SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_matnr FOR eban-matnr ,
                     s_badat FOR eban-badat,
                     s_werks FOR eban-werks.
    PARAMETERS :     p_afnam LIKE eban-afnam .
    SELECT-OPTIONS : s_ekgrp FOR eban-ekgrp,
                     s_banfn FOR eban-banfn .
    SELECTION-SCREEN END OF BLOCK blk .
    *AT SELECTION-SCREEN ON p_werks.
    PERFORM check_plant.             " Validation for plant.
    START-OF-SELECTION.
    perform top-of-page .
    **-- Validate input fields.
    PERFORM validate_input.
    **-- Get Data for P.R.and History  per Purchasing Document
      PERFORM get_data.
    **-- Process Data
      PERFORM process_data .
      PERFORM build_fieldcatalog .
      PERFORM display_data .
    *&      Form  get_data
          text
    -->  p1        text
    <--  p2        text
    FORM get_data .
    ***---- Get All the data for Purchase Requisition From EBAN
    SELECT banfn bnfpo bsart ekgrp afnam txz01 matnr werks menge badat lfdat
      ebeln ebelp bedat bsmng INTO TABLE i_eban FROM eban CLIENT SPECIFIED
      WHERE mandt = sy-mandt
      AND banfn IN s_banfn
      AND ekgrp IN s_ekgrp
    AND afnam = p_afnam
      AND matnr IN s_matnr
      AND werks IN s_werks
      AND badat IN s_badat.       " Index EBAN~1 used
      SORT i_eban BY banfn .
    DELETE i_eban WHERE banfn NOT IN s_banfn .
      IF NOT i_eban[] IS INITIAL .
        SELECT ebeln ebelp  matnr werks banfn bnfpo INTO TABLE i_ekpo
        FROM ekpo CLIENT SPECIFIED
        FOR ALL ENTRIES IN i_eban
        WHERE mandt = sy-mandt
         AND matnr = i_eban-matnr
         AND werks = i_eban-werks
         AND banfn = i_eban-banfn
         AND bnfpo = i_eban-bnfpo.
      ENDIF .
    ***---- Get All the data for History per Purchasing Document from EKBE
      IF NOT i_ekpo[] IS INITIAL .
        SELECT ebeln ebelp belnr bwart budat menge matnr werks
        INTO TABLE i_ekbe
        FROM ekbe CLIENT SPECIFIED
        FOR ALL ENTRIES IN i_ekpo
        WHERE mandt = sy-mandt
        AND ebeln = i_ekpo-ebeln
        AND ebelp = i_ekpo-ebelp
        AND bwart = '105'
        AND matnr = i_ekpo-matnr
        AND werks = i_ekpo-werks. " ebeln ebelp primary keys
      ENDIF.
    ENDFORM.                    " get_data
    *&      Form  build_fieldcatalog
          text
    -->  p1        text
    <--  p2        text
    FORM build_fieldcatalog .
      DATA position TYPE i.
      position = -1.
      position = position + 1.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'BSART'.
      fieldcatalog-seltext_m   = 'PR Type'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 4.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'BADAT'.
      fieldcatalog-seltext_m   = 'PR Date'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 10.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Item Code'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 18.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'TXZ01'.
      fieldcatalog-seltext_m   = 'Material Description'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 40.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PR Qty'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 13.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'BANFN'.
      fieldcatalog-seltext_m   = 'PR No'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 10.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'EKGRP'.
      fieldcatalog-seltext_m   = 'Pur Grp'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 7.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'AFNAM'.
      fieldcatalog-seltext_m   = 'Raised By'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 12.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'LFDAT'.
      fieldcatalog-seltext_m   = 'Required Date'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 13.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'PO Number'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 18.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'BEDAT'.
      fieldcatalog-seltext_m   = 'PO Date'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 10.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'BELNR'.
      fieldcatalog-seltext_m   = 'GR NO'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 18.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'MENGE1'.
      fieldcatalog-seltext_m   = 'Supplied Qty'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 13.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'BUDAT'.
      fieldcatalog-seltext_m   = 'Supplied Date'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 13.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
    position = position + 1.
    fieldcatalog-fieldname   = 'BWART'.
    fieldcatalog-seltext_m   = 'movement type'.
    fieldcatalog-col_pos     = position.
    fieldcatalog-outputlen   = 3.
    APPEND fieldcatalog TO fieldcatalog.
    CLEAR  fieldcatalog.
      position = position + 1.
      fieldcatalog-fieldname   = 'LIFNR'.
      fieldcatalog-seltext_m   = 'Supplier'.
      fieldcatalog-col_pos     = position.
      fieldcatalog-outputlen   = 10.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
    ENDFORM.                    "build_fieldcatalog
    *&      Form  display_data
          text
    -->  p1        text
    <--  p2        text
    FORM display_data .
      IF it_output[] IS INITIAL.
        MESSAGE 'No Data Exist' TYPE 'E'.
      ENDIF.
      gd_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
                i_callback_user_command = 'USER_COMMAND'(001)
               i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
               it_special_groups       = gd_tabgroup
                it_events               = gt_events
                is_print                = gd_prntparams
                i_save                  = 'X'
               is_variant              = z_template
           TABLES
                t_outtab                = it_output
                EXCEPTIONS
                program_error           = 1
                OTHERS                  = 2.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *ENDFORM.                    " display_alv_data
    ENDFORM.                    " display_data
    FORM top-of-page.
    *ALV Header declarations
      DATA: t_header TYPE slis_t_listheader,
            wa_header TYPE slis_listheader,
            t_line LIKE wa_header-info,
            ld_lines TYPE i,
            ld_linesc(10) TYPE c.
    Title
      wa_header-typ  = 'H'.
      wa_header-info = 'Pending Purchase Requisition Report '
      DESCRIBE TABLE i_eban LINES ld_lines.
      ld_linesc = ld_lines.
      CONCATENATE 'Total No. of Records: ' ld_linesc
                        INTO t_line SEPARATED BY space.
      APPEND wa_header TO t_header.
      CLEAR wa_header.
    Date
      wa_header-typ  = 'S'.
      wa_header-key = 'Date: '.
      CONCATENATE  sy-datum+6(2) '.'
                   sy-datum+4(2) '.'
                   sy-datum(4) INTO wa_header-info.   "todays date
      APPEND wa_header TO t_header.
      CLEAR: wa_header.
      wa_header-typ  = 'A'.
      wa_header-info = t_line.
      APPEND wa_header TO t_header.
      CLEAR: wa_header, t_line.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = t_header.
               i_logo             = 'Z_LOGO'.0
    ENDFORM .                    "top-of-page
    *&      Form  validate_input
          text
    -->  p1        text
    <--  p2        text
    *FORM validate_input .
    *-- validate the input material.
    SELECT SINGLE * FROM mara CLIENT SPECIFIED
    WHERE mandt = sy-mandt
    AND  matnr IN s_matnr.
    IF sy-subrc <> 0.
       MESSAGE 'Enter Valid Material Number' TYPE 'E'.
    ENDIF.
    *-- validate the input plant.
    SELECT SINGLE * FROM t001w CLIENT SPECIFIED
    WHERE mandt = sy-mandt
    AND werks  = p_werks.
    IF sy-subrc <> 0.
       MESSAGE 'Enter Valid plant.' TYPE 'E'.
    ENDIF.
    *-- validate the input plant / material record
    SELECT SINGLE * FROM marc CLIENT SPECIFIED
    WHERE mandt = sy-mandt
    AND matnr IN s_matnr
    AND werks  = p_werks .
    IF sy-subrc <> 0.
       MESSAGE 'Material is not defined in Selected Entered Plant.'
        TYPE 'E'.
    ENDIF.
    *-- validate the input Purchase Grp.
    SELECT SINGLE * FROM marc CLIENT SPECIFIED
    WHERE mandt = sy-mandt
    AND matnr IN s_matnr
    AND werks  = p_werks
    AND ekgrp IN s_ekgrp.
    IF sy-subrc <> 0.
       MESSAGE 'Material is not defined in Selected Entered Plant.'
        TYPE 'E'.
    ENDIF.
    *ENDFORM.                    " validate_input
    *&      Form  process_data
          text
    -->  p1        text
    <--  p2        text
    FORM process_data .
    **-- Process All the data into Final Internal table it_output
      LOOP AT i_eban.
        it_output-bsart = i_eban-bsart.
        it_output-badat = i_eban-badat.
        it_output-matnr = i_eban-matnr.
        it_output-werks = i_eban-werks.
        it_output-txz01 = i_eban-txz01.
        it_output-menge = i_eban-menge.
        it_output-banfn = i_eban-banfn.
        it_output-bnfpo = i_eban-bnfpo.
        it_output-ekgrp = i_eban-ekgrp.
        it_output-afnam = i_eban-afnam.
        it_output-lfdat = i_eban-lfdat.
        it_output-ebeln = i_eban-ebeln.
         ebelp LIKE eban-ebelp,
        it_output-bedat = i_eban-bedat.
        READ TABLE i_ekpo WITH KEY matnr = it_output-matnr
                                   werks = it_output-werks
                                   banfn = it_output-banfn
                                   bnfpo = it_output-bnfpo.
        IF sy-subrc = 0.
          it_output-ebeln = i_ekpo-ebeln.
          it_output-ebelp = i_ekpo-ebelp.
        ENDIF.
        SELECT SINGLE lifnr INTO ekko-lifnr FROM ekko CLIENT SPECIFIED
        WHERE mandt = sy-mandt
        AND ebeln = it_output-ebeln.
        IF sy-subrc = 0.
          it_output-lifnr = ekko-lifnr.
        ENDIF.
        READ TABLE i_ekbe WITH KEY ebeln = it_output-ebeln
                                   ebelp = it_output-ebelp
                                   matnr = it_output-matnr
                                   werks = it_output-werks.
        IF sy-subrc = 0.
          it_output-menge1 = i_ekbe-menge.
          it_output-budat = i_ekbe-budat.
          it_output-bwart = i_ekbe-bwart.
          it_output-belnr = i_ekbe-belnr.
        ENDIF.
        APPEND it_output.
        CLEAR it_output.
      ENDLOOP.
    ENDFORM.                    " process_data

Maybe you are looking for