BADI/EXIT in Purchase Order

Hi ALL,
When i create a PO , payment terms displays automatically because In vendor master payment terms is maintained but in some case based on the material/vendor combination i have to select a different payment terms which i have maintained in a Z table. What i should know is, Is there any BADI/Exit which will be triggered
1) when a line item is entered where i should be able to change the payments terms value (OR)
2) when i check the Purchase order
3) When i save the purchase order.
Note : Both Header & Line item value should be available in the EXIT/BADI.
Thanks & Regards,
Rajanidhi Rajasekeran.

Hi,
Follow the below steps to find out what all BADI's are called when you press any button in any transaction.
1) Goto se24 (Display class cl_exithandler)
2) Double click on the method GET_INSTANCE.
3) Put a break point at Line no.25 (CASE sy-subrc).
Now
4) Execute SAP standard transaction
5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
7) This way you will find all the BADIs called on click of any button in any transaction.
Regs,
Venkat Ramanan

Similar Messages

  • BADI / User exit for Purchase order(ME21N) after saving the document

    Hi expert,
    I need the BADI / User exit for Purchase order(ME21N) after saving the document
    This is for email sending after create the purchase order so PO document number will be the import parameter
    pls help me
    point will be reward
    Regards,
    Ganesh

    Hi Ganesh,
    Could you please share your solution?
    Thanks.
    Hoops
    Edited by: Hoops on Jun 13, 2011 10:51 PM

  • User Exit for Purchase Order Release Strategy

    Hi,
    I am a little new to this, how do I search for a user exit for purchase order release strategy (TCode ME29N).
    Thanks in advance.
    Mick

    Hi
    Check the following Exits and BADI for Pur Requisition
    Enhancement
    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
    MM06E011 Activate PReq Block
    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
    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
    M06B0003 Number range and document number
    MEQUERY1 Enhancement to Document Overview ME21N/ME51N
    MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
    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
    Business Add-in
    ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer
    ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal
    ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer
    ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.
    ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Custome
    ME_PO_SC_SRV BAdI: Service Tab Page for Subcontracting
    ME_PO_PRICING_CUST Enhancements to Price Determination: Customer
    ME_PO_PRICING Enhancements to Price Determination: Internal
    ME_INFOREC_SEND Capture/Send Purchase Info Record Changes - Internal Use
    ME_HOLD_PO Hold Enjoy Purchase Orders: Activation/Deactivation
    ME_GUI_PO_CUST Customer's Own Screens in Enjoy Purchase Order
    ME_FIELDSTATUS_STOCK FM Account Assignment Behavior for Stock PR/PO
    ME_DP_CLEARING Clearing (Offsetting) of Down Payments and Payment Requests
    ME_PURCHDOC_POSTED Purchasing Document Posted
    SMOD_MRFLB001 Control Items for Contract Release Order
    EXTENSION_US_TAXES Extended Tax Calculation with Additional Data
    ARC_MM_EKKO_WRITE BAdI: Enhancement of Scope of Archiving (MM_EKKO)
    ARC_MM_EKKO_CHECK BAdI: Enhancement of Archivability Check (MM_EKKO)
    MM_EDI_DESADV_IN Supplementation of Delivery Interface from Purchase Order
    MM_DELIVERY_ADDR_SAP Determination of Delivery Address
    ME_WRF_STD_DNG PO Controlling Reminder: Extension to Standard Reminder
    ME_TRIGGER_ATP Triggers New ATP for Changes in EKKO, EKPO, EKPV
    ME_TRF_RULE_CUST_OFF BADI for Deactivation of Field T161V-REVFE
    ME_TAX_FROM_ADDRESS Tax jurisdiction code taken from address
    ME_REQ_POSTED Purchase Requisition Posted
    ME_REQ_OI_EXT Commitment Update in the Case of External Requisitions
    ME_RELEASE_CREATE BAdI: Release Creation for Sched.Agrmts with Release Docu.
    ME_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields
    ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing
    ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation
    ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)
    ME_CCP_BESWK_AUTH_CH BAdI for authorization checks for procuring plant
    ME_CCP_ACTIVE_CHECK BAdI to check whether CCP process is active
    ME_BSART_DET Change document type for automatically generated POs
    ME_BAPI_PR_CREATE_02
    ME_BAPI_PR_CREATE_01
    ME_BAPI_PO_CREATE_02
    ME_BAPI_PO_CREATE_01
    ME_BADI_DISPLAY_DOC BAdI for Internal Control of Transaction to be Invoked
    ME_ACTV_CANCEL_PO BAdI for Activating the Cancel Function at Header Level
    MEGUI_LAYOUT BAdI for Enjoy Purchasing GUI
    ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO
    ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions
    ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions
    ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders
    ME_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders
    ME_COMMITMENT_STO_CH BadI for checking if commitments for STOs are active
    ME_COMMITMENT_RETURN Commitment for return item
    ME_CIP_REF_CHAR Enables Reference Characteristics in Purchasing
    ME_CIP_ALLOW_CHANGE Configuration in Purchasing: Changeability Control
    ME_CIN_MM06EFKO Copy PO data for use by Country version India
    ME_CIN_LEINRF2V BADI for LEINRF03 excise_invoice_details
    ME_CIN_LEINRF2R BADI for CIN India - Delivery charges
    ME_CHECK_SOURCES Additional Checks in Source Determination/Checking
    ME_CHECK_OA Check BAdI for Contracts
    Reward points if useful
    Rgds,
    Naren

  • User Exit for Purchase Order Line Items.

    I have been trying to search for a User Exit for Purchase Order Line Items and have been unable to do find anything.  I need to overwrite the Net Price and Pricing Condition on a certain type of material based upon the Pricing Condition for that Line Item which is on the Sales Document.  Any direction you can point me into would be greatly appreciated.  Thanks.

    Thanks for pointing me in the right direction.  I was able to create my first BADI using the PROCESS_ITEM method.  The following link was also very helpful: Re: BADI ME_PROCESS_PO_CUST Method:PROCESS_ITEM

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

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

  • User-Exit OR a BAdi for the Purchase order create.

    Hi,
    I am looking for a User-Exit or a BAdi which is fired when the Purchase order is being created in the SRM server via Web template. The requirement is as follows:
    There is a flag(Check box) at the the item level, Basic Data tab. This flag is called as Unlimited Overdelivery Allowed. It is with the tolerances field. Now I want this flag to be always set for a PO of a material of certain type.
    Can anyone tell me which User-Exit OR Badi I should use to always set this flag?
    The Technical field name is UNLIMITED.
    I tried a lot but could not get any.
    Regards,
    Deepak.

    Hi Deepak,
      Did you try doc_change badi? THis badi is available in all the bus objects.
    thanks,
    Ashwin

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

  • User exit or BADI while saving purchase order

    Hello,
    I want to use an user exit or BADI while saving of purchase order. The objective is to check the material group of the line item while saving. We don´t want to allow to save purchase orders for one material group.
    Can you please guide me.
    Thanks
    Srinivasan

    Hi
    The Business Add-In (BAdI) ME_PROCESS_PO_CUST enables you to extend the business logic of the Enjoy purchase order on an individual basis.
    You can thus influence the dialog transactions ME21N, ME22N, ME23N, and ME29N, and the BAPIs BAPI_PO_CREATE1 and BAPI_PO_CHANGE.
    Typical applications for this BAdI include:
    Processing of own objects
    Processing of additional data on standard objects
    Implementation of additional checks and derivationsChange of data in standard fields
    Change in field selection
    you can use this BADI for checking the material group
    Thanks & Regards
    Kishore

  • User exit for Purchase order

    Hi,
    We are creating a PO with 2 Purchase requisitions each having 5000/-INR. while creating the purchase order we changed the qty then net value becomes 12000/-INR for both PR's, so the difference is 2000/- which is 10% greater than actual net value that is 10000/-.
    while saving the purchase order we need to rise one error message why means the difference value 2000/- is greater that 10%.
    For that we need User Exit and any example code.
    Thanks.

    Hi Deepak,
    Use this Badi. THis will be called at the time of saving PO. U can validate according to your requirement.
    Sample coding:
    METHOD if_ex_me_purchdoc_posted~posted .
          LOOP AT im_ekpo INTO lv_ekpo WHERE LOEKZ NE 'X'.
            SELECT * FROM qinf INTO lv_qinf WHERE matnr     = lv_ekpo-matnr
                                              AND lieferant = im_ekko-lifnr
                                              AND werk      = lv_ekpo-werks.
              IF sy-subrc = 0.
                IF im_ekko-bedat > lv_qinf-frei_dat.
                  MESSAGE e000(zamq) WITH 'Vendor is not released  by quality for material ' lv_ekpo-matnr.
                ENDIF.
              ENDIF.
            ENDSELECT.
          ENDLOOP.
    ENDMETHOD.
    Regards,
    Sudhakar.

  • User Exit for Purchase Order Release.

    Hi Friends,
    I am searching for a user exit which should trigger at the time of Purchase Order release in ME29n transaction.
    If anyone can help me for the same....!!!
    I need the exact exit which triggers at the release of PO....
    Points will be rewarded for the needful replies.
    Regards,
    Mandeep.

    hai   Mandeep Singh, 
    I am Genaralising This For U.
    It Is ver EASY Procees.
    Just Go To SE84
    Give The PRogram Name Or PAckage name In Which  ME29n  is present.
    Then Click On Display.
    Then Click On Enhancements.
    Then U will Get USer Exits Aswell As BADI 's
    IF Found helpful Reward.
    Regards
    Eshwar

  • User Exit in Purchase Order

    Hi,
    Can anyone tell me which User Exit is triggered, when one enters Material in the Purchase Order?? Also which Include contains the User Exit? I need it urgently...
    Thanks...

    Hi
    try using BADI : ME_PROCESS_PO_CUST
    Ranga

  • User exit for Purchase order & Purchase requisition.

    Hi,
      I need the user exits/BADIs/BTE in the following events.
           1)  Just before saving Purchase requisitions and After saving purchase req ( Create and Change)
          2)  Just before saving Purchase Order and After saving purchase Order   ( Create and Change)
    Regards,
    Ganesh Nama.

    Hi Experts,
    I want to change delivery date in PR while creating purchase requisition ME51n.
    Means need to add 7 days in delivry date field when ever it is todays date (sy-datum).
    Please suggest suitable badi or EXIT.
    I tried in BADI..ME_PROCESS_REQ_CUST... in PROCESS_ITEM methode
    data : preqdata type mereq_item,
              v_lfdat    type  sy-datum.
              prereq_x   type   mereq_itemx.
        preqdata = im_item->get_data( ).
    if preqdata-lfdat = sy-datum.
      prereq_x-lfdat = 'X'.
      call function 'CALCULATE_DATE'
       exporting
         days              = '7'
         months            = '0'
         start_date        = sy-datum
       importing
         result_date       = v_lfdat            .
      preqdata-lfdat = v_lfdat.
      call method im_item->set_datax( prereq_x ).
      call method im_item->set_data( preqdata ).
    endif.
    But systems is ignoring thi change and again coming in same badi ..so in loop.
    Please tel any other way to make change is delivery date field.
    Thank you.....!!!!
    Nilesh.

  • BADI requirement for Purchase Order

    Hello,
    I have to find a BADI for Purchase order which will satisfy requirement stated below.
    When processing on PO will be done for Goods received and/or Final delivery and/or Final invoice , I need to trigger an Idoc from BADI which will inform another client that flags stated above are set against that PO.
    Which BADI can be used to find information of these flag are set on PO as soon as it is processed and which in trun help me to trigger this idoc?
    Regards,
    Madhura

    try with MB_DOCUMENT_BADI
    this BADi will get trig for all goods movement transaction.
    better u go for user exits, insteed of BADi

  • User Exits for Purchase order Header Text Validation

    Hi Experts,
    I need user exit for validate a  Long text in Purchase order header data for a Particular Doc type.
    We are using 4.6 B so badi is not available .
    So pls tell me user exit for the same or any other method as i was unable to find user exit for this scenario.
    Note :  This valiadation should trigger whhile creating  PO.
    Warm Regards
    Santosh Kumar
    Edited by: Santosh L on Mar 19, 2010 9:58 AM

    i have used concept of global memory through call stack

Maybe you are looking for