BADI's in ME21N

We have created a tab on the PO with some custom fields.  However, some of these fields drive the account assignment.  Is there way to call IF_EX_ME_PROCESS_PO_CUSTPROCESS_ACCOUNT to execute our custom logic for account determination or set an indicator after the processing our custom screen in IF_EX_ME_PROCESS_PO_CUSTPROCESS_ITEM has been processed?
What we are finding is that IF_EX_ME_PROCESS_PO_CUST~PROCESS_ACCOUNT is only executed once unless something in the accounting data is changed.  Therefore, when something else is changed on the PO in the custom part, accounting is not getting redetermined.

David,
In BADI ME_PROCESS_PO_CUST method PROCESS_ITEM, you can still access your account assignment data.
The following are the sample codes.
Regards,
Fisher Li
  DATA: LW_ITEM        TYPE MEPOITEM.
  DATA: LW_POSTED_ITEM TYPE MEPOITEM.
  DATA: ITAB_ACCT        TYPE PURCHASE_ORDER_ACCOUNTINGS,
        ACCT_INTERFACE   TYPE PURCHASE_ORDER_ACCOUNTING,
        LW_ACCT          TYPE MEPOACCOUNTING,
        LW_POSTED_ACCT   TYPE MEPOACCOUNTING.
Get currently being modified data for the PO line item
  CALL METHOD IM_ITEM->GET_DATA
    RECEIVING
      RE_DATA = LW_ITEM.
Get posted data for the PO line item
    CALL METHOD IM_ITEM->GET_PERSISTENT_DATA
      IMPORTING
        EX_DATA = LW_POSTED_ITEM
      EXCEPTIONS
        NO_DATA = 1.
    IF SY-SUBRC = 1.
      CLEAR LW_POSTED_ITEM.
    ENDIF.
    REFRESH ITAB_ACCT.
    CALL METHOD IM_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  " Delete indicator
         LW_ACCT-PRCTR <> LW_POSTED_ACCT-PRCTR OR  " Cost center/WBS element
         LW_ACCT-SAKTO <> LW_POSTED_ACCT-SAKTO.    " GL acct
Account assignment was changed
        IF W_MODIFIED NS 'ACCT1'.
          CONCATENATE W_MODIFIED 'ACCT1' INTO W_MODIFIED SEPARATED BY '-'.
        ENDIF.
      ENDIF.
      IF LW_ACCT-VPROZ <> LW_POSTED_ACCT-VPROZ OR  " Dist. Percentage
         LW_ACCT-GSBER <> LW_POSTED_ACCT-GSBER OR  " Business area
         LW_ACCT-AUFNR <> LW_POSTED_ACCT-AUFNR.    " Internal order
Account assignment was changed
        IF W_MODIFIED NS 'ACCT2'.
          CONCATENATE W_MODIFIED 'ACCT2' INTO W_MODIFIED SEPARATED BY '-'.
        ENDIF.
      ENDIF.
    ENDLOOP.

