Open Purchase Order table.

Hi
I want to prepare a report which should display open Purchase Order quantity according to latest delivery date.
I explain with a example.
Say a material has 3 Purchase Orders with delivery date as 1st June,15th June and 20th June.Then system should pick the Purchase Order with delivery date as 1st June and it should dislay the quantity which is yet to be delivered,means there is possibility that GR has already been done for some of the quantity.
To summarize the report should pick the latest Purchase Quantity and display the quantity yet to be delivered.Can anybody let me kow the Tables to be refered fro the same.
Regards
Vaibhav Mahajan

Hi Vaibhav
You can go to report by ME2N. Here you have multiple options for your reoport. In selection parameters you can put OPEN PO nad put the delievery date. There are many combinations available in this report.
Please let me know if it doesn't work.
Regards
SS

Similar Messages

  • HOW WE FIND OUT OPEN PURCHASE ORDER AND CLOSED PURCHASE IN THE TABLE?

    HI,
    PLZZ HELP ME.
    what are fields names for open purchase order and closed purchase order
    thanks

    Hi param,
    Go to mseg table, pass the purchase order number and purchase order item. if the mseg-menge = ekpo-menge for the corresponding purchase order then consider the purchase order is close, else it is still open. even check if the entries are not there for corresponding purchase order in mseg table then also it is open.
    select mblnr zeile matnr menge from mseg into it_mseg where ebeln = it_ekko-ebeln
    and    ebelp = it_ekpo-ebeln.
    if sy-subrc <> 0.
    then consider the purchase order is open.
    This is the first case.
    even u can consider like this
    if sy-subrc = 0.
    if it_ekpo-menge > it_mseg-menge.
    then also the purchase order is open.
    Regards,
    Santosh Kumar M.
    Award points if it is useful.

  • Table for open Purchase order and pending invoices for vendors

    Hi,
    Are there any table to know open Purchase orders and pending invoices for vendors.
    Quick response will be appreciated.
    Thanks & Regards

    hi,
    Purchase Order:
    S011:(PURCH: Purch. Group Statistics)
    Statistics (SSOUR)
    Version (VRSIO)
    Month (SPMON)
    Day (SPTAG)
    Week (SPWOC)
    Posting Period (SPBUP)
    Purchasing Org (EKORG)
    Purchasing Group (EKGRP)
    Vendor No (LIFNR)
    S012: (PURCHIS: Purchasing Statistics)
    Statistics (SSOUR)
    Version (VRSIO)
    Month (SPMON)
    Day (SPTAG)
    Week (SPWOC)
    Posting Period (SPBUP)
    Purchasing Org (EKORG)
    Purchasing Group (EKGRP)
    Material No (MATNR)
    Plant (WERKS)
    Info Record Category (ESOKZ)
    Material Group (MATKL)
    Info Record (INFNR)
    Country (LAND1)
    EINE: (Purchasing Info Record: Purchasing
    Organization Data)
    Info Record (INFNR)
    Purchasing Org (EKORG)
    Info Record Type (ESOKZ)
    Plant (WEKS)
    EKET: (Delivery Schedules)
    Purchasing Doc (EBELN)
    Item (EBELP)
    Delivery Schedule (ETENR)
    EKPO: (Purchasing Document Item)
    Purchasing Doc (EBELN)
    Item (EBELP)
    EKKN: (Account Assignment in Purchasing
    Document)
    Purchasing Doc (EBELN)
    Item (EBELP)
    Account Assignment (ZEKKN)
    EKKO: (Purchasing Document Header)
    Purchasing Doc (EBELN)
    EORD: (Purchasing Source List)
    Material No (MATNR)
    Plant (WERKS)
    Source List No (ZEORD)
    thx,
    Ganpat

  • Open Qty and Received Qty for Open Purchase Order.

    How to Fetch the open qty and received Qty of every Open purchase orders in EKPO table where ELIKZ = SPACE OR LOEKZ = SPACE. What are the table and field used? Kindly help me.

    Hello Senthilramkumar,
    Use ME2L/ME2N/ME2M with selection parameter WE101.
    Hope this will help.

  • Open Purchase Order report

    Hello All,
    Anyone know how I can get the list of Open Purchase orders?
    Currently we are pulling all those POs with the following characteristics:
    PO item where
            all schedules have received qty zero.
    Open Schedules (EKET) - Don’t want fully or partially received
         Received Quantity (wemng) = zero
    The performance is not the greatest.
    Just curious to know how others are arriving at the list of Open Purchase Orders.
    Ideas / Thoughts???
    Thanks for any input.

    Why not checking for Final Invoice indicator EKPO-EREKZ = 'X'
    or/and Delivery Completed Indicator EKPO-ELIKZ = 'X'.
    select *
    from ekpo
    into table it_ekpo
    where delkz ne space and (erekz = 'X'
       or elikz = 'X').
    Regards,
    ravi

  • Open Purchase Orders and Open Sales Orders

    Hi,
    Please let me know the table names for open purchase orders and sales orders.
    Regards,
    Prii

    HI Priti,
    EKPO-ELIKZ  "Delivery completed" indicator, This tell if the given PO line items has any open quantity or not.
    Logic to find out if a given PO has Open Quantity or not is do the following:
        " select the PO Qunatity.
        SELECT SINGLE MENGE FROM EKPO INTO PO_QTY WHERE
        EBELN = ITAB_PO_LN-EBELN AND
        EBELP = ITAB_PO_LN-EBELP.
        " select the GR qunatity which has been received.
        SELECT SUM( MENGE ) FROM EKBE INTO GR_QTY WHERE
        EBELN = ITAB_PO_LN-EBELN AND
        EBELP = ITAB_PO_LN-EBELP AND
        BWART = '101'.
        " select GR Quantity which has been reversed.
        SELECT SUM( MENGE ) FROM EKBE INTO GR_REV_QTY WHERE
        EBELN = ITAB_PO_LN-EBELN  AND
        EBELP = ITAB_PO_LN-EBELP AND
        BWART = '102'.
        POSTED_QTY =   GR_QTY - GR_REV_QTY .
        OPEN_QTY = PO_QTY - POSTED_QTY.
    Regards,
    -Venkat.

  • Open Purchase order - urgent please

    Hi Friends,
    How to find an open purchase order, in which table i
    need to check that.
    Please let me know.
    Thanks in advance.
    Regards,
    Roberts.K

    Hi Roberts,
    You have to consider the movement type along with the debit/credit indicator. A 101 movement type is for a Goods receipt for a PO and 102 is a reversal movement of the same. So to get all the GR quantity against a particular PO item, I would sum up all the 101(SHKZG = H) and subtract all the 102(SHKZG = S). The result is my total GR quantity. Line item quantity minus this GR quantity is my open quantity. The only exception to this is when the 'delivery complete' indicator is set, which means even though my GR quantity does not match my item ordered quantity, there are no more deliveries expected against this line item.
    You can get these kind of reports from standard SAP reports. There is some configuration required, but you should be able to get open POs easily.
    Hope this helps,
    Srinivas

  • Open Purchase Order Documents

    Using the DI API, how can I query the PO documents that have neither followup "Goods Receipt" nor "A/P Invoice" documents? That is, I'm looking for the open Purchase Orders.
    Thank you,
    Miklos

    You can use the recordset object to query for open PO's.
    This can be a simple query, or it can get more complex, depending on your needs.
    Something like this...
    SELECT * FROM OPOR WHERE DOCSTATUS = 'O' AND CANCELED <> 'Y'
    ... will get you a list of all of the currently open PO headers.  However, an open PO may have been partially paid, or partially  received.  The PO header remains open until all line items have been closed.
    If you're looking for a way to find PO's that have not had any partial receipts, invoices, or rtv's against them then the solution will need to consider the LineStatus field on the POR1 table as well.
    Regards,
    Demetree

  • Total open purchase order quantity fro a material

    Hi,
    Waht is the table that contain the total open purchase order quantity (on order quantity, not yet goods receipt) for a material number?

    hi,
    You can check the table EKPO, EKKO, and EKBE...
    also for delivery schedules use the table EKET...
    You also have a report ME2N for the same, use the proper selection parameter...
    regards
    Priyanka.P

  • Open Purchase Order (VA01)

    Hi Guru's,
    I am new to SD Module. My requirement is to create Sales Order .
    That SO should take Open Purchase order. How to check the condition for this requirement?
    Is any status or Indicatior will maintain in tables??
    Thanks & Regards,
    Meenakshi.

    Hi
    SInce it is a customer PO and not created as a document in SAP, system cannot check the open quantities in a customer PO.
    But, we can always check whether that customer PO has already been used for creating a Sales Order or not? In the definition of the Sales Document type, if the checkbox for the field 'Check PO Number' (not sure if it is a field or checkbox) is selected, then while creating the sales order system checks whether any sales order has been created previously with the same PO number.
    Thanks,
    Ravi

  • Idea/Suggestion for Report on Open Purchase Orders

    Note: coding is not necesary
    give me an idea /suggestions how to develop a report which lists all open purchase orders not acknowledged for different vendors  plz if u give me step by step procedure it will help me in developing
    Title edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:23 AM

    Hi kumar,
       DEFINITION :A standing/open order is a Purchase order which has been issued to a vendor, against which specified purchases may be made for a specified period of time. When repeated purchases of the same type of supply items are expected, multiple purchase requisitions may be eliminated by submitting one purchase requisition to establish a standing/open order. This request must be accompanied by a justification memorandum. Standing purchase orders are issued for supply type items and services only.
    JUSTIFICATION :  Request for standing/open orders are approved by the Director of Purchasing, provided they are sufficiently justified. Purchases made by the standing/open order method are often more expensive, and should be considered carefully.
    LOGIC:  Open purchase orders meanse,the purchase order not realse due to  some reasons.
         The purchase order table EKPO (or) EKKO.
            You find the both tables
             fields:          LOEKZ  = Deletion Indicator.
                                ELIKZ  = Delivery completion.
              You checks  above fields  NOTEQUAl to SPACE
                example:   LOEKZ   NE '  '
                                ELIKZ  NE  '  '
                     above fields equal to space that orders realsed.
      example:  select * from ekpo
                                  into  itab
                                  where  ebeln = pametervalue
                                     and  loekz ne '  '
                                     and  elikz  ne '  '.
                Above statment excutes dipalys the open purchase orders.
           Thaks,
           sreddy.

  • Report for Open Purchase Orders

    how to develop a report which lists all open purchase orders for given period & plant ? plz idoint want coding .. but give me guidlines & suggestions to develop my own  plz tell where could i nstart & end for this report help me sdn
    Edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:32 AM

    Either you can use ME2N with selection parameter WE101 & Scope of list BEST
    or
    Go to SE16
    Use Table EKPO
    Use Filed name ELIKZ
    If you give X list of all the delivery completed items.
    If you leave blank list of all Open PO items will display.
    Report  showing the open Purchase orders
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:32 AM

  • Open Purchase orders

    Hi,
    I have to report OPEN PURCHASE ORDERS.
    1. How can i know the particular PO i relevent to GR or not.
    2. If it is relevent to GR then how do i know GR done/created or not.
    3. At the same time Invoice receipt also.
    Please some one give me the table and fields for the mentioned scenarious.
    Thanks,
    Deepak.
    Message was edited by:
            KDeepak

    Hi,
    To prepare the Open PO report:
    Take all the purchase order details from EKKO and EKPO tables by writing a JOIN based on the selection screen paramters:(into ITAB)
    Then fetch the related GR and GI data from the table MSEG for each PO Item (using for all entries of ITAB passing EBELn and EBELP to MSEG).
    Here based on the movement type you have to consider the GR or GI.
    generally for 101 movement types it is fresh GR(goods receipt).
    so in this table MSEG you have many entries with different movement types for each PO items, so summing up the correct quanitities(ERFMG) for GR and other s is importants.So from ITAB you know the PO qty for a particular PO and from MSEG you know the qty received(GR QTY), if the both qty's are equal then that order is closed, if bothe qty's are not equal then that order is OPEN.
    Fetch the invoice related data from EKBE or RSEG tablse passing EBELN and EBELP fields for them.
    GR dat is in MSEG
    and Invoice data is in EKBE  or RSEG.
    Hope this is useful.
    regards,
    Anji

  • Open purchase orders report

    Hello,
    I am trying to write an open purchase orders report.
    Is there any field that indicates that an purchase order item is closed or not? I tried with the EKPO-WEPOS (goods receipt indicator), but it is allwais filled.... , or EKPO-ELIKZ (delivery completed), but not working....

    In my case a PO item is opem if the order quantity is smaller than the goods receipt quantity.
    I solved the problem in this way:
    SELECT ekpomenge eketwemng FROM ekpo
        join eket on ekpoebeln = eketebeln and ekpoebelp = eketebelp
        INTO CORRESPONDING FIELDS OF TABLE t_comenzi
        WHERE ekpo~matnr = s_matnry-matnr
        AND ekpomenge < eketwemng
        AND ekpo~loekz = space
        AND ekpo~elikz <> 'X'
        AND ekpo~werks = p_plant.
        IF t_comenzi[] IS NOT INITIAL.
        data diferenta like count_com.
          LOOP AT t_comenzi INTO s_comenzi.
          diferenta = s_comenzi-menge - s_comenzi-wemng.
            count_com = count_com + diferenta.
          ENDLOOP.
          REFRESH t_comenzi.
        ENDIF.
    I hoped to find a better way, but so far is the only way...

  • Urgent :Doubt on open Purchase orders

    Hi friends,
    i will be more help full if anybody can help me on below issue how to find open PO and partially open PO.
    Only “open” purchase orders will be extracted for conversion into Destination Server. An “open” purchase order is defined as any unshipped, non-cancelled with “open quantities”. In regards to, partially “open” purchase orders, we will only convert “open” units (i.e. Original ordered qty was 300; 70 have shipped, 230 remain open…Target Server sales order will have an original order qty of 230).
    also where to find that Sub Contracting orders and Sample orders.
    • Orders not considered for migration because they will have either shipped in full or deleted prior to data migration as a part of data clean-up: ALL subcontracting orders; sample orders
    please help me on the above two issues.
    thanks and Regards,
    Gokul.

    Hi
    First take the ALL Po's from EKKO and EKPO tables and check for the different GR's and GI's qty's from MKPF and MSEG tables and you have to compare the PO qty with the total GR/GI qty's and to find the OPEN po's
    see the sample report
    *& Report  ZMM_PO_REPORT
    REPORT  ZMM_PO_REPORT message-Id yb
           NO STANDARD PAGE HEADING
           LINE-COUNT 60(1)
           LINE-SIZE 230.
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
    TABLES: lfa1,           " Vendor Master
            t161,           " PO Doc Types
            t024,           " Purchase Groups
            ekko.           " PO Header
                   T Y P E S  D E C L A R A T I O N S
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_po,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bukrs TYPE bukrs,           " Company Code
            bsart TYPE bbsrt,           " PO Type
            lifnr TYPE lifnr,           " Vendor No
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
           END OF s_po.
    Purchase Orders History Structure
    TYPES: BEGIN OF s_account,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            gjahr TYPE mjahr,           " Fiscal Year
            belnr TYPE mblnr,           " PO Invoice No
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Local Currency
            dmbtr TYPE dmbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
            shkzg TYPE shkzg,           " Dr/Cr Indicator
           END OF s_account.
    Purchase Orders History Structure(Item Sum)
    TYPES: BEGIN OF s_inv_sum,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
           END OF s_inv_sum.
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_rep,
            lifnr TYPE lifnr,           " Vendor No
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bsart TYPE bbsrt,           " PO Type
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
            name1 TYPE name1,           " Plant
            orewr TYPE netpr,           " To be Invoiced Price
            curr  TYPE waers,           " Inv Doc Currency
           END OF s_rep.
               D A T A  D E C L A R A T I O N S
    DATA: gv_title1 TYPE sylisel,            " Report title
          gv_dial.                           " Color flag
                C O N S T A N T S  D E C L A R A T I O N S
    CONSTANTS: c_x                VALUE 'X',   " Flag X
               c_h                VALUE 'H',   " Debit
               c_vgabe TYPE vgabe VALUE '2'.   " Transaction Type
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_po    TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
                                 " Purchase Order
          i_inv   TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
                                         " PO Invoice Values
          i_rep   TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
                                     " PO Invoice Values
          i_ekbe  TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
                               " PO Invoice Values
                     S E L E C T I O N  S C R E E N                      *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
                    s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
                    s_bsart FOR t161-bsart,
                    s_ekgrp FOR t024-ekgrp,
                    s_bedat FOR ekko-bedat.
    SELECTION-SCREEN END OF BLOCK b1.
                      I N I T I A L I Z A T I O N                        *
    INITIALIZATION.
                  A T  S E L E C T I O N - S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_screen.
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
                   T O P - O F - P A G E                                 *
    TOP-OF-PAGE.
    Header of the List
      PERFORM header.
                   E N D - O F - P A G E                                 *
    Footer
    END-OF-PAGE.
      ULINE.
                   E N D - O F - S E L E C T I O N                       *
    END-OF-SELECTION.
    Display the Report Output data
      PERFORM display_data.
    At Line-Selection
    AT LINE-SELECTION.
    When double clicked on EBELN display the details of Purchase Doc
      PERFORM line_sel.
    *&      Form  validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Vendor Number
      CLEAR lfa1-lifnr.
      IF NOT s_lifnr[] IS INITIAL.
        SELECT lifnr UP TO 1 ROWS
            INTO lfa1-lifnr
            FROM lfa1
            WHERE lifnr IN s_lifnr.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Vendor'(002).
        ENDIF.
      ENDIF.
    Validation of PO Number
      CLEAR ekko-ebeln.
      IF NOT s_ebeln[] IS INITIAL.
        SELECT ebeln UP TO 1 ROWS
            INTO ekko-ebeln
            FROM ekko
            WHERE ebeln IN s_ebeln.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Document Number'(003).
        ENDIF.
      ENDIF.
    Validation of PO Document Type
      CLEAR t161-bsart.
      IF NOT s_bsart[] IS INITIAL.
        SELECT bsart UP TO 1 ROWS
            INTO t161-bsart
            FROM t161
            WHERE bsart IN s_bsart.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
        ENDIF.
      ENDIF.
    Validation of Purchasing Group
      CLEAR t024-ekgrp.
      IF NOT s_ekgrp[] IS INITIAL.
        SELECT ekgrp UP TO 1 ROWS
            INTO t024-ekgrp
            FROM t024
            WHERE ekgrp IN s_ekgrp.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
        ENDIF.
      ENDIF.
    ENDFORM.                    " validate_screen
    *&      Form  fetch_data
    Fetching the PO related data from Database Tables
    FORM fetch_data .
      CLEAR i_po.
      REFRESH i_po.
      SELECT a~ebeln            " PO No.
             b~ebelp            " PO Item
             a~bstyp            " PO Category
             a~bukrs            " Company Code
             a~bsart            " PO Type
             a~lifnr            " Vendor No
             a~ekgrp            " Purchase Group
             a~waers            " Currency
             a~bedat            " PO Date
             b~txz01            " Material Text
             b~werks            " Plant
             b~lgort            " Storage Location
             b~matkl            " Material Group
             b~menge            " PR Quantity
             b~meins            " UOM
             b~bprme            " Price Unit
             b~netpr            " Net price
             b~peinh            " Price Unit UOM
             b~pstyp            " Item Category
             b~knttp            " Account Assignment Category
        INTO TABLE i_po
        FROM ekko AS a JOIN ekpo AS b
        ON a~ebeln = b~ebeln
        WHERE a~ebeln IN s_ebeln AND
              a~lifnr IN s_lifnr AND
              a~ekgrp IN s_ekgrp AND
              a~bsart IN s_bsart AND
              a~bedat IN s_bedat.
      SORT i_po BY ebeln ebelp.
      break-point.
      IF NOT i_po[] IS INITIAL.
    Fetch the PO History/Invoice Details from EKBE Table
        CLEAR i_ekbe.
        REFRESH i_ekbe.
        SELECT ebeln           " PO No.
               ebelp           " PO Item
               gjahr           " Fiscal Year
               belnr           " PO Invoice No
               menge           " PR Quantity
               wrbtr           " Price in Local Currency
               dmbtr           " Price in Foreign Currency
               waers           " Currency
               shkzg           " Dr/Cr Indicator
         INTO TABLE i_ekbe
         FROM ekbe
         FOR ALL ENTRIES IN i_po
         WHERE ebeln = i_po-ebeln AND
               ebelp = i_po-ebelp AND
               vgabe = c_vgabe.
      break-point.
        IF sy-subrc = 0.
          SORT i_ekbe BY ebeln ebelp.
          LOOP AT i_ekbe.
            IF i_ekbe-shkzg = c_h.
              i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
            ENDIF.
            MODIFY i_ekbe.
          ENDLOOP.
      break-point.
    Sum up the Item wise Invoice totals
          LOOP AT i_ekbe.
            AT END OF ebelp.
              READ TABLE i_ekbe INDEX sy-tabix.
              SUM.
              MOVE-CORRESPONDING i_ekbe TO i_inv.
              APPEND i_inv.
            ENDAT.
            CLEAR i_inv.
          ENDLOOP.
          SORT i_inv BY ebeln ebelp.
            break-point.
        ENDIF.
      ENDIF.
    Move the Vendor Name and Invoice Values to I_rep Internal Table
      LOOP AT i_po.
        MOVE-CORRESPONDING i_po TO i_rep.
        CLEAR i_inv.
        READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
                                  ebelp = i_po-ebelp.
        IF sy-subrc = 0.
          i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
          i_rep-curr  = i_inv-waers.
        ELSE.
          i_rep-orewr = i_po-menge * i_po-netpr.
          i_rep-curr  = i_po-waers.
        ENDIF.
      break-point.
    Get the Vendor Name
        CLEAR lfa1-name1.
        SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
          WHERE lifnr = i_po-lifnr.
        IF sy-subrc = 0.
          i_rep-name1  = lfa1-name1.
        ENDIF.
        APPEND i_rep.
        CLEAR  i_rep.
          break-point.
      ENDLOOP.
      SORT i_rep BY lifnr ebeln ebelp.
      DELETE i_rep WHERE orewr LE 0.
      break-point.
    ENDFORM.                    " fetch_data
    *&      Form  display_data
    Display the Report Output data
    FORM display_data .
      DATA: lv_flag,               " New Flag
            lv_rec TYPE i.         " No of Records
      CLEAR lv_rec.
      IF i_rep[] IS INITIAL.
        MESSAGE e000 WITH 'No Data found'(022).
      ELSE.
        LOOP AT i_rep.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
    At New Purchase Document
          AT NEW ebeln.
            WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
            lv_flag = c_x.
            lv_rec = lv_rec + 1.
          ENDAT.
          WRITE: 1 sy-vline,
                12 sy-vline,13(4)   i_rep-bsart,
                17 sy-vline,18(10)  i_rep-lifnr,
                28 sy-vline,29(35)  i_rep-name1,
                64 sy-vline,65(4)   i_rep-ekgrp,
                69 sy-vline,70(10)  i_rep-bedat,
                80 sy-vline,81(5)   i_rep-ebelp,
                86 sy-vline,87(40)  i_rep-txz01,
               127 sy-vline,128(9)  i_rep-matkl,
               137 sy-vline,138(1)  i_rep-pstyp,
               139 sy-vline,140(1)  i_rep-knttp,
               141 sy-vline,142(4)  i_rep-werks,
               146 sy-vline,147(4)  i_rep-lgort,
               151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
               165 sy-vline,166(3)  i_rep-meins,
               169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
               185 sy-vline,186(4)  i_rep-waers,
               190 sy-vline,191(5)  i_rep-peinh,
               196 sy-vline,197(4)  i_rep-bprme,
               201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
               217 sy-vline,218(4)  i_rep-curr,
               222 sy-vline,223(7)  i_rep-bstyp centered,
               230 sy-vline.
          NEW-LINE.
          hide: i_rep-ebeln.
        ENDLOOP.
        ULINE.
        FORMAT COLOR OFF.
        WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
                    lv_rec COLOR 3.
      ENDIF.
    ENDFORM.                    " display_data
    *&      Form  header
    Write the Report Header
    FORM header .
      FORMAT RESET.
    header
      WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
      SKIP.
      FORMAT COLOR COL_HEADING.
      ULINE.
      WRITE:/1 sy-vline,2(10)   'Pur.Doc.No'(006) CENTERED,
            12 sy-vline,13(4)   'Type'(007),
            17 sy-vline,18(10)  'Vendor'(008) CENTERED,
            28 sy-vline,29(35)  'Name'(009) CENTERED,
            64 sy-vline,65(4)   'PGrp'(010) CENTERED,
            69 sy-vline,70(10)  'Doc.Date'(012) CENTERED,
            80 sy-vline,81(5)   'Item'(011),
            86 sy-vline,87(40)  'Material Short Text'(024) CENTERED,
           127 sy-vline,128(9)  'Mat.Group'(013),
           137 sy-vline,138(1)  'I',
           139 sy-vline,140(1)  'A',
           141 sy-vline,142(4)  'Plnt'(014),
           146 sy-vline,147(4)  'SLoc'(015),
           151 sy-vline,152(13) 'Quantity'(016) CENTERED,
           165 sy-vline,166(3)  'UoM'(017),
           169 sy-vline,170(15) 'Net Value'(018) CENTERED,
           185 sy-vline,186(4)  'Curr'(019),
           190 sy-vline,191(5)  'Per'(020),
           196 sy-vline,197(4)  'Unit'(021),
           201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
           217 sy-vline,218(4)  'Curr'(019),
           222 sy-vline,223(7)  'Doc.Cat'(026),
           230 sy-vline.
      ULINE.
    ENDFORM.                    " header
    *&      Form  toggle_color
    This routine alters the color of the records in the list
    FORM toggle_color.
      IF gv_dial = space.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        gv_dial = c_x.
      ELSE.
        FORMAT COLOR 1 INTENSIFIED OFF.
        CLEAR gv_dial.
      ENDIF.
    ENDFORM.                    " toggle_color
    *&      Form  LINE_SEL
    *When double clicked on EBELN field display the details of Purchase Doc
    FORM line_sel.
      CASE sy-lsind.
        WHEN '1'.
          DATA: lv_field(20),
                lv_value(10),
                lv_bstyp like i_rep-bstyp.
          clear: lv_bstyp,lv_value, lv_field.
          GET CURSOR FIELD lv_field VALUE lv_value.
          IF lv_field = 'I_REP-EBELN'.
            IF NOT lv_value IS INITIAL.
              READ LINE sy-index FIELD VALUE i_rep-bstyp
                                       INTO  lv_bstyp.
             READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
              if lv_bstyp = 'F'.
                SET PARAMETER ID 'BES' FIELD lv_value.
                CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
              elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
                SET PARAMETER ID 'VRT' FIELD lv_value.
                CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
              elseif lv_bstyp = 'A'.
                SET PARAMETER ID 'ANF' FIELD lv_value.
                CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
              endif.
            ENDIF.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " line_sel
    <b>Reward points for useful Answers</b>
    Regards
    Anji

