Bad performance updating purchase order (ME22N)

Hello!
Recently, we face bad performance updating purchase orders using transaction ME22N. The problem occurs since we implemented change documents for a custom table T. T is used to store additional data to purchase order positions using BAdIs ME_PROCESS_PO_CUST and ME_GUI_PO_CUST.
I've created a change document C_T for T using transaction SCDO. The update module of the change document is triggered in the method POST of BAdI ME_PROCESS_PO_CUST.
Checking transaction SM13, I recognized that the update requests of ME22n have status INIT for several minutes before they are processed. I also tried to exclude the call of the update module for change document C_T (in Method POST) - the performance problem still occurs!
The problem only occurs with transaction ME22N, thus I assume that the reason is the new change document C_T.
Thanks for your help!
Greetings,
Wolfgang

I agree with vikram, we don't have enough information, even not a small hint on usage of this field, so which answer do you expect (The quality of an answer depends ...) This analysis must be executed on your system...
From a technical point of view, the BAPI_PO_CHANGE has EXTENSIONIN table parameter, fill it using structure BAPI_TE_MEPOITEM[X] alreading containing CI_EKPODB (*) and CI_EKPODBX (**)
Regards,
Raymond
(*) I guess you have used this include
(**) I guess you forgot this one (same field names but data element always BAPIUPDATE)