Similar Messages

  • Badi ME_PROCESS_PO_CUST IN ME21N

    HI,
    I USING BADI ME_PROCESS_PO_CUST IN ME21N IN THIS im_item->GET_SCHEDULES( ).
    HOW TO GET DATA FROM THIS METHOD.... IF IT POSSABLE PLEASE SEND THE CODE
    Edited by: Rob Burbank on Mar 12, 2009 9:21 AM

    Please use an informative subject and do not use all caps.

  • Error in badi ME_GUI_PO_CUST for ME21n/22n/23n

    Dear All,
    I want to add 1 tab in ME21n/22n/23n.
    In that 2 field in EKKO table using ci_ekkodb include is add
    For that I use badi ME_GUI_PO_CUST.
    in that
    MAP_DYNPRO_FIELDS
    TRANSPORT_FROM_MODEL
    TRANSPORT_TO_DYNP
    TRANSPORT_FROM_DYNP
    TRANSPORT_TO_MODEL
    these method find error do to field name passing.
    method IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS.
      FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
        LOOP AT ch_mapping ASSIGNING <mapping>.
          CASE <mapping>-fieldname.
            WHEN 'ZZDEPT'.                                            " Field Name
              <mapping>-metafield = mmmfd_cust_03.
            WHEN 'ZZPOGR'.                                            " Field Name
              <mapping>-metafield = mmmfd_cust_04.
          ENDCASE.
        ENDLOOP.
    endmethod.
    Referening **************** - Step by step guide on adding a new tab in ME21N using a BADI
    Replay is appreciable.
    Regards,
    Pooja

    First you go to se18 and read documentation of this badi.
    You have to implement BAdI ME_PROCESS_PO_CUST before implementing this BAdI.
    Sample code is available here.... goto->sample code->display
    In case any doubt u ask..
    Regards
    Sreekanth

  • Query on  User-Exit or  BADI  For  ME21/ME21N

    HI All,
    I am working on purchase order release strategy.Version  4.7E
    The requirement is 'without reference to purchase requestion(PR) Purchase Order should not be created.
    Ifound out one badi-ME_PROCESS_PO_CUST and i have implemented it.
    It is working fine for ME21N transaction.
    But when i create PO through  me21 it is not being triggered.
    Can any body tell me suitable user-exit for this.
    Regards,
    Prasanth

    Transaction Code - ME21                     Create Purchase Order
    Exit Name           Description
    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
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn.
    M06E0004            Changes to communication structure for release purch. doc.
    M06E0005            Role determination for release of purchasing documents
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule implem.
    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
    No of Exits:         35
    Transaction Code - ME21N                    Create Purchase Order
    Exit Name           Description
    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
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn.
    M06E0004            Changes to communication structure for release purch. doc.
    M06E0005            Role determination for release of purchasing documents
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule implem.
    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
    no of Exits:         35
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Rewards if useful.........
    Minal

  • BADI enhancement for ME21N

    Hello experts,
    I have a couple of queries regarding the BADI implementations ME_GUI_PO_CUST/ME_PROCESS_PO_CUST .
    1. I want to add a new tab under the PO item <b>based on the PO item type</b>. E.g., If the PO item type is 'D' (service) then the new tab should be displayed otherwise not.
    2. How can I disable the editing of a PO item field (say PO item number) or a PO header field (say Company code) in edit mode? I know its through fieldselection but a detailed example would be of great help.
    Thanks for your help in advance.
    Best regards,
    Yuvaraj

    Hi,
      FIrst you need to implement the 2 BADIs in SE19.
    The BADI ME_GUI_PO_CUST is responsible for Screen display and data exchange b/n db and the screen.
    The second BADI ME_PROCESS_PO_CUST is responsible for PO upadate.
    To get the screen in the Transaction you need to code in the method SUBSCRIBE of the first BADI.
    Example:
    ls_subscriber-name = subscreen4.
        ls_subscriber-dynpro = 0700.
        ls_subscriber-program = prog_name.
        ls_subscriber-struct_name = structure.
        ls_subscriber-label = TEST.
        ls_subscriber-position = 4.
       ls_subscriber-height = 6.
        ls_subscriber-height = 8.                           
        append ls_subscriber to re_subscribers.
        clear ls_subscriber.
    Plz go through the sample code provided by SAP for the BADIs in SE18.
    Hope this will help..

  • BADI ME_PROCESS_PO_CUST with ME21N

    Hi.
    I'm using the BADI ME_PROCESS_PO_CUST, i create an implementation and i'm using the method process_item to make some checks in the field Payment Term (autocomplete this field from the table lfm1 acording to lifnr). I have a problem, when i hold a PO and after open it and save it the method process_item dont work (because i dont do any change in the PO).  Anyone know some way to do this cheks in a held PO? I try to using the method open to do this but dont work either. Thx (sorry for my english)

    Yes, i use this method too. I get the data from im_header to a variable X, change the fileld zterm (if the conditions are true) and use the methos im_header->set_data ( X ); but the change is not visible in the screen and when i save lost this change.

  • Custom screen for ME21n - BADI issue

    hi,
    I had implemented BADI ME_GUI_PO_CUST for ME21n/me22n. The control is going to Subscribe and Map Dynpro methods but the control is not going to other methods like TRANSPORT_FROM_MODEL, TRANSPORT_TO_DYNP, TRANSPORT_FROM_DYNP and TRANSPORT_TO_MODEL.
    Please explain how we can make the control to move to these methods. not sure what is missing in the implementation

    "Customer Data" on ME21N/ME22N uses the SMOD enhancement MM06E005. Screen 0101 is used for Header Customer Data. So, when you navigate through this screen it doesn't go through the TRANSPORT* methods.
    You can also use the BADI ME_GUI_PO_CUST to add your additional tabs in ME21N. You need to use the method SUBSCRIBE to set the Program, Subscreen number and other details. When you do the subscribe method, it would call the TRNSPORT* methods. Check the example code given in the class CL_EXM_IM_ME_GUI_PO_CUST.
    Regards,
    Naimesh Patel

  • BADI In ME21n transaction

    Dear Sir,
    I am looking for a suitable BADI available in tcode ME21n . The BADI must be called at the time of PO Saving .
    I tried using "ME_PROCESS_PO_CUST" BADI , but in debugging I find that during the PO Saving this BADI is not being  called .
    Kindly guide me pl .
    Regards
    B Mittal

    Hi
    The below badis exitsts in me21n :
    Business Add-in                                                                               
    ME_PROCESS_PO                           Enhancements for Processing Enjoy Purchase Order: Intern.      
    ME_PROCESS_COMP                         Processing of Component Default Data at Time of GR: Customer   
    ME_PO_SC_SRV                            BAdI: Service Tab Page for Subcontracting                      
    ME_MMPUR_EINM_CUST                      BAdI Methods for Processing IDoc Data in the SUS Scenario      
    ME_MMPUR_EINM                           BAdI Methods for Processing IDoc Data in the SUS Scenario      
    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_DEFINE_CALCTYPE                      Control of Pricing Type: Additional Fields                     
    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_PROCESS_PO_CUST                      Enhancements for Processing Enjoy Purchase Order: Customer     
    EXTENSION_US_TAXES                      Extended Tax Calculation with Additional Data                  
    MM_EDI_ORDERS_OUT                       Enhancements for IDoc Output of Purchase Order: Internal       
    MM_EDI_DESADV_IN                        Supplementation of Delivery Interface from Purchase Order      
    MM_EDI_DELFOR_OUT                       Enhancements for IDoc Output of SA Releases: Internal          
    ME_TRIGGER_ATP                          Triggers New ATP for Changes in EKKO, EKPO, EKPV               
    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_PURCHDOC_POSTED                      Purchasing Document Posted1                                    
    ME_PROCESS_REQ_CUST                     Enhancements for Processing Enjoy PReqs: Customer                                                                               
    ME_PROCESS_REQ                          Enhancements for Processing Enjoy PReqs: Internal              
    ME_COMMTMNT_PO_RELEV                    Check for Commitment-Relevance of Purchase Orders              
    ME_BSART_DET                            Change document type for automatically generated POs           
    ME_BAPI_PR_IBS                          BAdI: Enjoy BAPIs for Purchase Requisitions                    
    ME_BAPI_PR_CUST                         Customer BAdI for Enjoy Purchase Requisition BAPIs             
    ME_BAPI_PR_CREATE_02                                                                               
    ME_BAPI_PR_CREATE_01                                                                               
    ME_BAPI_PO_IBS                          BAdI for Inbound/Outbound Mapping BAPI_PO_CREATE1 IBS          
    ME_BAPI_PO_CUST                         Customer BAdI for BAPI_PO_CREATE1 and BAPI_PO_CHANGE           
    ME_BAPI_PO_CREATE_02                                                                               
    ME_BAPI_PO_CREATE_01                                                                               
    ME_ACTV_CANCEL_PO                       BAdI for Activating the Cancel Function at Header Level        
    MEGUI_LAYOUT                            BAdI for Enjoy Purchasing GUI                                  
    SMOD_MRFLB001                           Control Items for Contract Release Order                       
    ME_CCP_ACTIVE_CHECK                     BAdI to check whether CCP process is active                    
    ME_COMMITMENT_STO_CH                    BadI for checking if commitments for STOs are active           
    ME_CIP_REF_CHAR                         Facilitates 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_ALL_ITEMS                      Run Through Items Again in the Event of Changes in EKKO        
    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 site               
    If it helpful reward points
    Regards
    Pratap.M

  • BADI for ME21N

    Hi All,
       I have a doubt in BADI's for ME21N T'code i:e
    how to disible HOLD button on ME21n T'code screen and also how to handle that BADI in that ME21n T'code.
    Plz give me ASAP.
    Thanks.
    Srinivas.

    hi,
    Use the BADI
    ME_PROCESS_PO_CUST
    Other wise u can handle this by using SHDO recording.
    Regards

  • Need help on implementing the BADI ME_GUI_PO_CUST

    Hi All,
    As per my requirement I need to do Enhancement for Unloading point field on PO.This filed will get all the department numbers applicable for the site on the line item.
    For this I need to Implement the BADI BADI ME_GUI_PO_CUST.
    The Method which needs to be Implemented is : TRANSPORT_TO_DYNP.
    Instructions have been given for the Screen design.
    Can anyone help me (with the sample code how) to Implement this method of the BADI in SE19.
    This BADI method is taking a view as an Input and I am not understanding how to proceed.
    Thanks and Regards,
    Smriti Singh

    Hi,
    my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
    After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
    Usefull links:
    [Re: Implementing badi ME_GUI_PO_CUST;
    [Re: ME21N - PO Enhancement using BADI;
    Kind Regards.
    Andrea

  • Me_po_pricing_cust badi

    Hi
    iam using BADI 'me_po_pricing_cust' in me21n.
    I wanted to sum all the net price in the item data and have to chk the table...
    But iam getting sinble line item wsie data . so the previous value is gone..
    How to get that
    Cheers
    Christina...

    Hi Christina,
    create an internal table and work area of the same type of import parameter table and loop the internal table to work area table to do ur calculation with variables.
    it_mseg
    wa_mseg.
    v_var.
    it_mseg[] = i_mseg[] (this is the import parameter table available in ur me_po_pricing _badi method funtion parameters)
    loop at it_mseg into wa_mseg.
    v_var = v_var + it_mseg-wrbtr.
    endlloop.
    Like above, u do changes based on ur requirements.
    regards
    sankar.

  • Exit for checking Exchange Rate in ME21N(Only for Import PO)

    Hi,
    Could you pls tel me User Exit/BADI for transaction ME21N to check the Exch Rate Fixed In Delivery/Invoice tab for Import Document Type.
    Thanks in Advance..
    Nithy

    Hi,
    This is the list of exits for ME21N.
    AMPL0001            User subscreen for additional data on AMPL
    LMEDR001            Enhancements to print program
    LMELA002            Adopt batch no. from shipping notification when posting a
    LMELA010            Inbound shipping notification: Transfer item data from ID
    LMEQR001            User exit for source determination
    LMEXF001            Conditions in Purchasing Documents Without Invoice Receip
    LWSUS001            Customer-Specific Source Determination in Retail
    M06B0001            Role determination for purchase requisition release
    M06B0002            Changes to comm. structure for purchase requisition relea
    M06B0003            Number range and document number
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn
    M06E0004            Changes to communication structure for release purch. doc
    M06E0005            Role determination for release of purchasing documents
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule imple
    MEQUERY1            Enhancement to Document Overview ME21N/ME51N
    MEVME001            WE default quantity calc. and over/ underdelivery toleran
    MM06E001            User exits for EDI inbound and outbound purchasing docume
    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 orde
    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 processi
    MMAL0004            ALE purchasing info record distribution: Inbound processi
    MMDA0001            Default delivery addresses
    MMFAB001            User exit for generation of release order
    MRFLB001            Control Items for Contract Release Order
    Regards
    Rajesh Kumar

  • Modify fields in ME21n

    Hello All,
    I have a requirement where in I need to modify fields of me21n based on a condition:
    if the user enters a value in the field: MEPO1211-KONNR (Contract no./Number of principal purchase agreement) , then all the conditions (From KOMV table) fileds & all the Pricing terms should be disabled for change/input i.e. should be in display mode.
    I tried to search for an exit for this but could not find an appropriate one to modify screen fields however, the alternae to this requirement is :
    If the user enters a value in the field: MEPO1211-KONNR (Contract no./Number of principal purchase agreement) , then on entry of the conditions(TABLE KOMV) fields and pricing terms user should get an error message so that he cannot proceed.
    Please suggest me a solution for any of the above two requirements.
    Any help on this would be highly appreciated.
    BR
    Ankur

    Hi,
    Why dont you check with the enhancement project LO020 in CMOD.
    Hope this would help you.
    Or use the class CL_EXITHANDLER to find out the BADI used in ME21N for your requirement.
    Regards,
    Ranjith Nambiar

  • Why are not  pop up  message window when message type I and W

    Hi All,
    I am working in BADI ( me_purchdoc_posted~posted) for t-code ME21N. Actually i want show material number, material description  and ABC indicator of material at saving point of PO if material is significant.
    code is properly working  but does not showing  error message window when I am using message type I  (information) or W (worming message) .
    if i am using message type E ( error message )then showing message window just link  Information message.
    So i can no understand why are not message window pop up  when i take message type I and W.
    my code is that
    method IF_EX_ME_PURCHDOC_POSTED~POSTED
    IF SY-TCODE EQ 'ME21N' OR SY-TCODE EQ'ME21'.
      DATA : wa LIKE LINE OF IM_EKPO.
      DATA : VAR_MAKTX TYPE MAKT-MAKTX.
      DATA : VAR_MAABC TYPE MARC-MAABC.
      DATA : P TYPE STRING.
      DATA : P1 TYPE STRING.
      LOOP AT IM_EKPO INTO wa.
        SELECT SINGLE MAABC FROM MARC INTO VAR_MAABC WHERE matnr EQ wa-matnr AND werks EQ wa-werks.
        SELECT SINGLE MAKTX FROM MAKT INTO VAR_MAKTX WHERE matnr EQ wa-matnr. " AND werks EQ wa-werks.
          IF VAR_MAABC EQ 'A'.
            P = 'is significant material'.
            CONCATENATE  WA-MATNR '(' VAR_MAKTX ')'  P INTO P1.
            MESSAGE P1 TYPE 'E'.
            EXIT.
            ENDIF.
      ENDLOOP.
    ENDIF.
    endmethod.
    guide me...............

    Hi vinod,
    thanks for reply......
    yes,  my  requirement is to show the popup window with  material number, material description and ABC indicator of material at saving point of PO if material is significant.
    I find Badi to transaction me21n at saving PO.  Badi ME_PROCESS_PO_CUST does not exist.
    so i am using Badi me_purchdoc_posted~posted.
    This Badi  ( me_purchdoc_posted~posted ) is properly working But showing message  "system error ( error in method po_post ) "
    when I am click on OK then automatic leave from transaction.
    guide me..........

  • User Exit for PO (Purchase Order) Change

    Hi,
    I want to know the SAP Standard User Exit that is triggered ONLY during changing / modification of PO(Purchase Order).
    Thanks in Advance.
    RK

    ME_PROCESS_PO_CUST
    use above BADI for ME22N/ME21N,often we use method PROCESS_HEADER
    PROCESS_ITEM our most of the requirement meet by these methods only,check once if your requirement does meets with these two methods?
    if not than you may implement some more method which are in ME_PROCESS_PO_CUST, for more help you may read documentation,there is well enough documentation already there for each method.
    and for ME22/ME21 you may use
    ME_PURCHDOC_POSTED
    and method POSTED.

Maybe you are looking for

  • Default name from header, if present

    The default document name comes from the first few words of the first page. If the document has a header before it get saved, examine the header: if it has anything that is not a field (e.g. Page Number), then use that as the default name. Cheers

  • No keys work?

    so this has happened before, but it was only my spacebar last night my O key stoped working, and it was the last key i needed to unlock my phone this morning, EVERYTHING has stopped workng, all my keys except my K (which is one of the few letters for

  • Short Dump DYNPRO_MSG_IN_HELP in Conversion Exit

    Hi Gurus, I've written the following conversion exit: FUNCTION CONVERSION_EXIT_ZBZEI_INPUT. *"*"Lokale Schnittstelle: *"  IMPORTING *"     VALUE(INPUT) *"  EXPORTING *"     VALUE(OUTPUT) *"  EXCEPTIONS *"      INPUT_NOT_VALID   DATA : CPI_OUT(4) type

  • Questions on Constructor

    Hello all: I have some doubts on constuctor. Can someone highlight to me? 1) Can I put a constructor in another class? For example, I have a class, named Interact, which display a panel and some buttons. And another class is call Box. Third class is

  • Problem with AAM

    I would like to complain about the way AAM does not work. 1) It does not report update. Throug mac update I know there is an update for Dreamwaver (12.0.3). It is not reported in AAM which show it as up to date, it is not marked in Dreamweaver update