Maybe you are looking for

  • Running games and apps on an external drive?

    I have a macbook pro with windows 7 using bootcamp and the hard drive partition is filling up. I can't really assign it any more space on the boot drive because I need it for what's running on the osx partition. Is it possible to put some games or so

  • APEX BFILE

    I have to store graphical documents in an Oracle Database using Apex. I have designed an application based on the Sample Application for Customers, Product, Orders Page 3 and 6 using apex_util.get_blob_file_src and a File Browse Item to store the doc

  • IPhone 5 factory unlocked, invalid sim

    My iPhone 5 was factory unlocked by T-Mobile Austria. I've got an unlocking guidance. I've made it through, but I get Invalid SIM error all the time. I've contacted T-Mobile several times, if they completed my request.Their answer was: AL_PENDING_UNL

  • Show hidden characters shortcut causes crash

    I'm running CS4 on Mac OS 10.5.8 (Indesign 6.0.4 which I believe is the latest). Lately, InDesign has started crashing when I use command+opt+I (the shortcut for show hidden characters), which I do A LOT for text design purposes. It doesn't crash eve

  • Configuring Sequential approval mechanism

    Hello, i have setup a sequential approval mechanism. So when a user requests a role, it first has to be approved by his manager, then by the role owner (exactly as in the page 21 of the documentation http://www.sdn.sap.com/irj/scn/go/portal/prtroot/d