Unable to cancel - open purchase order where all items are removed

Hi all,
When We try to cancel/close open purchase order where all items are removed from item master ?
It showing error message,
"No matching records found  'Items' (OITM) "
Purcahse order was created on may-2007.
As purchase order showing in open item list.
Any solution for this problem ?
Jeyakanthan

SAP does allow items to be removed from the item master with open documents, but only if the documents have not created journals.
It does create headaches though, and this situation is one of them.
If there are not many items, I suggest you recreate the items, close the PO and just cancel the items rather than remove them.
The other workaround is to change the items on the PO to something different that is in the item master, then close it.

Similar Messages

  • Open Purchase Order Separation from item Order Qty

    Hi All,
    Kindly  suggest me how to separate open Purchase order from Item Order Qty.if i have 2 WH with different Order qty.in report it will be shown total order qty of both WH's.like
    Item            WH              Order Qty
    A                 01               100
    A                 02                 50
                      or
    A                 01                  0
    i need like this A--150   OR A--50(order qty).
    plz look into my query and suggest me how to do this.
    select distinct t3.CardName as SuplierName,t2.[ItemCode], t2.itemname,t2.[U_pperson]as PP,((SELECT sum(T4.[OnHand])FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH')) as Stock,t2.MinLevel as 'Min Bin',(((SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH'))-t2.MinLevel) as balance,
    sum(t1.openqty)
    as OrderQty,
    t2.MaxLevel as 'Max Bin',(((SELECT  sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum( T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH'))-t2.MaxLevel)as 'Balance II' from OPOR t0 inner join POR1 t1 on t0.DocEntry=t1.DocEntry inner join OITM t2 on t2.ItemCode=t1.ItemCode inner join ocrd t3 on t3.CardCode=t2.CardCode inner join OITW t4 on t4.ItemCode=t1.ItemCode and t4.WhsCode=t1.WhsCode   where t2.validFor='y' and  t2.[U_pperson]='p1' or t2.[U_pperson]='p2'  or t2.[U_pperson]='p3' group by t3.CardName,T4.[OnHand],t2.[ItemCode], t2.itemname,t2.[U_pperson],t2.MinLevel,t2.MaxLevel,t1.OpenQty
    Thanks&Regards,
    P.Pratap

    Hi,
    Try this:
    select distinct t3.CardName as SuplierName,t2.[ItemCode], t2.itemname,t2.[U_pperson]as PP,((SELECT sum(T4.[OnHand])FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH')) as Stock,t2.MinLevel as 'Min Bin',(((SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH'))-t2.MinLevel) as balance,
    sum(t1.openqty)
    as OrderQty,
    t2.MaxLevel as 'Max Bin',(((SELECT  sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum( T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH'))-t2.MaxLevel)as 'Balance II'
    from
    OPOR t0 inner join POR1 t1 on t0.DocEntry=t1.DocEntry inner join OITM t2 on t2.ItemCode=t1.ItemCode inner join ocrd t3 on t3.CardCode=t2.CardCode inner join OITW t4 on t4.ItemCode=t1.ItemCode and t4.WhsCode=t1.WhsCode   where t2.validFor='y' and  t2.[U_pperson]='p1' or t2.[U_pperson]='p2'  or t2.[U_pperson]='p3'
    group by t3.CardName,t2.[ItemCode], t2.itemname,t2.[U_pperson],t2.MinLevel,t2.MaxLevel
    Thanks & Regards,
    Nagarajan

  • Unable to post the Purchase Order inbound idocs which are in status 64

    Hi
    While Processing the inbound idocs which are in status 64 for message type: PORDCR i am getting the
    idoc into error status 51 saying the error as "Missing authorization: Purchase Order Create Purchasing Grou V10"
    We are getting the inbound idocs from third party and we need to post these idocs in production.
    Can any one help me out how to proceed further on this.
    Thanks in Advance
    Regards,
    Phani Miriyala.

    Hi
    Thank you very much for your quick response.
    As the same user is able to process the idocs of message type PORDCR which are in status 64 successfully previously.
    Regards,
    Phani Miriyala.

  • 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

  • BADI or function module for updating open purchase orders

    Hi all,
    Does anyone know of a BADI or function module which can be used for updating item prices in open purchase orders?
    All helpful answers are highly appreciated!
    Regards,
    MV

    1 ) execute this program  in se38 .enter the input as transaction code  for which you want list of User
    Exit.
    REPORT z_find_userexit NO STANDARD PAGE HEADING.
    *&  Enter the transaction code that you want to search through in order
    *&  to find which Standard SAP® User Exits exists.
    *& Tables
    TABLES : tstc,     "SAP® Transaction Codes
             tadir,    "Directory of Repository Objects
             modsapt,  "SAP® Enhancements - Short Texts
             modact,   "Modifications
             trdir,    "System table TRDIR
             tfdir,    "Function Module
             enlfdir,  "Additional Attributes for Function Modules
             tstct.    "Transaction Code Texts
    *& Variables
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    *& Selection Screen Parameters
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    *& Start of main program
    START-OF-SELECTION.
    Validate Transaction Code
      SELECT SINGLE * FROM tstc
        WHERE tcode EQ p_tcode.
    Find Repository Objects for transaction code
      IF sy-subrc EQ 0.
        SELECT SINGLE * FROM tadir
           WHERE pgmid    = 'R3TR'
             AND object   = 'PROG'
             AND obj_name = tstc-pgmna.
        MOVE : tadir-devclass TO v_devclass.
        IF sy-subrc NE 0.
          SELECT SINGLE * FROM trdir
             WHERE name = tstc-pgmna.
          IF trdir-subc EQ 'F'.
            SELECT SINGLE * FROM tfdir
              WHERE pname = tstc-pgmna.
            SELECT SINGLE * FROM enlfdir
              WHERE funcname = tfdir-funcname.
            SELECT SINGLE * FROM tadir
              WHERE pgmid    = 'R3TR'
                AND object   = 'FUGR'
                AND obj_name = enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
    Find SAP® Modifications
        SELECT * FROM tadir
          INTO TABLE jtab
          WHERE pgmid    = 'R3TR'
            AND object   = 'SMOD'
            AND devclass = v_devclass.
        SELECT SINGLE * FROM tstct
          WHERE sprsl EQ sy-langu
            AND tcode EQ p_tcode.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) p_tcode,
        45(50) tstct-ttext.
        SKIP.
        IF NOT jtab[] IS INITIAL.
          WRITE:/(95) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
          WRITE:/1 sy-vline,
          2 'Exit Name',
          21 sy-vline ,
          22 'Description',
          95 sy-vline.
          WRITE:/(95) sy-uline.
          LOOP AT jtab.
            SELECT SINGLE * FROM modsapt
            WHERE sprsl = sy-langu AND
            name = jtab-obj_name.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            WRITE:/1 sy-vline,
            2 jtab-obj_name HOTSPOT ON,
            21 sy-vline ,
            22 modsapt-modtext,
            95 sy-vline.
          ENDLOOP.
          WRITE:/(95) sy-uline.
          DESCRIBE TABLE jtab.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No of Exits:' , sy-tfill.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(95) 'No User Exit exists'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(95) 'Transaction Code Does Not Exist'.
      ENDIF.
    Take the user to SMOD for the Exit that was selected.
    AT LINE-SELECTION.
      GET CURSOR FIELD field1.
      CHECK field1(4) EQ 'JTAB'.
      SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
      CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    2) Second way is to go to transaction code SE93 .enter transaction code click on display.
    There you will see the package. Copy that package name.
    Go to transaction code se84
    Enhancements -customer exits-enhancementsu2014enter package there and execute.
    You will get list of exits.
    3) BAPI for PO change is
    BAPI_PO_CHANGE

  • DRQ: Check open purchase orders in Stock Data.

    It´s a pray if you can click on a arrow in the Item Master Data under Stock Data in the Colum Ordered to see all open purchase orders for this Item. and the same for Commited to see the open seals orders.

    Hi
    If your query below is still unresolved, then I request you to
    - pls be more clear on what your question is? this will help in providing a suitable solution.
    Thanks,
    Srikanth

  • Cancelation of purchase order

    hi mates
    When i try to cancel the purchase order the following errors are thrown by Sap System.
    1  purchase order data still faulty
    2 Enter reason for change for versiuon
    3 Enter short text for version
    4 Enter requester for version
    plz do give your valuable suggestions
    subbu

    hi
    if this is an service it will come on say 1.7.9
    now if u want to cncel it on 25.7.9  it is not possible as the SERVICE will get finished up on 1.7.9 only so u have to reverse it on same day i.e. 1.7.9
    so system will automatically takle the date of 1.7.9
    regars
    kunal
    Edited by: SAP Learner on Aug 3, 2009 10:41 AM

  • 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

  • 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

  • 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

  • Urgent - How to change Item category for Open Purchase Order

    Hi Team,
    Lil bit tricky issue.
    My client has asked us to change the existing Item Category values, Combinations, Category Set etc. Its been changed and uploaded successfully.
    The question here is how we need to handle the category for Open Purchase Order. How to update the same.
    Do we need to do manually or any other way ?
    Please advice
    Regarads,
    John

    Hi John,
    This is reallly a tricky issue!
    I guess you cannot change the category of an existing PO's.
    This field will be greyed out once we save the form...there were no profiles/other setups to enable this field.
    For all new PO's since you have changed the new category value that should not be a issue.
    Lets wait for some of our colleuges opinion.
    I guess PO cancel should be the final option if we dont hear any new work arounds.
    Thanks
    -Arif.

  • List of opened purchase order.

    Hi,
    what is the trx for a list of opened purchase order?
    Best regards

    Hi
    Looks like you are looking for PO's where there are open (pending) quanities exist.
    There are standard reports like ME2M, ME2L. In selection parameter, you select WE101. This will give all open PO's
    Other method is through accessing table level data i.e,. through SE16 which I think is not needed for your simple requirement.
    Cheers
    Jags

  • OPEN PURCHASE ORDER

    DEAR ALL,
    WHETHER WE HAVE A STANDARD REPORT IN SAP TO GET QUANTITY AND VALUE DATA OF BACK DATED OPEN PURCHASE ORDER?
    PURCHASE ORDER HAS BEEN PREPARED IN JANUARY, DOWN PAYMENT IS MADE IN THE MONTH OF MARCH, MATERIAL IS RECEIVED (GRN MADE) IN AUGUST
    IN ABOVE CASE WHEN I GENERATE A OPEN PURCHASE ORDER REPORT AS ON 31.03.2008 IT IS NOT SHOWING ME THE QUANTITY & VALUE DETAILS OF OPEN PURCHASE ORDERS.
    PLEASE LET ME KNOW THE WORK AROUND.
    WAITING
    AMIT

    Dear,
    Enter ME2N, Select WE101 in selection parameter field.
    Then enter other required detail and click on execute button.
    So system give you list of open purchase order.
    Then click on change layout button.
    Transfer Still to be invoiced (qty) field Column Set to Display column set mode.
    And click on continua button.
    Duse to this field you can track for how many quantity good receipt is created of purchase order.
    Regards,
    Mahesh Wagh

  • 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.

Maybe you are looking for

  • J2EE shutdown, reboot - rfc, r2startup problem

    Hi, I have install J2EE Engine 6.20 on a R/3 Enterprise 4.70 extension set 2.00 central instance. I tried to start, restart and stop j2ee from smicm. "End process - with restart": works fine, after that "End process - without restart": ok. "Restart -

  • BAPI call via UDF in mapping - error handling/stopping processing

    Hi, We are calling a BAPI in an ECC system from a UDF in message mapping.  The BAPI then calls other BAPIs to perform translations and validations on the message data.  An error could occur during a translation (for example), and an error flag would

  • Related tables to fetch from PTMW

    Hi Gurus Can you tell me what tables are envolved in PTMW transaction . We have an issue with the accuracy of data that has been keyed into SAP from timesheets. As a result the staff have to audit the timesheets entered for some drivers in the the pe

  • DME - Reference field for document more than 1

    Dear all, I'd created DME structure for generate TXT file and it works good except for 1 field : payment detail. I map this attribute to structure FPAYP field XBLNR,  it should appear 2 line item in TXT file because I have 2 document for 1 vendor / p

  • Very weak wifi signal after i change the battery

    i recently change my playbook battery. everything seems perfectly okay except that i have a very weak wifi signal reception. i need to be very near the router just to have the signal. i dont know what went  wrong during the changing of battery proces