BADIs for tables

Hi ,
I want to update values to standard tables from a Z-table.
Could anyone provide some BADI(s) that update SAP APO tables
/SAPAPO/SNP02
/SAPAPO/MATRQ
/SAPAPO/MATLOTSZ
Please help me out.

Hi,
BADI is not a solution for updating tables. They are mainly used for enhancement related issues and is at the programming level.
BAPI and functions modules can be used for updating the tables.
Check out the link provided below for BAPIs related to APO.
https://www.sdn.sap.com/irj/scn/wiki?path=/display/scm/apo-technical
Regards,
John Mani

Similar Messages

  • Program or  exit/BAdi for table DVER (Material Consumption for MRP Area)

    Hi,
    I want to update table DVER (Material Consumption for MRP Area).
    Please suggest if any program or  exit/BAdi.

    Check these function modules:
    CONSUMPTION_EXI_MAT_PLA_PE_DB
    CONSUMPTION_READ_FOR_MM_DB
    CONSUMPTION_REF_MAT_PLA_PE_DB
    DVER_GENERIC_EXIS_MATNR
    DVER_GENERIC_EXIS_MATNR_DB_PER
    DVER_GENERIC_READ_MATNR_PLA_PE
    DVER_GET_BILD
    DVER_SET_DATA
    DVER_SET_SUB
    A badi/user exit is triggerred when a standard transaction is run.Let me know if you want to update the table when a std. transaction is executed and the transaction code.

  • BAdI For Modifying Table /AIN/DM_OBJ_CTX

    Hi all,
    I'm in a situation right now where we will receive PML messages from a non-SAP system and the PML messages will be sent to AII.  Normally, all additional attributes that come with an id in a PML message will be recorded in the table /AIN/DM_OBJ_CTX.  Unfortunately, the non-SAP system will be able to send in all required additional attributes except one, unit of measurement (UoM).  For this, we will need to tell AII to determine the UoM once it receives a PML message to be processed based on the product and GTIN (which will be received in the PML message) so that AII knows what UoM to be recorded in the table /AIN/DM_OBJ_CTX.
    Question is: which BAdI should I modify to achieve this?  I can't seem to find the right BAdI for this and does that mean this is not achievable via BAdI modification?  It'd be great if any of you could shed some light on this.
    Thanks and best regards,
    Chin Hun

    Hi Chin Hun Yong,
    You must have a rule which process this PML when it is received by SAP AII. If you used a standard rule for this then what you can do is create a copy of this standard rule into a custom rule. Then add a custom activity whose class method can add the custom logic to find the UOM and update the context of the PML message.
    Regards,
    Bharat Vaka.

  • Performance for table BKFP

    Hi,
    I would like to enquire is there anyway that i can improve the performance for table BKPF from the ABAP code point of view.
    Because we have customise one program to generate report for the asset master listing.
    one of the select statement are show as below:
          SELECT SINGLE * FROM BKPF WHERE BUKRS = ANEP-BUKRS
                                      AND GJAHR = ANEP-GJAHR
                                      AND AWKEY = AWKEYUS.
    I would like to know how it different from the select statemene below:
    SELECT SINGLE * FROM BKPF INTO CORRESPONDING FIELDS OF T_BKPF
          WHERE
          BUKRS = ANEP-BUKRS
      AND GJAHR = ANEP-GJAHR
      AND AWKEY = AWKEY.
    Which of the select statements above can enhance report,because currently we have face quite bad issue on this report.
    Can i post the ABAP code on this forum.
    Hope someone can help me on this. thank you.

    Hi,
    As much as possible use the primary keys of BKPF which is BUKRS, BELNR and GJAHR. Also, select only the records which are needed so to increase performance. Please look at the code below:
    DATA: lv_age_of_rec TYPE p.
      FIELD-SYMBOLS: <fs_final> LIKE LINE OF it_final.
      LOOP AT it_final ASSIGNING <fs_final>.
      get records from BKPF
        SELECT SINGLE bukrs belnr gjahr budat bldat xblnr bktxt FROM bkpf
        INTO (bkpf-bukrs, bkpf-belnr, bkpf-gjahr, <fs_final>-budat,
              <fs_final>-bldat, <fs_final>-xblnr, <fs_final>-bktxt)
        WHERE bukrs = <fs_final>-bukrs
          AND belnr = <fs_final>-belnr
          AND gjahr = <fs_final>-gjahr.
      if <fs_final>-shkzg = 'H', multiply dmbtr(amount in local currency)
      by negative 1
        IF <fs_final>-shkzg = 'H'.
          <fs_final>-dmbtr = <fs_final>-dmbtr * -1.
        ENDIF.
      combine company code(bukrs), accounting document number(belnr),
      fiscal year(gjahr) and line item(buzei) to get long text.
        CONCATENATE: <fs_final>-bukrs <fs_final>-belnr
                     <fs_final>-gjahr <fs_final>-buzei
                     INTO it_thead-tdname.
        CALL FUNCTION 'READ_TEXT'
          EXPORTING
            client                        = sy-mandt
            id                            = '0001'
            language                      = sy-langu
            name                          = it_thead-tdname
            object                        = 'DOC_ITEM'
          ARCHIVE_HANDLE                = 0
          LOCAL_CAT                     = ' '
        IMPORTING
          HEADER                        =
          TABLES
            lines                         = it_lines
         EXCEPTIONS
           id                            = 1
           language                      = 2
           name                          = 3
           not_found                     = 4
           object                        = 5
           reference_check               = 6
           wrong_access_to_archive       = 7
           OTHERS                        = 8.
       IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
       ENDIF.
      if successful, split long text into start and end date
        IF sy-subrc = 0.
          READ TABLE it_lines TRANSPORTING tdline.
          IF sy-subrc = 0.
            SPLIT it_lines-tdline AT '-' INTO
                  <fs_final>-s_dat <fs_final>-e_dat.
          ENDIF.
        ENDIF.
      get vendor name from LFA1
        SELECT SINGLE name1 FROM lfa1
        INTO <fs_final>-name1
        WHERE lifnr = <fs_final>-lifnr.
        lv_age_of_rec = p_budat - <fs_final>-budat.
      condition for age of deposits
        IF lv_age_of_rec <= 30.
          <fs_final>-amount1 = <fs_final>-dmbtr.
        ELSEIF lv_age_of_rec > 30 AND lv_age_of_rec <= 60.
          <fs_final>-amount2 = <fs_final>-dmbtr.
        ELSEIF lv_age_of_rec > 60 AND lv_age_of_rec <= 90.
          <fs_final>-amount3 = <fs_final>-dmbtr.
        ELSEIF lv_age_of_rec > 90 AND lv_age_of_rec <= 120.
          <fs_final>-amount4 = <fs_final>-dmbtr.
        ELSEIF lv_age_of_rec > 120 AND lv_age_of_rec <= 180.
          <fs_final>-amount5 = <fs_final>-dmbtr.
        ELSEIF lv_age_of_rec > 180.
          <fs_final>-amount6 = <fs_final>-dmbtr.
        ENDIF.
        CLEAR: bkpf, it_lines-tdline, lv_age_of_rec.
      ENDLOOP.
    Hope this helps...
    P.S. Please award points for useful answers.

  • Regarding Error message in ME_PROCESS_PO_CUST badi for validation.

    hi Friends,
    I am Using ME_PROCESS_PO_CUST badi for validation in Purchase order (ME21N),
    For that I implemented PROCESS_ITEM method which fires during each row now i  add another validation in same implementation for plant  should be same through out the all line item. Now following code is woking fine but when for second line item user changese plant then it shows error message as per logic which is fine but even after changing plant to correct one the error message is still coming why is it so?
    following is my current validation code
    method IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM.
      DATA:ls_poitem TYPE mepoitem,
           ls_poitem_set TYPE mepoitem.
      DATA:ls_poheader TYPE MEPOHEADER.
      DATA:lm_poheader TYPE ref to IF_PURCHASE_ORDER_MM.
      DATA:w_mara TYPE mara.
      DATA:IT_ZMMTBL039 TYPE STANDARD TABLE OF ZMMTBL039 ,
           WA_ZMMTBL039 TYPE ZMMTBL039 .
      DATA:ls_poitem1 TYPE mepoitem.
      DATA:V_KUNNR1 TYPE KNA1-KUNNR.
      DATA:V_KUNNR2 TYPE KNA1-KUNNR.
      DATA:W_WERKS(4),
           w_werks_tmp(4),
           w_flag(1).
      ls_poitem = im_item->get_data( ).
      lm_poheader = im_item->GET_HEADER( ).
      ls_poheader = lm_poheader->GET_DATA( ).
      IF ls_poitem-werks IS NOT INITIAL.
        w_werks = ls_poitem-werks.
        import w_flag to w_flag from MEMORY ID 'FLAG'.
        if w_flag is initial.
          w_flag = 'X'.
          EXPORT w_werks_tmp FROM w_werks TO MEMORY ID 'MEMO1'.
          export w_flag from w_flag to MEMORY ID 'FLAG'.
          clear: w_flag.
        endif.
      ENDIF.
      IMPORT w_werks_tmp TO w_werks FROM MEMORY ID 'MEMO1'.
    break swaroopb.
      IF ls_poitem-werks NE w_werks.
          MESSAGE E010(zparts) with 'Different plants are not allowed in single PO.'.
      ENDIF.
      CLEAR: WA_ZMMTBL039,w_mara.
      REFRESH:IT_ZMMTBL039[] .
      SELECT *
        INTO TABLE IT_ZMMTBL039
        FROM ZMMTBL039
       WHERE bsart EQ ls_poheader-bsart.
      IF sy-subrc EQ 0.
        CLEAR: WA_ZMMTBL039,w_mara.
        SELECT SINGLE *
          INTO w_mara
          FROM mara
         WHERE matnr EQ ls_poitem-MATNR.
        IF SY-SUBRC EQ 0.
          READ TABLE IT_ZMMTBL039 INTO WA_ZMMTBL039 WITH KEY  bsart = ls_poheader-bsart
                                                              mtart = w_mara-mtart
                                                              spart = w_mara-spart.
          IF SY-SUBRC NE 0.
            MESSAGE E009(zparts) WITH ls_poitem-MATNR w_mara-spart ls_poheader-bsart .
          ENDIF.
        ENDIF.
      ENDIF.
    end method

    Hello Swarup
    Since you want to compare all items together (having the same plant) I would suggest to implement this logic either in method CHECK or POST of the interface.
    However, if you want to make your checks within the PROCESS_ITEM method then you should change your logic.
    It does not make sense to work with the ABAP memory within a BAdI implementing class because the class itself is your "memory".
    I would use the following logic to implement your validation:
      lo_poheader = im_item->get_header( ).  " retrieve header instance
      lt_items = lo_poheader->get_items( ).   " retrieve all items
      ls_detail_x = im_item->get_detail( ).  " details of currently processed item
      LOOP AT lt_items INTO ls_item.
        ls_detail = ls_item-item->get_detail( ).
        IF ( ls_detail-werks NE ls_detail_x-werks ).  " validation failed
        " do something...
       ENDIF.
      ENDLOOP.
    However, I would prefer to do this kind of validation in CHECK or POST method.
    Regards,
      Uwe

  • BAdi for Search Criteria in IC

    Hi Experts,
    I am working on the UI of the IC, i have to implement a BAdi for the search criteria in the Account Identification -> ERP Sales Document , I am trying this badi "CRM_BUPA_IL_SEARCH" but this is not getting triggered.
    Can anyone suggest any name of the BAdi for the same ?
    Thanks in advance,
    regards,
    sharad,

    Hi sharad,,
    if you want to use your badi to search a object you have to use as a search bol object BuilHeaderSearchNew. If you are using BuilHeaderSearch(sap standard) it's not working.
    You can define to use the BuilHeaderSearchNew in spro->CRM->INDUSTRY-SPECIFIC Solution->Utility Industries->Setting for User Interfaces->Identification->Define Identification Profiles. Choose your z-profile and in the row Search By BP select the value BuilHeaderSearch. Check if it saves your value, becouse we had a problem with this.
    Or you can use table crmc_iu_md_prof to enter the value BuilHeaderSearchNew directly for your z-profile.

  • Creating BADI for datasource enhancement in CRM.

    Hi,
    I am working on SAP BI/BW. This is the first time I am working in CRM system with CRM datasources. Facing some problem for datasource enhancement as never done it before in the CRM system. Is there anyone who can help in in creating BADI for datasource enhancement in CRM.
    Thanks in advance
    Moumita

    Hi Prasad Reddy,
    This are the available badis and exits for this t.code:
    Enhancement/ Business Add-in            Description
    Enhancement
    MGA00001                                Material Master (Industry): Checks and Enhancements
    MGA00002                                Material Master (Industry): Number Assignment
    MGA00003                                Material Master (Industry and Retail): Number Display
    Business Add-in
    MG_MASS_NEWSEG                          User-Specific Fields & Segments in Mass Maintenance
    MATGRP_SKU_UPD
    CDT_CHECK_MATERIAL                      Checks for Existence of a Material in a CDT
    BADI_MM_MATNR
    BADI_MAT_F_SPEC_SEL                     BAdI for Material Special Field Selection
    BADI_MATNR_CHECK_PVS
    BADI_MATERIAL_REF                       Addition of customer-defined default data for material
    BADI_MATERIAL_OD
    BADI_MATERIAL_CHECK                     Enhanced checks for material master table
    BADI_GTIN_VARIANT
    BADI_EAN_SYSTEMATIC
    o.of Exits:          3
    o.of BADis:         11
    Find the Exact  exits and badis for ur requirement.
    How to fine the exact badi:
    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
    Rgds,
    P.Naganjana Reddy
    if you follow this 7 steps, you will find a suitable BADI.

  • User exit or BADI for Tcode ME51N

    Hi All,
    My requirement is i need to check available quantity at the time of Purchase req creation. If PR quantity is available in stock then it should not allow to create new PR.
    Is there any user exit or Badi for this requirement. Kindly send me.
    Regards,
    Paras

    Hai,
    User Exit:  MEREQ001
    Function exit             EXIT_SAPLMEREQ_001  
                                   EXIT_SAPLMEREQ_002  
                                   EXIT_SAPLMEREQ_003  
                                   EXIT_SAPLMEREQ_004  
                                   EXIT_SAPLMEREQ_005  
                                   EXIT_SAPLMEREQ_006  
                                   EXIT_SAPLMEREQ_007  
                                   EXIT_SAPLMEREQ_008  
                                   EXIT_SAPLMEREQ_009  
                                   EXIT_SAPLMEREQ_010  
    Screen exit               SAPLMEGUI           
    Include tables           CI_EBANDB           
                                   CI_EBANMEM

  • User Exit or Badi for CN22

    Hi All
    Can anyone tell me an user exit or badi for Tcode CN22 which gets triggered when i save a network.
    whenever i make changes in the WBS assignment of the network in the activity level then the i need to copy dates to other networks whenever a change in WBS element is done. Please treat this as pretty urgent
    Thanks
    Sowjanya

    Hello,
    Please check and see if the BADI
    <b>"AFABD_CHANGE"</b> suits your requirement
    it has
    <b>AFABD
    Network: Dialog table for AFA</b>
    as a changable parameter....
    and import parameter as
    <b>CAUFVD                       
    Dialog Structure for Order Headers and Items</b>
    Reward if helpful
    Regards
    Byju

  • User exit or BADI for recruitment

    Hi,
    I am new to HCM, can you give me user exit or badi for recruitment.
    Requirement - i have developed an infotype which i am updating through BSP, while the custom infotype is updated it should simultaneously update some of my Z tables. Hoping for positve replies earliest.
    Thanks in advance:-
    Santosh

    Hi,
    <b>Infotype</b>The data fields of HR master data, time management and recruitment are grouped logically into information types or infotypes for short.
    Examples of infotypes are "Family/Related Person", "Organizational Assignment, "Basic Pay".
    The following naming conventions apply to infotypes:
    Infotypes 0000 to 0999 are used for HR master data
    and sometimes for applicant data
    Infotypes 1000 - 1999 for organizational management
    Infotypes 2000 - 2999 for time data
    Infotypes 4000 - 4999 for applicant data
    Infotypes 9000 - 9999 for customers
    <b>Function character of step</b>
    This controls for which types of processing (create, change and/or delete a data record) a dynamic action should be carried out.
    The processing type is indicated by a two-digit numeric value. These values can be added up; in other words, you can enter several processing types for each infotype, subtype or field. A dynamic action can also be carried out independent of the current processing type.
    00 for Independent of the current function carried out
    02 for Change
    04 for Create
    06 for Change and create
    08 for Delete
    10 for Change and delete
    12 for Create and delete
    Examples
    If you enter 06, an action is carried out if the specified infotype was created or changed.
    If you enter 00, an action is carried out irrespective of whether the specified infotype was created, changed or deleted.
    <b>Variable function part</b>
    The variable function part, which depends on the indicator for step, can have the following meaning:
    <b>P - Plausibility checks</b>
    You can enter values for specific infotype fields. Field names must be entered in full. Literals and constants can serve as comparison values. These must be enclosed by inverted commas. Variables can also be used.
    The old value of a field can be used for comparison; the field name must be preceded by PSAVE-.
    If fields of other infotypes are used for comparison, these must be stored in the module pool of the current infotype.
    The following comparison operators are supported:
    = equal to,
    < less than,
    <= less than or equal to,
    > greater than
    >= greater than or equal to and
    <> not equal to.
    Consecutive checks must be linked by a logical AND. Logical OR links must also be indicated by a /X.
    Note:
    Note that all checks with OR links must have a /X.
    If the result of the comparison operation is not "true", then the following commands (I, F, W etc.) are skipped over until a field is reached or a new comparison operation takes place.
    Examples
    Infotype  Field ..... Ind.   Variable function part
    0007      STAT3       P      P0007-STAT3='0'
    0007      STAT3       P      PSAVE-STAT3='1'
    The step is taken if the value in the P0007-STAT3 field changes from 1 to 0.
    0007                     P      P0013-KLKZ1<>'0'/X
    0007                     P      P0013-ALVKZ<>'0'/X
    0007                     P      P0013-RVKZ1<>'0'/X
    0007                    P      P0013-RVNUM=SPACE
    The first three conditions are linked by an OR; at least one of these conditions must be met. Condition 4 must always be met.
    The step is taken if the following holds true:
    P0013-KVKZ1 not equal to 0 or P0013-ALVKZ not equal to 0 or P0013-RVKZ1 not equal to 0, and P0013-RVNUM empty.
    <b>I - Maintain infotype record</b>
    Enter the step, infotype, subtype, object ID, start and end dates of the record and an indicator which defines whether the step is to be run in the background. The possible actions are INS, COP, MOD, and DEL.
    Use commas to separate selection criteria just like the separator in the matchcode. If an entry is missing, the system inserts a comma.
    Separate the indicator for suppressing dialog from other entries by a slash D (/D).
    Constants, such as those for subtypes, are not enclosed in inverted commas.
    Variable entries are also permitted. Fields containing such values must be put in brackets.
    Examples:
    Infotype  Field ....  Ind.  Variable function part
          ....             I    INS,19,01/D
    Step: Create a Dates record, subtype 01, run in the background
          ....             I    DEL,14,M559
    Step: Delete Rec. Payments/Deds. record with subtype (wage type) M559.
    0007 ....                I    INS,8,,,(P0007-BEGDA),(P0007-ENDDA)
    Step: Create a Basic Pay record (0008) without subtype and object ID. The start and end dates are the same as those in the current Planned Working Time record (0007); specify these two fields only if they are filled because the dynamic action was triggered by this infotype.
    <b>W - Default values for new record</b>
    Literals or variables are used as default values.
    Set the defaults for the infotype, subtype, object ID, start and end dates using an I step and not a W step.
    Do not set defaults for Q fields of an infotype because the values for these fields are derived from the corresponding P fields.
    Examples
    Infotype  Subtype  ..... FC  Ind.  Variable function part
    0021       2              04  I     INS,0015,M430
    0021        2              04  W     P0015-BETRG='10000'
    When a Family/Related Person record (0021) record with subtype 2 (child) is created, an Additional Payments record (0015) with a default amount of 100.00 is created.
    <b>V - Cross-reference to another step</b>
    Here, you can combine fields to groups. The variable function part contains the value in the field which follows the "field" column. Steps which are specified only for the following field are also triggered for each of the other fields.
    Examples
    Infotype  Field  ..... FC  Ind.  Variable function part
    0016       PRBZH        06  V     PRBZT
    0016       PRBZT        06  I     DEL,0019,01/D
    Infotype 0019, subtype 01 is deleted in the background when the field PRBZT or PRBZH in infotype 0016 is changed or created (function code 06).
    The following entries are equivalent:
    0016       PRBZH        06  I     DEL,0019,01/D
    0016       PRBZT        06  I     DEL,0019,01/D
    <b>F - Call a routine</b>
    You can call internal (module pool) as well as external routines.
    If you call external routines, type the program name in brackets after the routine name. Do not specify 'using' parameters. When calling an external routine, all data must be declared in a common part. You can use the fields of structure RP50D to return values from the routine. These are not used in the standard system and can only be populated via the routine and then can be used for defaults (W-Commands).
    This allows customer-specific routines to be formulated with all the above steps.
    Example 1:
    Infotype  Field  .....  Ind.   Var.function part
    0016      PRBZT         F      PROBATION
    0016      PRBZT         I      INS,19,01
    0016      PRBZT         W      P0019-VTRMN=PRBEND
    Module pool MP001600 contains the PROBATION routine. This routine uses the entries in the fields P0016-PRBZT and P0016-PRBEH to determine the end of the probation period which it stores in the field PRBEND.
    The system creates a new 'Dates' record with the reminder date = PRBEND.
    Example 2:
    Infotyp ..... Ind. Var. function part
    0001           F      GET_DATE(ZPUDYN01)
    0001          I      INS,19,01
    0001           W      P0019-VTRMN=RP50D-DATE1
    The GET_DATE routine in program ZPUDYN01 calculates a date and enters this date in the RP50D-DATE1 field via "TABLES RP50D" in ZPUDYN01. This date can be user-defined in GET_DATE: if necessary, user-defined infotypes can be read afterwards.
    <b>M - Send a mail</b>
    Enter the name of the feature which defines the characteristics of the mail.
    Example
    Infotype  Field  .....  Ind.    Var.function part
    0001     SACHP         M       M0001
    A mail is sent when the field SACHP is changed. The characteristics of the mail are defined in feature M0001.
    In the standard system, feature M0001 is provided as a model. The documentation on feature M0001 explains how to define the characteristics of a mail.
    <b>ADDITIONAL HINTS</b>
    If you use a date as a constant, enter it as YYYYMMDD (YYYY=year, MM=month, DD=day).
    The table strings T001P, T503 and PSPAR are filled with the values which are valid on the record start date.
    The old values of the infotype are stored in the field string PSAVE. The structure of this string is the same as the Pnnnn structure (nnnn=infotype). The structure is filled with (valid) values only when the delete, change and create functions are used.
    Please read Create dynamic actions in the Implementation Guide.
    Regards
    Bernd

  • User Exit or BADI for Updating Tax code (MWSKZ) using ME21N

    Hi all,
    I am trying to fin out an exit or badi for Updating Tax code (MWSKZ) and Unit of Measure in transaction ME21n.
    The scenario is like this...
    For Purchase Orders Tax code will be defaulted from Purchasing info record or contract or parameter id for that item-vendor-plant.
    If the Tax Code is not defaulted and account assignment is blank then tax code on the PO is updated according to the below mentioned table
    Table
    Supplying Plant/              Receiving Plant                      Tax code
    Vendor/Country
    Any plant/vendor/
    country                           5050(NA)                               20
    2300                              6700                                     E0
    If the tax code on PO cannot be updated by the above table, then buyer needs to put tax code on the purchase order manually.
    Thanks,
    Shiva, Bangalore

    Hi Siva.,.,.,
    These r the exits.,..,which will be called while calling ME21N/ME22N/ME23N
    EXIT_SAPMM06E_006
    EXIT_SAPMM06E_007
    EXIT_SAPMM06E_008
    EXIT_SAPMM06E_009
    EXIT_SAPMM06E_012
    EXIT_SAPMM06E_013
    EXIT_SAPMM06E_014
    EXIT_SAPMM06E_016
    EXIT_SAPMM06E_017
    EXIT_SAPMM06E_018
    U want to default some values while the Initial screen will come right,
    while u Enter ME21N in command Prompt.,.,two exits will get triggerd,
    EXIT_SAPMM06E_014
    EXIT_SAPMM06E_016
    If u want to Default some values u can use these two exits.,.
    Try using EXIT_SAPMM06E_016.,.this will solve ur purpose.
    and if the user changes some values on screen.,,and you want them to get reflected .,.,.that means if user changes and saves data .,.
    While saving.,.,EXIT_SAPMM06E_012 and EXIT_SAPMM06E_013 will get triggerd
    Try using EXIT_SAPMM06E_013.,,.it was somehow the same requirement as mine.,.,IN my case it worked fine.,.,
    Regards
    Debasish
    Message was edited by:
            Debasish Das

  • User exit or badi for item text in mir7 transaction

    Hi Gurus,
    Please provide me suitable user exit or enhancement or badi for this requirement.
    client enter TEXT fied data in MIGO transaction for material document and purchase order in where tab.
    in MIR7 i entered reference number as material document number and purchase order number after triggering enter button it gives the list of items but IT IS NOT GIVE THE ITEM TEXT DATA which we entered in MIGO transaction.
    Please provide me suitable user exit or enhancement or BADI for this.
    Thanks A lot in Advance.
    With Regards,
    Radhakrishna.

    Hi RadhaKrishna,
    You can find the BADI by yourself just follow the below any methods you will get the appropriate BADI name..
    Method 1:
    Go to Tranaction: SE24.
    open class CL_EXITHANDLER
    Open the method " GetInstance"
    Put Break point in the statement
    call method cl_exithandler=>get_class_name_by_interface
    Now execute the Transaction which you need teh BDC it will automatically stops at the the method. In debugging mode double click on the variable: " exit_name" It will return the BADI Name.
    Method 2:
    find the Package name and go to the tranaction SE84.
    Enter the package name
    inside the left navaigaiton panel there is one option " Enhancements" click on this enhancement and then enter the package name and execute it. you will get hte number of enhancement.
    for your reference I am sending you the list of BADI present in MIRO transaction.
    ARC_MM_MATBEL_CHECK --------Check AddOn-Specific Criteria for MM_MATBEL
    ARC_MM_MATBEL_WRITE ---------- Archive AddOn-Specific Data for MM_MATBEL
    MB_CHECK_LINE_BADI  -------------- BAdI: Check Line Before Copying to the Blocking Tables
    MB_CIN_LMBMBU04     --------------- posting of gr
    MB_CIN_MM07MFB7     ---------------- BAdI for India Version exit in include MM07MFB7
    MB_CIN_MM07MFB7_QTY  ------------Proposal of quantity from Excise invoice in GR
    MB_DOCUMENT_BADI     --------------BAdIs when Creating a Material Document
    MB_DOCUMENT_UPDATE   -----------BADI when updating material document: MSEG and MKPF
    MB_MIGO_BADI        --------------------- BAdI in MIGO for External Detail Subscreens
    MB_MIGO_ITEM_BADI    ----------------BAdI in MIGO for Changing Item Data
    MB_RESERVATION_BADI  --------------MB21/MB22: Check and Complete Dialog Data
    Thanks,
    Chidanand

  • User Exit/Badi for G/L account assignment in ME21n/ME22n

    Hi All,
    I need user exit/badi for account assignment in item details for following requirement.
    If user changes G/L account of the first line item then I have to copy same G/L account to all line items.
    Please suggest me suitable user exit for this.

    hello,
    follow the steps.......
    For User Exit's
    goto to tcode->status->program name->double click on that,
    then goto to-> attribute take the package name and
    Goto SMOD tcode ->Utilities->give the package name and F8
    then a list of exits will display for that tcode as well as that package.
    u can check the table MODSAP
    For BADI's,
    1)goto to tcode SE24 give the CL_EXITHANDLER and display and then double click on the GET_INSTANCE
    keep Break point at this location 'call method cl_exithandler=>get_class_name_by_interface'
    then the tcode it will trigger there and we can debugg there we can find badi'for that tcode and then remove the break point.
    2)Goto to tcode->status->program name->double click on that program will display's
    then  press crtl+F then cl_exithandler
    Thank u,
    santhosh

  • User exit/BADI for Return PO item delivery Address

    Hi Guyz,
    We have a requirement where in when a PO item is marked as return PO item(In ME21n/ME22n/ME23n We have check box at item level) and click on enter/Check/Save, In delivery address of item details we have to populate Vendor address. By default SAP populates Plant address. If we manually give Vendor number in item details=>Delivery address tab then it populates vendor address. We want to automate this functionality.
    Is there any Exit/BADI which serve this purpose.
    Note: We need this functionality for few doc types(i.e PO doc type should also be available in the exit).
    Any ideas could be really helpfull.
    Thanks,
    Vinod.

    Hi,
    there are some user-exit & enhancements....
    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
    Some BADI s:
    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_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_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_PROCESS_PO_CUST                      Enhancements for Processing Enjoy Purchase Order: Customer
    SMOD_MRFLB001                           Control Items for Contract Release Order
    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_PURCHDOC_POSTED                      Purchasing Document Posted
    ME_PROCESS_REQ_CUST                     Enhancements for Processing Enjoy PReqs: Customer
    ME_PROCESS_REQ                          Enhancements for Processing Enjoy PReqs: Internal
    ME_COMMTMNT_PO_REL_C                    Check for Commitment-Relevance of Purchase Orders
    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
    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)
    ME_CCP_DEL_DURATION                     Calc. of Delivery Duration in CCP Process (Not in Standard)
    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
    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
    No.of Exits:         35
    No.of BADis:         55
    Arunima

  • Badi  for ME51N Item changes

    Hi ,
      Is there any Badi or user exit to make changes to the line item data in the purchase requisition create/change ME51N or ME52N transactions. We would want to populate few fields automatically on the item data, so would request if any of you have worked on any Badi for this transaction, please do post in immediately.
    Thanks,
    Sowmya

    Hi,
    1)BADI to be implemented: ME_PROCESS_REQ_CUST.
    Method to be used: PROCESS_ITEM.
    Place the below code in your implementation.
    data : l_item type MEREQ_ITEM.
    CALL METHOD im_item->get_data
    receiving
    re_data = l_item.
    *C-- L_ITEM-BEDNR is requirement tracking number
    2)Exit in ME51N
    MEREQ001 Customers' Own Data in Purchase Requisition
    You can implemet by this way
    You add your customer fields, which should be saved in the database, to
    the include CI_EBANDB (in table EBAN). You can also add customer fields
    that you want to use during the program run to the include CI_EBANMEM
    (in structure MEREQ_ITEM) These fields are not stored in database table
    EBAN.
    <b>Reward points</b>
    Regards

