BADI for VA21/VA22

Hello everyone.!
I need to know if there is a BADI for Tx. mentioned above(Quotation). What i need to do is simple: Validation check in condition types (pricing & discounts).
If user selects a condition type (i.e. PR00), then i need to validate its amount.
I've read some about BADIs por Sales Order document, i.e. VA01/VA02.. but ¿can these BADIS help me with this?
Thanks in advance.!!!
Luis

Hi
you can use Standard User-exit program MV45AFZZ Provided by SAP  for Sales, You can write ur
Code in following Section of This Above Program.
      FORM USEREXIT_PRICING_PREPARE_TKOMK                           *
      This userexit can be used to move additional fields into the  *
      communication table which is used for pricing:                *
      TKOMK for header fields                                       *
      This form is called from form PREISFINDUNG_VORBEREITEN.       *
FORM USEREXIT_PRICING_PREPARE_TKOMK.
*{   INSERT         EEDK900305                                        1
We are executing this functionality through a different report
*}   INSERT
TKOMK-zzfield = xxxx-zzfield2.
ENDFORM.                    "USEREXIT_PRICING_PREPARE_TKOMK
*eject
      FORM USEREXIT_PRICING_PREPARE_TKOMP                           *
      This userexit can be used to move additional fields into the  *
      communication table which is used for pricing:                *
      TKOMP for item fields                                         *
      This form is called from form PREISFINDUNG_VORBEREITEN.       *
