Need BADI or user exit to check info record on MM41/MM42.

System:  SAP ECC 6.0 Retail
Problem:  During article maintenance (MM41/MM42), we want to check certain fields on the info record (EINA) for only one valuation class.
Steps already taken: 
Checked the current BADi.  The current BADi, BADI_MATERIAL_CHECK, did not contain a parameter for EINA.  (It did contain parameters for MARA, MARC, MBEW, MKVE, etc.)
Searched for other user exits and/or BADiu2019s.  In SPRO/IMG under Logistics General, Material Master, Retail Specific Settings, Settings for Core Master Data and BADi: Additional Checks and Data Adjustment, I found u201CWRF_MAT_MAINTAINDATAu201D which contains a method u201CMODIFY_INFORECORD_DATAu201D.  This looked like it may be what I was looking for.
So I created an implementation ZWRF_MAT_MAINTAINDAT.  It insisted on defined filters.  So I set up the following filters:
01     Core Article  Master Data Maintenance
02     Article Copy Functions
03     Article Mass Maintenance
99     Not Specified
Then I activated it.
I put a break into the method, but the transaction MM42 (nor MM41) would stop at the break point.
Did I miss a step?  Is this the wrong BADi?  Are the filters wrong?
Can anyone help?

There is BAdI for this.
However, a SAP consultant provided the following:
In IF_EX_BADI_MATERIAL_CHECK~CHECK_DATA_RETAIL
METHOD if_ex_badi_material_check~check_data_retail.
* Implementation of BADI_MATERIAL_CHECK
* Author: Syama Srinivasan, SAP Retail
* Date:   December 17, 2008
* Description:
* Check EINA fields in Purchasing View of Article Master Create/Modify using MM41 & MM42.
* If "Valuation Class" in the "Basic View --> General Data" field is 3100, then ensure
* that the "Var. Order Unit" OR "Return Agmt" fields in "Purchasing Veiw --> General
* data for each vendor" are not blank.
* Work area declaration.
  DATA: l_eina  TYPE eina,    "Purchasing Info Record: General Data
        l_maw1  TYPE maw1.    "Article Master: Default Fields and Special Retail Fields
* Local variables
  DATA: lv_eina    TYPE char30 VALUE '(SAPLMGMW)EINA',      "EINA Work area
        lv_maw1    TYPE char30 VALUE '(SAPLMGMW)MAW1'.      "MAW1 Work
  DATA: ls_errdat  TYPE merrdat.
* Field symbols
  FIELD-SYMBOLS: <fs_xmaw1> TYPE maw1,
                 <fs_xeina> TYPE eina.
  ASSIGN: (lv_maw1) TO  <fs_xmaw1>,
          (lv_eina) TO  <fs_xeina>.
  IF sy-tcode = 'MM41'
  OR sy-tcode = 'MM42'.
* Perform the check only if "Valuation class" is 3100
    IF <fs_xeina> IS ASSIGNED AND
       <fs_xmaw1> IS ASSIGNED.
      IF <fs_xmaw1>-wbkla = '3100'
      AND <fs_xeina>-lifnr IS NOT INITIAL.
        IF <fs_xeina>-vabme IS INITIAL OR
           <fs_xeina>-rueck IS INITIAL.
*        MESSAGE e009(z1id) WITH <fs_xmaw1>-wbkla.
          ls_errdat-msgid = 'Z1ID'.
          ls_errdat-msgty = 'E'.
          ls_errdat-msgno = '009'.
          ls_errdat-msgv1 = <fs_xmaw1>-wbkla.
          APPEND ls_errdat TO rt_errdat.
          MESSAGE e009(z1id) WITH <fs_xmaw1>-wbkla.
        ENDIF.
      ENDIF.
    ENDIF.
* Perform the check only if "Valuation class" is 3100
    IF <fs_xeina> IS ASSIGNED AND
       <fs_xmaw1> IS ASSIGNED.
      IF <fs_xmaw1>-wbkla = '3100'
      AND <fs_xeina>-lifnr IS NOT INITIAL.
        IF <fs_xeina>-vabme NE '2'.