Similar Messages

  • User exit/BADI for updating Purchase Order Item

    I am would like to update the purchase order item - specifically field EKPO-REPOS in a user exit or BADI. I haven't been able to find one that allows you to update the purchase order item.
    Any input would be appreciated.
    Derick

    You can use BADI ME_PROCESS_PO_CUST for you requirement
    Method PROCESS_ITEM
    * Retrieve item data.
        CALL METHOD im_item->get_data
          RECEIVING
            re_data = v_data_item.
    Do you validations and changes here
    *update changes
    CALL METHOD im_item->set_data( v_data_item ).

  • Can anyone give me user exit name for create/update purchase order partners

    Hello guys
      Can anyone gives me user exit name for create/update purchase order partners?
      Requirement is to insert/update partner when SC flag is checked while creating/updating purchase order (ME22N / ME21N)  by using user exit.

    hi,
    check these exits.
    Transaction Code - ME21N                    Create Purchase Order
    Enhancement/ Business Add-in            Description
    Enhancement
    MEQUERY1                                Enhancement to Document Overview ME21N/ME51N
    MEVME001                                WE default quantity calc. and over/ underdelivery tolerance
    MM06E001                                User exits for EDI inbound and outbound purchasing documents
    MM06E003                                Number range and document number
    MM06E004                                Control import data screens in purchase order
    MM06E005                                Customer fields in purchasing document
    MM06E007                                Change document for requisitions upon conversion into PO
    MM06E008                                Monitoring of contr. target value in case of release orders
    MM06E009                                Relevant texts for "Texts exist" indicator
    MM06E010                                Field selection for vendor address
    MMAL0001                                ALE source list distribution: Outbound processing
    MMAL0002                                ALE source list distribution: Inbound processing
    MMAL0003                                ALE purcasing info record distribution: Outbound processing
    MMAL0004                                ALE purchasing info record distribution: Inbound processing
    MMDA0001                                Default delivery addresses
    MMFAB001                                User exit for generation of release order
    MRFLB001                                Control Items for Contract Release Order
    MELAB001                                Gen. forecast delivery schedules: Transfer schedule implem.
    AMPL0001                                User subscreen for additional data on AMPL
    LMEDR001                                Enhancements to print program
    LMELA002                                Adopt batch no. from shipping notification when posting a GR
    LMELA010                                Inbound shipping notification: Transfer item data from IDOC
    LMEQR001                                User exit for source determination
    LMEXF001                                Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001                                Customer-Specific Source Determination in Retail
    M06B0001                                Role determination for purchase requisition release
    M06B0002                                Changes to comm. structure for purchase requisition release
    MEFLD004                                Determine earliest delivery date f. check w. GR (only PO)
    MEETA001                                Define schedule line type (backlog, immed. req., preview)
    ME590001                                Grouping of requsitions for PO split in ME59
    M06E0005                                Role determination for release of purchasing documents
    M06E0004                                Changes to communication structure for release purch. doc.
    M06B0005                                Changes to comm. structure for overall release of requisn.
    M06B0004                                Number range and document number
    M06B0003                                Number range and document number

  • What is the BADI  while SAVING purchase order using me22n?

    what is the BADI  while SAVING purchase order using me22n?
    while i will save purchase order through me22n, badi should be fire what is badi for that?
    regards,
    dushyant.

    Dushyant,
    Hopefully you know how to implement the BADI ME_PROCESS_PO_CUST now.
    The following are the codes that you can put in the method "Post".
      DATA: LW_HEADER        TYPE MEPOHEADER,
            LW_POSTED_HEADER TYPE MEPOHEADER,
            LW_VALID         TYPE MMPUR_BOOL,
            ITAB_ITEM        TYPE PURCHASE_ORDER_ITEMS,
            LW_ITEM          TYPE MEPOITEM,
            ITEM_INTERFACE   TYPE PURCHASE_ORDER_ITEM,
            ITAB_ACCT        TYPE PURCHASE_ORDER_ACCOUNTINGS,
            ACCT_INTERFACE   TYPE PURCHASE_ORDER_ACCOUNTING,
            LW_ACCT          TYPE MEPOACCOUNTING,
            LW_POSTED_ACCT   TYPE MEPOACCOUNTING,
            W_ACCT_CHANGED  TYPE C,
            W_GRANT_AMT      TYPE EKPO-NETWR,
            W_FINANCE_AMT    TYPE EKPO-NETWR,
            W_FLAG           TYPE C.
    Check if PO header data is valid
      CLEAR LW_VALID.
      CALL METHOD IM_HEADER->IS_VALID
        RECEIVING
          RE_VALID = LW_VALID.
      CHECK LW_VALID = 'X'.
    PO header data is valid
    Get the newly updated PO header data
      CLEAR LW_HEADER.
      CALL METHOD IM_HEADER->GET_DATA
        RECEIVING
          RE_DATA = LW_HEADER.
    Get the posted PO header data
      CLEAR LW_POSTED_HEADER.
      CALL METHOD IM_HEADER->GET_PERSISTENT_DATA
        IMPORTING
          EX_DATA = LW_POSTED_HEADER
        EXCEPTIONS
          NO_DATA = 1.
      IF SY-SUBRC <> 0.
        CLEAR LW_POSTED_HEADER.
      ENDIF.
    Get PO line items
      REFRESH ITAB_ITEM.
      CALL METHOD IM_HEADER->GET_ITEMS
        RECEIVING
          RE_ITEMS = ITAB_ITEM.
      LOOP AT ITAB_ITEM INTO ITEM_INTERFACE.
    Check if PO line item is valid
        CLEAR LW_VALID.
        CALL METHOD ITEM_INTERFACE-ITEM->IS_VALID
          RECEIVING
            RE_VALID = LW_VALID.
        IF LW_VALID <> 'X'.
    This PO line item is not valid
          CLEAR W_ACCT_CHANGED.
          EXIT.
        ENDIF.
        CLEAR LW_ITEM.
        CALL METHOD ITEM_INTERFACE-ITEM->GET_DATA
          RECEIVING
            RE_DATA = LW_ITEM.
    Get the account interface
        REFRESH ITAB_ACCT.
        CALL METHOD ITEM_INTERFACE-ITEM->GET_ACCOUNTINGS
          RECEIVING
            RE_ACCOUNTINGS = ITAB_ACCT.
        LOOP AT ITAB_ACCT INTO ACCT_INTERFACE.
          CLEAR LW_ACCT.
    Get the newly updated PO item data
          CALL METHOD ACCT_INTERFACE-ACCOUNTING->GET_DATA
            RECEIVING
              RE_DATA = LW_ACCT.
          CLEAR LW_POSTED_ACCT.
    Get the posted PO item data
          CALL METHOD ACCT_INTERFACE-ACCOUNTING->GET_PERSISTENT_DATA
            IMPORTING
              EX_DATA = LW_POSTED_ACCT
            EXCEPTIONS
              NO_DATA = 1.
          IF SY-SUBRC > 0.
            CLEAR LW_POSTED_ACCT.
          ENDIF.
          IF LW_ACCT-LOEKZ <> LW_POSTED_ACCT-LOEKZ OR
             LW_ACCT-KOSTL <> LW_POSTED_ACCT-KOSTL OR
             LW_ACCT-PRCTR <> LW_POSTED_ACCT-PRCTR OR
             LW_ACCT-PS_PSP_PNR <> LW_POSTED_ACCT-PS_PSP_PNR.
    Account assignment was changed
    We will force this PO to go through workflow
            W_ACCT_CHANGED = 'Y'.
          ENDIF.
        ENDLOOP.
      ENDLOOP.

  • Bapi to update delivery date in confirmation tab in purchase order me22n tc

    Hi All,
    I am writing a BDC to update the data in confirmation tab for puchase orders for enjoy transaction.
    Please let me know how to updated delivery date in confirmation tab in purchase order(ME22N) using a bapi.
    I tried using BAPI_PO_CHANGE but found no parameter related to confirmations tab.  this BAPI has every thing to update like header data, item data, scheduling data..... except confirmation.
    So please let me know how to update the data in confirmation.
    We need to use only enjoy transaction ME22N not ME22 in BDC thats why we are looking for a BAPI.
    Regards,
    Venkat

    Hi
    Check the table parameter POCONFIRMATION in BAPI_PO_CHANGE
    U can see the field DELIV_DATE in the structure BAPIEKES.
    DELIVERY_DATE in the structure BAPIMEPOSCHEDULE as well.
    Regards,
    Dwaraka.S
    Edited by: Dwarakanath Sankarayogi on Feb 5, 2009 7:57 AM

  • Update Purchase order number in Sales order item level from inbound ORDCHG iDoc

    Hi Gurus,
    I want to update purchase order number from the iDoc 'ORDCHG' to sales order item level (sold to party purchase order number) i.e, VBAK-BSTKD.
    Which exit I need to use?  where to update?  Can you please help.
    Thank you in advance.
    Regards,
    San

    Finally Resolved the problem by writing 2 exits.
    one exit 'EXIT_SAPLVEDB_007'  for identify correct item in the sales order by updating the customer purchase order item number i.e., VBAP-POSEX.  if we update the POSEX field then it wont create new item instead, it will update the item which it is referring to .
    2nd exit for updating the purchase order number. 
    I have tried to pass the program name, screen number, field name, field value etc to bdcdata in the exit 'EXIT_SAPLVEDB_002'. but I observed that it is not going to that screen in the debugging.
    when I try E1EDP02 with QUALF '044' it will update ship-to party's purchase order number.  so to update ship-to party's purchase order number it is going to that screen. 
    so I have used that thing to update purchase order number in sold-to party's purchase order number.
    so when it is going that screen iam changing the field name 'VBKD-BSTKD_E' to 'VBKD-BSTKD' in bdcdata.  Then it is worked.
    This is the solution I found in my time.
    Any way it is solved.  Hope it will be helpful for others who will get this problem.

  • Item field to non-editable mode(display mode) in Purchase Order(ME22n).

    Hi SDN,
    Based on the Comany code i need to modify the item level fields like <b>Item, Account Assignment, Material</b> to non-editable mode(display mode) in Purchase Order(ME22n).
    So i modifed in the method MODIFY_SCREEN_TC_LINE of class CL_TABLE_VIEW_MM and set the value L_FIELD_STATUS = *  for the screen filed MEPO1211-EBELP. When i execute, the whole column changed to display mode and the empty rows filled with 0(zero). But i want only grey mode for the line items that are present for that PO but not for the whole column. So can any one guide me to do so. I am using 4.6c.
    Thanks in Advance
    Regards
    Basha

    Hi Ramesh,
    Normally you can change the currency field, after entering information in Data base's table, go to Detail's table and change the rate as you want, then directly choose your PO number.
    so the system accept the rate entered aven though the PO had another rate.
    Regards.

  • Updating Purchase Order data in VBKD table

    Hello,
    We are trying to update Purchase order data in VBKD table for Sales Order at Item level. When sales Order is created, VBKD has a default record with VBELN = 'sales order number' and Item = '00000'. We want to update BSTKD_E field with Purchase order number for VBELN= 'sales order number' and Item = '00010'.
    We wrote our logic in USEREXIT_SAVE_DOCUMENT_PREPARE and USEREXIT_MOVE_FIELDS_TO_VBKD in MV50AFZZ to append new entries in XVBKD with VBELN= 'sales order number' and Item = '00010'. But in this case Sales order is not created with UPDATE TERMINATED message. We are not sure if we can append a new record in XVBKD.
            wa_xvbkd = xvbkd.
            wa_xvbkd-posnr = wa_xvbap-posnr.  "00010
            wa_xvbkd-bstkd_e = vbkd-bstkd.   "PO no
            wa_xvbkd-posex_e = wa_xvbap-posnr. "Purch. order item no
            wa_xvbkd-updkz = C_I.
            APPEND wa_xvbkd TO xvbkd.
            CLEAR wa_xvbkd.
    Please advice the suitable way to have a Purchase Order item level data in Sales Order.
    Thanks
    Rohit

    Hi,
    You can try these FM to update info record.
    ME_DB_UPDATE_INFORECORDS
    ME_UPDATE_INFORECORD
    ME_UPDATE_INFORECORD_COND
    ME_UPDATE_INFORECORD_PD
    Check the sample code on BAPI_PO_CHANGE
    http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm
    Regards,
    Shiva Kumar

  • Unable to update purchase order after partial delivery

    bold Issue:
    After upgrading from v2005 > v2007:
    1) We created a PO with two different purchase items :
    row 1: 10 pcs Item x
    row 2: 15 pcs item Y
    2) create a Goods Receipt PO based on the PO row 2 (15 pcs Item Y) so this row will be closed in the PO.
    3) after saving the GRPO item Y is set as a non purchase item (deselected  the tick box "Purchase Item" on the Item master), because the supplier will not be able to deliver this item again.
    4) After changing item Y, we want to update the amount of Item X to for example 11 (instead of 10). This item is still a purchase item > while updating the PO the following error appears:
    [Purchase Order - Rows - Item No.][line: 2] , 'The item is not a purchase item (2)'  [Message 131-10]
    In v2005 it was possible to follow the above procedure, however since the upgrade of v2007 the error appears.
    The problem is that that it happens very often that the suppliers change the items, so they cannot be delivered anymore.
    bold  Below the response of SAP Support:
    Line: -
    Yes, I understand what you mean that the item you want to deliver is the other item PQ which is still a purchase item. However, the system does the checking based on document level, and not filtering only per Open rows. Hence, even if the item for B8 is fully closed, the system still detects that there is a non-purchase item in an open document (B8).
    In order to update the other item PQ, please set the item B8 back to Purchase Item. Once the Sales Order is updated, you may update B8 again to Non Purchase.
    If the possibility of using the 'Active/Inactive' button is not possible, another workaround is to use a User Define Field to flag the item. For example, you can set it as 'Y', when the supplier stopp ed selling the item. Then, in the Item Search window, you can filter the records to group those items that are set as 'Y' and the rest as 'N'. Only those 'N' items can be used when placing orders.
    As an added procedure, you can generate an approval procedure that will be triggered when an item that is set as 'Y' in the User Defined field is added in the Purchase Order. When the approval is trig gered, the user can then re-verify the items added and make the necessary changes before saving the purchase document.
    I hope the above workaround is suitable. I agree with the expected logic, but per Note937297, the stock status of an item is not meant to be changed after documents are added in the system. It seems a limitation in the current system.
    Line: -
    bold Solution:
    The system should check if the open row can be delivered, since it still is a purchase item.
    The provided workarounds are not an option for our customer, so we are looking forward to a positive reaction!
    Kind regards,
    Charlotte

    Unable to update purchase order after partial delivery
    Issue:
    After upgrading from v2005 > v2007:
    1) We created a PO with two different purchase items :
    row 1: 10 pcs Item x
    row 2: 15 pcs item Y
    2) create a Goods Receipt PO based on the PO row 2 (15 pcs Item Y) so this row will be closed in the PO.
    3) after saving the GRPO item Y is set as a non purchase item (deselected  the tick box "Purchase Item" on the Item master), because the supplier will not be able to deliver this item again.
    4) After changing item Y, we want to update the amount of Item X to for example 11 (instead of 10). This item is still a purchase item > while updating the PO the following error appears:
    [Purchase Order - Rows - Item No.][line: 2] , 'The item is not a purchase item (2)'  [Message 131-10]
    In v2005 it was possible to follow the above procedure, however since the upgrade of v2007 the error appears.
    The problem is that that it happens very often that the suppliers change the items, so they cannot be delivered anymore.
    Below the response of SAP Support:
    Yes, I understand what you mean that the item you want to deliver is the other item PQ which is still a purchase item. However, the system does the checking based on document level, and not filtering only per Open rows. Hence, even if the item for B8 is fully closed, the system still detects that there is a non-purchase item in an open document (B8).
    In order to update the other item PQ, please set the item B8 back to Purchase Item. Once the Sales Order is updated, you may update B8 again to Non Purchase.
    If the possibility of using the 'Active/Inactive' button is not possible, another workaround is to use a User Define Field to flag the item. For example, you can set it as 'Y', when the supplier stopp ed selling the item. Then, in the Item Search window, you can filter the records to group those items that are set as 'Y' and the rest as 'N'. Only those 'N' items can be used when placing orders.
    As an added procedure, you can generate an approval procedure that will be triggered when an item that is set as 'Y' in the User Defined field is added in the Purchase Order. When the approval is trig gered, the user can then re-verify the items added and make the necessary changes before saving the purchase document.
    I hope the above workaround is suitable. I agree with the expected logic, but per Note937297, the stock status of an item is not meant to be changed after documents are added in the system. It seems a limitation in the current system.
    Solution:
    The system should check if the open row can be delivered, since it still is a purchase item.
    The provided workarounds are not an option for our customer, so we are looking forward to a positive reaction!
    Kind regards,
    Charlotte

  • Update Purchase Order number.(Link GL to PO)

    Hi all,
    Currently i am using the below query for one of our report(R12). However there is a need to update Purchase Order Number .Could anyone please help on how to link GL to PO and provide the updated query.The query is as follows.
    SELECT gjl.je_line_num,
        gjl.code_combination_id,
        SUM(NVL(GJL.accounted_dr, 0))                                     AS Accounted_DR,
        SUM(NVL(GJL.accounted_cr, 0))                                     AS Accounted_CR,
        ( SUM(NVL(GJL.accounted_dr, 0)) - SUM(NVL(GJL.accounted_cr, 0)) ) AS Accounted_Balance,
        gjb.actual_flag,
        NULL     AS "Check Number",
        gjb.name AS "Batch Name",
        TO_CHAR(gjh.currency_conversion_date, 'DD-Mon-YYYY') currency_conversion_date,
        ROUND(gjh.CURRENCY_CONVERSION_RATE,4) CURRENCY_CONVERSION_RATE,
        gjh.currency_conversion_type,
        NULL                                                          AS Document_Number,
        SUM(NVL(GJL.entered_dr, 0))                                   AS Entered_DR,
        SUM(NVL(GJL.entered_cr, 0))                                   AS Entered_CR,
        ( SUM(NVL(GJL.entered_dr, 0)) - SUM(NVL(GJL.entered_cr, 0)) ) AS Entered_Balance,
        gcc.segment1
        || '.'
        || gcc.segment2
        || '.'
        || gcc.segment3
        || '.'
        || gcc.segment4
        || '.'
        ||gcc.segment5
        || '.'
        || gcc.segment6
        || '.'
        || gcc.segment7
        || '.'
        || gcc.segment8 "Account Code",
        gl.currency_code AS "Ledger Currency",
        gjh.name         AS "Header Name",
        gjl.description  AS "Journal Line Description",
        NULL             AS party_name,
        NULL             AS party_id,
        GJH.period_name,
        TO_CHAR(gjh.POSTED_DATE, 'DD-Mon-YYYY') POSTED_DATE,
        NULL AS "Purchase Invoice Number",
        NULL AS "AP Invoice Line Description",
        NULL AS "Sales Invoice Number",
        gcc.segment1 Company ,
        gcc.segment2 Account,
        DECODE(gcc.segment2,NULL,'',apps.gl_flexfields_pkg.get_description_sql(gcc.chart_of_accounts_id,2,gcc.segment2)) AS "Seg2 Desc",
        gcc.segment3 AS "Business Model",
        gcc.segment4 Region,
        gcc.segment5 AS "Cost Profit Center",
        gcc.segment6 AS "Product Group",
        gcc.segment7 AS "Related Company",
        gcc.segment8 AS "Reserve",
        gjl.status   AS "Journal Line Status",
        GL.name      AS "LEDGER NAME",
        GJH.currency_code,
        GJH.je_category je_cat_f,
        GJCT.user_je_category_name je_category,
        GJH.je_source,
        NULL AS "Sales_order" ,
        NULL AS "Purchase Order Number"
      FROM APPS.gl_je_headers gjh,
        APPS.gl_je_batches gjb,
        APPS.gl_ledgers gl,
        APPS.gl_je_lines gjl,
        APPS.gl_code_combinations gcc,
        (SELECT je_category_name,
          user_je_category_name
        FROM APPS.GL_JE_CATEGORIES_TL
        WHERE language='E'
        ) GJCT
      WHERE gjh.je_from_sla_flag IS NULL
      --AND gjh.EXTERNAL_REFERENCE IS NULL
      AND gjb.je_batch_id         = gjh.je_batch_id
      AND gjh.ledger_id           = gl.ledger_id
      AND gjh.je_header_id        = gjl.je_header_id
      AND gcc.code_combination_id = gjl.code_combination_id
      AND GJH.JE_CATEGORY         = GJCT.je_category_name(+)
      AND GL.name NOT IN('NL ABX RepCorp USD (EUR)')
      GROUP BY gjl.je_line_num,
        gjl.code_combination_id,
        gjb.actual_flag,
        gjb.name,
        gjh.currency_conversion_date,
        ROUND(gjh.CURRENCY_CONVERSION_RATE,4),
        gjh.currency_conversion_type,
        gcc.segment1
        || '.'
        || gcc.segment2
        || '.'
        || gcc.segment3
        || '.'
        || gcc.segment4
        || '.'
        ||gcc.segment5
        || '.'
        || gcc.segment6
        || '.'
        || gcc.segment7
        || '.'
        || gcc.segment8,
        gl.currency_code,
        gjh.name,
        gjl.description,
        gjb.je_batch_id,
        gjb.status,
        gjb.posted_date,
        gjb.description,
        gl.name,
        gjh.name,
        GJH.period_name,
        gjh.posted_date,
        gcc.segment1,
        gcc.segment2,
        gcc.segment3,
        gcc.segment4,
        gcc.segment5,
        gcc.segment6,
        gcc.segment7,
        gcc.segment8,
        GL.name,
        gjl.status,
        GJH.je_category,
        GJCT.user_je_category_name,
        GJH.je_source,
        GJH.currency_code,
        DECODE(gcc.segment2,NULL,'',apps.gl_flexfields_pkg.get_description_sql(gcc.chart_of_accounts_id,2,gcc.segment2))

    Finally Resolved the problem by writing 2 exits.
    one exit 'EXIT_SAPLVEDB_007'  for identify correct item in the sales order by updating the customer purchase order item number i.e., VBAP-POSEX.  if we update the POSEX field then it wont create new item instead, it will update the item which it is referring to .
    2nd exit for updating the purchase order number. 
    I have tried to pass the program name, screen number, field name, field value etc to bdcdata in the exit 'EXIT_SAPLVEDB_002'. but I observed that it is not going to that screen in the debugging.
    when I try E1EDP02 with QUALF '044' it will update ship-to party's purchase order number.  so to update ship-to party's purchase order number it is going to that screen. 
    so I have used that thing to update purchase order number in sold-to party's purchase order number.
    so when it is going that screen iam changing the field name 'VBKD-BSTKD_E' to 'VBKD-BSTKD' in bdcdata.  Then it is worked.
    This is the solution I found in my time.
    Any way it is solved.  Hope it will be helpful for others who will get this problem.

  • Update purchase Order using offline file

    Hi Experts
    How to create and update purchase Order using offline file. How to execute offline API from program in batch ?

    Hi Experts
    How to create and update purchase Order using offline file. How to execute offline API from program in batch ?

  • How can I prevent any use to update Purchase order if status was "Approval"

    I have some users can update any purchasing order update after "Approval"
    Please I would any Purchasing oracle module expert to Assist me to get way to solve problem.
    How can I prevent any use to update Purchase order if status was "Approval"?
    Further Information :
    Oracle Allpication Release : 11.5.9
    Oracle Purchasing Module.
    Oracle Data Base: 11i
    Khaled,

    Try writing a personalization on the PO screen that adds the following condition to the where clause
    "and authorization_status !='APPROVED'
    However, I will be careful with a blanket restriction like this. There are situations when you need to modify an existing PO. So you should code some exceptions for this rule.
    Hope this helps,
    Sandeep Gandhi

  • BADI-User exit required for updating Purchase order header field -IHREZ

    Hello All,
    We have requirement in our business to update the purchase order header field "our reference" EKKO-IHREZ with some text field. We need a BADI/user exit that can be used for updating this field . We have checked the BADI ME_PROCESS_PO_CUST and unfortunately we are not able to use this BADI as it getting triggered in enjoy SAP transactions ME21N , ME22N etc. We are not creating the purchase order manually and we are using ME59N for creating Purchase order . Hence we are looking for some user exit/BADI that can be used in ME59N for updating the purchase order header field IHREZ.
    Thanks in advance for your immediate response .
    With regards,
    Joseph Anand B

    TRY using the exist u2022     EXIT_SAPLME59_001
    You can also later on add this field by BAPI_PO_CHANGE

  • Regarding Updating Purchase order status

    Hi,
    Could any one tell me how we relate equipment(IE02/IE01-EQUNR) with purchase order(AUFK-AUFNR). how we will find that for a single equipment how many purchase orders are existed.
    and i want to update user status in purchase order could any one tell me the function module or bapi for updating the user status in purchase order.
    Thanks in advance.
    Points will be rewarded for helpfull answer..

    Robert,
    Have you tried to implement BBP_DOC_SAVE_BADI to recognize the creation of the invoice? This document should have the reference for the PO, if you have this relation then you can update status there, in the badi implementation...
    As Ramki says, you should raise an OSS message to ask for an standard way.
    BR,
    Gerardo.

  • Updating Purchase Order

    Hello everyone,
    I have a business requirement to add a new custom field, at item level, in the Purchase Order transaction (ME21N/ME22N/ME23N). It is a char10 field.
    I have already created this new field, which is correctly updating the EKPO table.
    But now the business want to update this field for all Purchase Orders created in the past. I think that I will be able to update it by using a BAPI, however what I really want to know is if there is any problem in doing this since some POs were created more than 3 years ago and for which there are goods and invoice receipts.
    Will this create any inconsistency in the subsequent documents (Goods receipts, invoices) generated after the PO was created?
    Thanks for the help.
    Best regards,
    Tabrez

    I agree with vikram, we don't have enough information, even not a small hint on usage of this field, so which answer do you expect (The quality of an answer depends ...) This analysis must be executed on your system...
    From a technical point of view, the BAPI_PO_CHANGE has EXTENSIONIN table parameter, fill it using structure BAPI_TE_MEPOITEM[X] alreading containing CI_EKPODB (*) and CI_EKPODBX (**)
    Regards,
    Raymond
    (*) I guess you have used this include
    (**) I guess you forgot this one (same field names but data element always BAPIUPDATE)

Maybe you are looking for

  • Credit is Insufficient or Inapplicable

    I'm getting the following error when trying to purchase songs on iTunes: "Your remaining credits are insufficient or inapplicable to this purchase. Your account will be debited for some or all of this purchase." There is a Buy and Cancel button on th

  • Sound on the internet

    My son has just got an Ipod touch and he can't get any sound on youtube videos. Can you help?

  • Creative Vision M Organizer Play Prob

    Hey .. i've got a creative vision m 30 gb and i were able to play songs in the organizer before .. but now i cant .. i press on play and nothing happends .. the same song i used to play before .. and when i try to play some songs on the player and no

  • Placing the same object multiple times

    Does anyone know how to place an object multiple times in either Illustrator or InDesign?  I have a small graphic that I would like to have repeated (probably hundreds of times) to create a background.  I could place it over and over (and over and ov

  • ACE / CSM: how does predictor staticload work?

    Hello, I tested to implement the new ACE feature "staticload" . It seems to be that the connections are not distributed according to my settings. Does anyone have an idea how this feature works? Our SW versions are: =================== core1#show mod