FORM USEREXIT_PRICING_PREPARE_TKOMP.
*{   INSERT         EEDK900305                                        1
I Think This Will Help You.
Regards,
Shyam.

Similar Messages

  • Reg Save in VA21 & Va22

    I have a simple requrement of checking Your reference(VBKD-IHREZ_E) field in table VBKD already exists or not when ever a User gives a new  Your reference or changes an existing one.
    is there any FM exit ot BADI for this...

    check include MV45AFZZ abd badi ME_CHECK_SOURCES
    user exits & BADI's for va21/va22
    V60F0001 SD Billing plan (customer enhancement) diff. to billing plan
    V46H0001 SD Customer functions for resource-related billing
    V45W0001 SD Service Management: Forward Contract Data to Item
    V45S0004 Effectivity type in sales order
    V45S0003 MRP-relevance for incomplete configuration
    V45S0001 Update sales document from configuration
    V45P0001 SD customer function for cross-company code sales
    V45L0001 SD component supplier processing (customer enhancements)
    V45E0002 Data transfer in procurement elements (PRreq., assembly)
    V45E0001 Update the purchase order from the sales order
    V45A0004 Copy packing proposal
    V45A0003 Collector for customer function modulpool MV45A
    V45A0002 Predefine sold-to party in sales document
    V45A0001 Determine alternative materials for product selection
    SDTRM001 Reschedule schedule lines without a new ATP check
    SDAPO001 Activating Sourcing Subitem Quantity Propagation
    Business Add-in
    BADI_SD_SCH_GETWAGFZ Scheduling Agreement: Read WAGFZ from S073
    BADI_SD_V46H0001 SD Customer functions for resource-related billing[/code]

  • User-exit for VA21

    I'm doing a functional spec for an enhancement to copy the valid from date in VA21 to the valid-to date + 14 days. Does anywone know what user-exit that can be used for the enhancement.
    Thanks, Torkel

    <b>mistakly reposted</b>
    hi
    these are the avilable user exits and BAdis.. for VA21.
    V60F0001                                SD Billing plan (customer enhancement) diff. to billing plan
    V46H0001                                SD Customer functions for resource-related billing
    V45W0001                                SD Service Management: Forward Contract Data to Item
    V45S0004                                Effectivity type in sales order
    V45S0003                                MRP-relevance for incomplete configuration
    V45S0001                                Update sales document from configuration
    V45P0001                                SD customer function for cross-company code sales
    V45L0001                                SD component supplier processing (customer enhancements)
    V45E0002                                Data transfer in procurement elements (PRreq., assembly)
    V45E0001                                Update the purchase order from the sales order
    V45A0004                                Copy packing proposal
    V45A0003                                Collector for customer function modulpool MV45A
    V45A0002                                Predefine sold-to party in sales document
    V45A0001                                Determine alternative materials for product selection
    SDTRM001                                Reschedule schedule lines without a new ATP check
    SDAPO001                                Activating Sourcing Subitem Quantity Propagation
    Business Add-in
    BADI_SD_SCH_GETWAGFZ                    Scheduling Agreement: Read WAGFZ from S073
    BADI_SD_V46H0001                        SD Customer functions for resource-related billing
    Message was edited by:
            Naresh Reddy

  • User Exit for VA21 - Opportunity Number Text

    Hi! I need to retrieve or do some checking on the Opportunity Number Header Text if this is filled or not when creating an invoice/quotation. I've already done this for the checking on VA23, I used FM read_text and it works. But for the checking on VA21, I can't retrieve the text. This is because FM read_text requires
    1. ID - TDID
    2. Language - SPRAS
    3. Name - Doc Num
    4. Object - TDOBJECT
    and for VA21 since it technically still doesn't have a document number it can't read the text.
    Is there any temporary table/structure where the text is saved, where I can retrieve the text?

    Hi,
    I think you are checking the header text in a program (Use exit/BAdi) before saving the document right?  I have also faced the same scenario for tcode ME21N and ME22N. I resolved the issue in a BAdi .
    Before saving the document the text is available for ls_name = space. i.e name = ls_name.
    And the same text is available after saving the document for name = ls_name = Document number.
    Try with this.
    CALL FUNCTION 'READ_TEXT'
    EXPORTING
    client = sy-mandt
    id = l_wa_textid_hdr-tdid
    language = sy-langu
    name = ls_name
    object = l_wa_textid_hdr-tdobject
    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.
    Regards,
    Raju.

  • Reg. Exit/BADI for changing item data of PO in ME22N

    Hi all,
    My requirement is to update the field LABNR (Order Ack.) of few specific line items of a PO, in the Transaction ME22N, using Exit/BADI.
    I have tried the BADI  ME_PROCESS_PO_CUST. But the PROCESS_ITEM method of this BADI processes only the line item which has been changed/inserted in ME22N transaction. But my requirement is to update line items irrespective of whether that line item was "changed/not changed" during the process in ME22N screen.
    Could you please suggest me some suitable Exit/BADI for this requirement.
    Regards,
    Anbarasan K

    Thanks Martin.
    Problem solved by implementing the method Process_Header.
    1. Get the items from Header                              -  im_header->get_items
    2. Loop the item list and get the line item record   - re_item-item->get_data
    3. <- Logic to Update the line item - >.
    4. Update the line item                                       - re_item-item->set_data
    Thank you very much.. Martin.
    Regards,
    Anbarasan K

  • Do you have any idea what is the BADI for creation of Purchase Order?

    Hi Gurus, I would like to ask regarding the BADI for the P.O creation in SRM. I have a requirement that if the Account Assignment Type is "asset" it should tick the checkbox (goods receipt/confirmation of performance of service) in the related documents tab of item.  Thanks a lot. I hope you can help me gurus.

    Thanks for the help.

  • User Exit/ BADI for PO release

    Hi Experts,
    Can anyone please tell me about the User Exit or BADI for Sub contract PO release.Also tel me how to proceed for the following 2 requirement ,
    i have to send an IDOC as & when the Sub contract PO releases.
    And automatically resent if changes are made in PO with the repeat output function in ME22N.
    Regards,
    Nik

    Hi,
      Use trx SE19 to implement your BADI: create an ZME_PROCESS_PO_CUST using ME_PROCESS_PO_CUST as definition.
    Now in Interface Tabs you can see the METHODs you can use as "user-exit", in particular there's PROCESS_ITEM to manage items data.
    You have to write your code into this method.
    This method has IM_ITEM like parameter in its interface, and it's like the type IF_PURCHASE_ORDER_ITEM_MM.
    This type has the method IF_LONGTEXTS_MM~SET_TEXT, you can try to use it to set your text in item.
    This is code for example:
    DATA: TLINE TYPE MMPUR_T_TEXTLINES.
    CALL METHOD IM_ITEM->IF_LONGTEXTS_MM~SET_TEXT
    EXPORTING
    IM_TDID = <YOUR ID>
    IM_TEXTLINES = TLINE.
    So you should read the text you want to copy and pass it to TLINE.
    You can use the METHOD PROCESS_HEADER to read the text you need. This METHOD has IM_HEADER as parameter and it's like the type IF_PURCHASE_ORDER_MM, this type has the method IF_LONGTEXTS_MM~GET_TEXT to read header logn text.
    Anyway while you're in implementation of the BADI go to:
    GoTo->Sample Code
    Here you can try an example how to implement the method you need to use.
    Regards

  • User exit / BADI for training and event management

    Hi all,
    Can anybody tell me if there is any user exit / BADI for training and event management module?
    Thanks & regards,
    LOI

    Hi
    BADI's for Training and Event Management
    HRTEM00MASTERDATA      HR: Training and Event Management - Master Data
    HRTEM00NET_ACTIVITY      Determine Activities of an Attendee (e.g. ESS PV8I)
    HRTEM00NET_WEBST      Set Cancellation Reason in ESS PV8I
    HRTEM_CORR_NOTIF_REQ      Customer Enhancement:Confirmation on Send (R/3 Mail, E-Mail)
    HRTEM_HANDLE_BOOKING      HR-TEM BAdI: Employee Leaves Company - Update TEM Data
    HRTEM_INT_ZW           HR-TEM: Badi for Integration TEM - Time Management
    HRTEM_READ_OBJECT      Customer Enhancement: Name Format
    RHPV0001 Customer      Enhancement for Additional Checks for Booking
    Enhancemnet Spot:
    HRTEM00MASTERDATA      HR: Training and Event Management - Master Data
    ~~~Ganesh Kumar K.

  • How to create a BADI for the sceanrio

    Hi abapers,
    I have a scenario as follows.
    I create a Transaction where in i put the details of the product and quantity for a particular project's site. The amount gets calculated based on the products  unit value and its displayed in net value field. Now the user saves the transaction and a number gets generated. If the net value amount is less than 500 then the user can approve , if its greater than 501 and less than 1500 then a mail should be generated to his superior who is able to approve and ifs amount is greater than 1501 then a mail should be generated to the top of hierarchy who should approve it.
    Now the real challenge is if the same project card  has more than 1  new request and the amount is less than 500 the user should not be able to approve  instead it should generate a mail to his hierarchy for approval  since  the site has already been exceeded its limit of approval. bcoz earlier 500 and current 400 which will make it to greater than 500.similarly for the hiearchy.How do i go about  it.
    Now i want to create a BADI  on the save event of transaction to check the net value amount as well as check for earlier amounts saved for the particular site.
    Any help will be appreciated.
    Regards,
    Navin .

    hai navin
    r u using ECC 6.0 or 4.7 if 4.7 u can create badi defintiion directly form se18 transaction
    and define the interface and its methods , once u define them activate them
    and to use in ur code u create an instance of ur badi name
    and then use
                     cl_exithandler=>get_instance  method in instance name parameter just pass ur badi name and this will create a badi defintion in ur code, and an oen can implement it
    if u r usign ecc6.0 then u can either create new badis usign enhancments or classical badis
    for clasical badis just go to menu  utilites and create classical badis and follw the sam eprocedure
    regards
    m.a

  • 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

  • Project settlement to CO-PA and BAdI for automatic creation of rules

    Hello SAP experts!
    I have managed to implement settlement rule strategy to CO-PA for sales project WBS-elements, which automatically creates the settlement rules for WBS-elements with billing indicator. One or more sales order items are assigned to the WBS-elements. When the system derives settlement rules, it generates profitability segments that contain the characteristic values of the WBS elements and the sales orders assigned to them. The problem is, that only one single settlement receiver is determined for each WBS-element. And if more that one sales order item is assigned to the same WBS-element only those characteristics are copied to the settlement rule that are same in all sales order items.
    For example; it products are different in all sales order items, the automatically created settlement rule does not contain the characteristic value product or neighter other caracteristics derived from product.
    Do You have experience of using BAdI for influencing the generation of settlement rules? What it actually makes possible?
    Br, Nina

    Dear Waman,
    thank you for your reply !
    Yet - this still does not solve our problem. In that note (and also in the related note 201445) there is no valuable information included concerning transaction currency:
    Our WBS elements (and also other cost objects, e.g. sales order items) are being debited in all of the three currencies.....but the credit (during settlement) only takes place in two of them:  object and CO area currency.
    I really appreciate additional help on this. It would be hard to believe that we are the only SAP customer having this kind of problem.
    Best regards,
    Thomas

  • Need exit or Badi for updating Warranty data in IE02 while Prod Order conf.

    Hi All,
    I need a user exit or Badi for updating the Warranty data in IE02(Equipment Master) while production order confirmation(CO15)?
    I need to update the Begin guarantee date from Production order and warranty master type in IE02 while confirming the production order.
    Thanks,
    Sudha

    Hi,
    Are you saying first create notification,then service order
    and then Sales order.
    But the requirement is create notification then sales order and when you go in va02 and while modifying the sales order and create service order.
    Thanks & regards,
    chetan.

  • BADI for Claims search in trade promotion management

    Hi Experts,
    I am enhancing the Claims search in trade promotion management with a custom field. I added a custom field in the search screen of claims.
    I want to filter the records based on that custom field. The component is BT311S_CSR and the search query is BTQCSR.
    Is there any BADI for claims so that I can filter the records.
    I tried to put a breakpoint in the badi CRM_BADI_RF_Q1O_SEARCH and searched but it is not stopping.
    Does this badi works for claims? Or first do i have to create a implementation with the filter object as BTQCSR then try to check whether it will stop in the badi while searching the claims.
    Please suggest me.
    Regards,
    Dinesh.

    Hi Dinesh,
    Now this becomes tricky. Since your requirement is very specific there is no way that standard sap can help. You may end up in enhancing n number of classes.
    I can propose a solution though Please put of in front of your business/ functional team and then go ahead..
    Now we will change our approach...Please follow below steps:
    1. Add a altogether new field to your claim transaction using AET for sales office (description as 'Sales Office').
    2. Make this field search and result relevant.
    3. Whenever a sold to party is selected for claim transaction, based on the sold to party you would set value of this field.
    4. Since your field is search relevant it will automatically appear in your search query (control this in view configuration.)
    5. You may or may not display this field to end user in claim detail screen, You can control this by configuration.
    6. Depending on your requirement you can show/hide standard sales office field in search query.
    If you follow this approach then it will serve the purpose.
    Trust this solves your issue. Give points if it helps.
    Regards,
    Bhushan

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

  • BADI for Address Check in PA30 in ECC6.0

    Hi Friends,
    Is there any BADI for Address Check in PA30 in ECC6.0 similar to what we have in BP transaction in ECC6.0.
    Thanks,
    Pradeep

    check these...
    Enhancement/ Business Add-in            Description
    Enhancement
    PBASRP01                                PA: User exit distributed reporting
    PBAS0002                                PA: Enhancements for Personnel Administration - Menu
    PBAS0001                                PA: Pers.Admin./Recruitment: Default values and checks
    PARA0002                                Enhancement for Calculating Annual Salary; IT0008,14,15
    PARA0001                                Enhancement for Determining the Number of Periods
    HRRPAI01                                User exit for FB HR_ENTRY_DATE and HR_LEAVING_DATE
    HRPC0001                                HR: PC download authorization
    HRPBAS01                                User Exit for HR Master Data
    Business Add-in
    HRPAD00_PREM                            Definition of User Exit for Collective Search Help PREM
    HRPAD00_RECOG_SCREEN                    Employee Recognition Screen
    HRPADUS_PBAS_0001                       Customer Exit for Message handling
    HRPAD_SUBTY_CHECK                       HR: Master Data, Subtype Check
    HR_F4_GET_SUBTYPE                       HR: Entry help for subtypes
    HR_FAST_ACTION_CHECK                    Check fields on the fast entry screen
    HR_INDVAL                               HR: Indirect wage type valuation
    HR_SET_PKGAB
    HRPAYXX_DELETE_PERNR                    BAdI for Reports Deleting Personnel Numbers
    HRPAD00_PAPM                            Definition of User Exit for Collective Search Help PAPM
    HRPAD00_GET_AF_0008                     Additional Fields for Basic Pay Infotype (0008)
    HRPAD00_ENTRY_LEAVE                     HR_ENTRY_DATE and HR_LEAVING_DATE
    HRPAD00_ADRS                            HR: Address formatting
    HRPAD00MGEACTIVATION                    Activation Action BAdI for Global Employees
    HRPAD00INFTY                            Update / Infotype maintenance
    HRPAD00AUTH_TIME                        Time Logic in the PA Authorization Check
    HRPAD00AUTH_RECORD                      Spanish Data Privacy Law: Exit for Recording
    HRPAD00AUTH_CHECK                       HR: Authorization Check
    HRIV_REDUCE_AMOUNT                      Reduction within Indirect Valuation
    No.of Exits:          8
    No.of BADis:         19

Maybe you are looking for