*        <fs_xeina>-vabme = '2'.   This doesn't work
          ls_errdat-msgid = 'Z1ID'.
          ls_errdat-msgty = 'E'.
          ls_errdat-msgno = '010'.
          ls_errdat-msgv1 = <fs_xmaw1>-wbkla.
          APPEND ls_errdat TO rt_errdat.
          MESSAGE e010(z1id) WITH <fs_xmaw1>-wbkla.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDIF.
ENDMETHOD.

Similar Messages

  • Need BADI or USER EXIT for VT02n

    HI Friends,
    I'm writing a driver program for a ouptput type ZET1 (interface) the tcode is VT02N .
    In menu bar: goto--> output here i've give the output type and save.
    My Problem is, if there is any error on the driver program, it should be displayed the error msg while pressing  the save button.
    is there any BADI or User Exit.
    Thanks & Regards,
    Vallamuthu.M

    Hi,
       Check the below BADI's
       BADI_LE_SHIPMENT                        BadI: Shipment Processing
       BADI_V56N                                     User Exit Transport - Message Determination
    Regards,
    Srini.

  • Badi or user exit to uncheck Info-update checkbox

    Hi guys,
    How can I uncheck by code the Info-update checkbox for one type of purchase order?
    I need one user exit or Badi to do this, so any suggestion?
    Thanks in advance.

    Use BADI ME_PROCESS_PO_CUST.
    As info-update checkbox is located at item level, you need to use PROCESS_ITEM method of this BADI.
    G@urav.

  • User Exits for Document Info Record : CV01N in DMS

    Hi Experts
    My scenario is: We have Configured DMS in which new document type created Z01 is for MS word documents. I have assigned default Work Station Application : DOC to Z01 document type.
    But my problem is : while creating Info record : CV01n with Z01 document type during file creation system is showing default Application : DOC, But in help user can select either XL, or PPT instead of DOC.
    My requirement is : I need to restrict : other work station applications to the particular document type, i.e. for Z01 document type - allowed work Station Application is : DOC. System doesnot allow user to select other application instead of DOC.
    Where Can I Restrict ??  Is there any User Exits available to controle this function
    Please help
    Satish Babu

    Hi,
    Try these exits.
    CV000001            Check-in enhancement for document management
    CV110001            DMS: Enhancements for DMS Dialog (FB: CV110)
    CVDS0001            User exits for ALE DMS (DOCMAS)
    Hope this helps u.
    Thanks.

  • BADI or USER Exit for BP Adress check

    Hi All ,
                what is the badi or user exit for giving a additional check on Postal Codes when creating a BP ?
    I have checked BUPA_ADDR_CHECK
    BUPA_ADDR_EXPORT
    BUPA_ADDR_IMPORT
    BUPA_ADDR_UPDATE
    BUPA_ADRREL_EXPORT
    and the user exit ZXSZARU01
    but when i am entering the postal code and pressing Enter , i am not able to catch the User/EXIt or badi .
    Thanks for help.

    Hi
      Use the BAdi : ADDRESS_CHECK
      Implement the method: ADDRESS_POSTAL_CHECK
    Once you enter the Post Code and Country on BP Txn, Pressing Enter will trigger this Badi for  address check !
    Good Luck !
    Thanks
    <b>Allot points if this helps !</b>

  • Need a badi or user exit which can trigger tr:AR31

    need a badi or user exit which can trigger tr:AR31 ,based on ANLA-AKTIV,ANLB-AFABG.AND COULD ANY ONE explain indetail

    There is no BADi for AR31 but you can use Exit:
    AINT0002                                Substitution of offsetting accounts in out- and inflow ...    
    AINT0003                                Defining percentage/amount of repayment by invest. support

  • Any BADI or USER EXIT for Authorization check in ME51N

    Dear MM Gurus,
    My requirement is to assign Authorization to the User to create Purchase requisition based on the combination of Plant and Storage location. Is there any BADI or User Exit available to achieve this?
    Regards
    Yoga

    hi,
    > Its not possible to have the authorization for PR at storage location level...
    > you can have authorisations for Puchase organisation EKORG, plantWERKS, puchase group EKGRP, puchase document type BSART ...
    > and authorisations objects are:
    >M_BANF_BSA :   Document Type in Purchase Requisition
    > M_BANF_EKG :  Purchasing Group in Purchase Requisition
    > M_BANF_EKO :  Purchasing Organization in Purchase Requisition
    > M_BANF_FRG :  Release Code in Purchase Requisition
    > M_BANF_WRK :  Plant in Purchase Requisition
    Regards
    Priyanka.P
    Edited by: Priyanka Paltanwale on Apr 27, 2009 3:01 PM

  • Badi or user-exit for QA32 after save

    I need a badi or user exit to execute exactly after save in QA32 ..I tried belows but they are not that i want
    QPL1_SUBSCREEN_ADDON
    INSPECTIONLOT_UPDATE
    Check these Exits:
    QEVA0004 Exit for changing information line in usage decision he
    QEVA0005 User subscreen for displaying add. data for usage decis
    QEVA0006 Entry to usage decision transactions
    QEVA0007 UD: Control of compulsory comment or long text presetti
    QEVA0008 Usage decision: Customer function key (e.g. to cancel U
    QEVA0009 UD: Predefinition of quantity to be posted to sample st
    QEVA0010 UD: Usage decision check
    QLCO0001 QM: Call alternative costs report from UD
    QSS10001 Possibility of calling a different print report

    Hello Tuncer,
    have you checked the BADI QE_SAVE? This is the last possible chance of changing data on saving a QM transaction and should be active in QA32.
    The only other solution I can come up with is a follow-up action i.e. for the UD-code
    Hope this information proves usefull.
    Regards
    Isabelle

  • Badi or user exit for allocation run (J3AT)

    hi friends,
    we r using the SAP AFS in that i need to put the sales order value check for F status material while saving the allocation run. for that i need the badi or user exit where i will get the values of all the F status mateial before i save the allocation run. so that i can perform the check on sales order values.
    regards,
    vicky.

    Hello vicky
    can you please tell me the note number that solved this problem, thanks.

  • BADI or User Exit for VL09 after Reversing

    Hi Experts,
    I have a requirement that updating certain values in Custom Table after Reversing a Delivery. Is there any BADI or User Exit which trigger After Reversing a Delivery in VL09.
    Thanks in Advance.

    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 your 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

  • FIND BADI OR USER EXIT FOR TRANSACTION CORK -STEP SAVE CONFIRMATION

    Hi all .
    I need to find  a badi or user exit to make some w/h movements on action "save confirmation"
    in transaction CORK .
    Please  ,your help !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
      Helena

    CONF0001            Enhancements in order confirmation                                                        
    CONFPI01            Process order conf.: Calculate cust.specific default values                               
    CONFPI02            Process order confirmation: Customer spec. input checks 1                                 
    CONFPI03            Process order conf.: Cust. spec. check after op. selection                                
    CONFPI04            Process order conf.: Customer specific input checks 2                                     
    CONFPI05            Process order conf.: Cust. spec. enhancements when saving                                 
    CONFPI06            Process order confirmation: Actual data transfer                                          
    CONFPM01            PM/SM order conf.: Determine cust. specific default values                                
    CONFPM02            PM/SM order confirmation: Customer specific input checks 1                                
    CONFPM03            PM/SM order conf.: Cust. spec. check after op. selection                                  
    CONFPM04            PM/SM order conf.: Customer specific input check 2                                        
    CONFPM05            PM/SM order conf.: Cust. specific enhancements when saving                                
    CONFPP01            PP order conf.: Determine customer specific default values                                
    CONFPP02            PP order conf.: Customer specific input checks 1                                          
    CONFPP03            PP order conf.: Cust. specific check after op. selection                                  
    CONFPP04            PP order conf.: Customer specific input checks 2                                          
    CONFPP05            PP order conf.: Customer specific enhancements when saving                                
    CONFPP06            PP Order Confirmations: Actual Data Transfer                                              
    CONFPP07            Single Screen Entry: Inclusion of User-Defined Subscreens                                 
    CONFPS01            PS confirmation: Determine customer specific default values                               
    CONFPS02            PS confirmation: Customer specific input checks 1                                         
    CONFPS03            PS confirmation: Customer specific check after op. selection                              
    CONFPS04            PS confirmation: Customer specific input checks 2                                         
    CONFPS05            PS confirmation: Customer specific enhancements when saving                                                                               
    No of Exits:         24

  • MIRO BADI or User Exit

    Hi Experts,
    I would like to ask for your help regarding MIRO BADI or User Exit. I found several user exits and BADIs but I am not sure what to use with my requirement.
    My requirement is to compare the Reference with the selected items' Del. note/Sheet No. I also need to check for amounts that where changed in the items.
    Thanks!
    Regards,
    Mike

    Hi,
    have a look at this OSS  Note:
    Note 1156325 - BAdIs in the Logistics Invoice Verification environment
    https://service.sap.com/sap/support/notes/1156325
    i´ve used method CHANGE_AT_SAVE of this badi and it worked.
    The badi is triggered whenever you try to hold/park/save as complete/ post/ delete ..etc, that is you need to do any of the former actions.
    If you just change the content of a field do not expect the badi to be triggered.
    You could just Simulate in order to trigger the badi
    Best regards.
    Edited by: Pablo Casamayor on Jul 22, 2011 12:44 PM

  • NEED VL02N VL09 USER-EXIT FOR DELIVERY COMPLETE INDICATOR IN PURCHASE ORDER

    I NEED VL02N VL09 USER-EXITS FOR DELIVERY COMPLETE INDICATOR IN PURCHASE ORDER POSITIONS.
    F.X: IF POST QUANTITY 10, BUT PURCHASE ORDER POSITION QUANTITY 30, I NEED AT ANY CASE TO SET DELIVERY COMPLETE INDICATOR FOR RELEVANT OUTBOUND DELIVERY AN P. ORDER POSITIONS.
    THANKS/

    Hi Malka,
    It's possible set the system to mark automatically the delivery completed indicator.
    First you need to set the under delivery and over delivery tolerances.You do this in customizing:
    Materials Management under Purchasing -> Material Master -> Define Purchasing Value Keys.
    Once you set this, you can insert this value keys on Material Master Record for the materials.
    When you create the PO with a material with this value keys set the system will check the under delivery and over delivery set on customizing.
    In customizing you also have the option to let the system mark automatically the delivery indicator based on delivery tolerances set.
    In Customizing for Inventory Management and Physical Inventory under Goods Receipt -> Set Delivery Completed Indicator, you can determine for each plant whether the system automatically sets the delivery completed indicator for delivery quantities within the underdelivery and overdelivery tolerances.
    You can test setting the under delivery for 0 (with a warning message) and see if the system will only mark delivery complete only for over delivery.
    You can also work with the following Badi: MB_GOODSMOVEMENT_DCI. This Badi also allows custom logic for setting the delivery completed indicator in a PO item.
    Message: M7 433 (The "delivery completed" indicator is set for the purchase order item)
    Regards,
    Rodrigo

  • BADI OR USER EXIT AT THE TIME OF SAVING THE TCODE MIGO TO UPDAT FIELD LSMNG

    Hello Guru,
    I am using BAPI  BAPI_GOODSMVT_CREATE for GRN creation it is working fine. But i want to update DELIVERY NOTE QUANTITY (LSMNG) at the time of GRN Creation . This field is not provided in the BAPI .
    What i had done i had applied BADI MB_MIGO_BADI to update this field but this badi does not call at the time of saving ( THIS BADI ONLY CALL WHEN WE ARE USING MIGO TCODE AND ON THE SCREEN WE ARE PRESSING ENTER) . so i am not able to update the field (LSMNG).
    So i need a badi of user exit which can updates this field at the time of saving.
    there are exit which are updating other fields at the time of saving but not this one .
    Why i need the badi or userexit which will update the field at the time of saving because when we are using bapi only those badi or user exit are called which are
    used at the time of Saving.
    Kindly suggest any solution.
    Thankyou
    With Regards
    Shantanu Modi

    Hi
    <b>Here is the sample code...</b>
    method if_ex_mb_migo_badi~post_document .
      data: ls_migo_badi_example type migo_badi_exampl,
            lt_migo_badi_example type table of migo_badi_exampl,
            ls_extdata type migo_badi_example_screen_field,
            ls_xmseg   type mseg.
      field-symbols: <gt_extdata> type migo_badi_example_screen_field.
    * Transaction MIGO will now post a material document.
    * Any errors here MUST be issued as A-message (better: X-message)
    * Copy data from material document into internal table
      loop at gt_extdata into ls_extdata.
        if g_cancel is initial.
          read table it_mseg into ls_xmseg
             with key line_id = ls_extdata-line_id.
        else.
          read table it_mseg into ls_xmseg
             with key smbln = ls_extdata-mblnr
                      smblp = ls_extdata-zeile
                      sjahr = ls_extdata-mjahr.
        endif.
        if sy-subrc is initial.
          move-corresponding ls_extdata to ls_migo_badi_example.
          move-corresponding ls_xmseg   to ls_migo_badi_example.
          append ls_migo_badi_example to lt_migo_badi_example.
        endif.
      endloop.
    * The data from external detail screen can be saved now:
      check gt_extdata is not initial.
      call function 'MIGO_BADI_EXAMPLE_UPATE_DATA' in update task
        tables
          it_migo_badi_example = lt_migo_badi_example.
    * The data from external header screen can be saved now:
      move-corresponding is_mkpf to gs_exdata_header.
      call function 'MIGO_BADI_EXAMPLE_UPDATE_HEAD' in update task
        exporting
          is_migo_badi_header_fields = gs_exdata_header.
    endmethod.                    "IF_EX_MB_MIGO_BADI~POST_DOCUMENT
    Hope this will help.
    Please reward suitable points.
    Regards
    - Atul

  • CTS Badi or User Exit

    Hello,
    Does anyone know of a BADI of User Exit that exists for CTS within SE10 or SE01?  We have a business need to email an interactive form to management when we release a transport request.  I know that we could automate the process via the transport workflow however, the business users want to have a form emailed to them to approve and forward on to Basis.  So, should this be done via workflow or is there a user exit/BADi that I can implement to accomplish this?
    Best Regards,
    Jereme

    You will not have any userexit for se10 as this TCode does not belong to SD module. But you have BAdi's to impliment your functionaity for the transaction SE10.
    CTS_EXPORT_FEEDBACK -> feedback after export of a transport request.
    CTS_IMPORT_FEEDBACK -> feedback after import of a transport request.
    CTS_INT_REQUEST_CHECK -> internal: request checks.
    CTS_REQUEST_CHECK -> request checks.
    CTS_TASKDOC_TEMPLATE -> determine template for the task documentation.

Maybe you are looking for

  • Apple TV - Slow Slideshow.

    I've selected '2 seconds' in "Time Per Slide' and 'dissolve' in 'Transition' but the images are showing for twice the usual length. 400 images make a 31min25sec show, that equals 4.68 seconds per slide not 2! What's going wrong? Can anyone help?

  • Getting host, port from the tnsnames.ora with the service name

    Hi. I think that I asked a similar question yesterday. I want to ask if there is a way to get host and port from the tnsnames.org with a given service name. Somebody answered it for getting SID in the sqlplus. so I tried it in a similar way, but it d

  • Deployment Error SOA 11g

    Hi, Am trying to deploy Complex BPEL process, while deploying am getting following error. 02:31:11 AM] Error deploying archive sca_JDEOrderProcessing_rev2.0.jar to soa_server1 [02:31:11 AM] HTTP error code returned [500] [02:31:11 AM] Error message f

  • 1310 Wireless Bridge Poor performance

    Hello I am getting really bad performance on a bridge i am trying to get up, Laptop - Switch - AIR-BR1310G-E-K9-R attena-ed  ----------------   attena-ed AIR-BR1310G-E-K9-R switch laptop. When doing an FTP Transfer i get a poor 1MB, these are current

  • Opacity Issue

    For some reason I cant resolve this issue. I'm versioning a 10 min video with new text from a superless master. Each title requires motion, one layer is text that has opacity set at 20% and the other layers are 100%. If I mix the two in motion the op