Maybe you are looking for

  • Multiple IPods on one PC-help!

    Hi. I just got a shiny NEW Ipod video, reinstalled I tunes, plugged the thing in and...voila..it dumped my daughter's entire library on my new ipod and it thinks it is hers. Now what do I do? I need to get rid of her library and set up my own device

  • Can I add an internal link in a Pages 5.5.2 Document

    In previous versions of Pages I could add a link from a word in my document to, say, a topic in a different place in the document. Either I've forgotten how to do it or the ability has gone away. Can someone help?

  • Error in adstrtal.sh

    I am getting error from R12 while starting the app services... ERROR: apdevmgr@bhap0006-/opt/pbn1oebd/inst/apps/PBN1OEBD_bhap0006/admin/scripts # ./adstrtal.sh You are running adstrtal.sh version 120.15 Enter the APPS username: apps Enter the APPS pa

  • Copy Control of Biling Documents

    Hello i am having trouble in coping invoices (f2) to invoice list (lr). The invoice list is crated but the conditions of the invoice is not passing to the incoice list. I think the problem is in the copy control. Can some one show the settings of the

  • Guild Wars 2 Digital Download

    i buy GW2 (paypal ) my status is pending and i not reiceved my BETA Code Access anyone help me ?  my email from paypal : {removed per forum guidelines} from bestbuy : {removed per forum guidelines} thanks !