VA01 user-exit to modify net price of line item...

Hello Experts,
Is there a user-exit to modify the net price value of a line item upon 'ENTERING' in
VA01 transaction?
Hope you can help me guys. Thank you and take care!

Hi,
The user exits and badis for va01 tcode:
Enhancement/ Business Add-in Description
Enhancement
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 articles for product selection
SDTRM001
Reschedule schedule lines without a new ATP check
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
RP-relevance for incomplete configuration
V45S0001
Update sales document from configuration
V45P0001
SD customer function for cross-company code sales
Business Add-in
BADI_SD_SCH_GETWAGFZ
Scheduling Agreement: Read WAGFZ from S073
BADI_SD_V46H0001
SD Customer functions for resource-related billing
Pls. reward if useful...

Similar Messages

  • User Exit for chaging Net Price in PO

    Can anyone suggest me of any user exit, if I want to change the <b>price(NETPR)</b> field at the time of saving the purchase order based on condition from sales order.
    Thanks
    Hi again,
      I tried meanwhile with some of the exits such as MMo6E* exits. These exits does not have chaging or export paramters pertaining to Item data. Some of them have Tables paramters, but the value what I change inside the exit is not retained after coming out of the exit and into the standard code of the PO create transaction.
    Ant suggestion is welcome with thanks.
    Regds,
    Prasad
    Message was edited by: Prasad Vepa

    You can affect price using additional conditions.
    For those conditions you can write formula yourself, however for this you need take changing-key.
    User formulas are maintained with transaction VOFM. Read more about it in SAP Note 327220.

  • User Exit during Sales Order Creation - New Line Item needed

    I have a situation during the process of sales order creation. If a Material in a line item has say 27 EA and the Base Unit is EA. But the Sales Unit is CSE. Then whenever the user enters 27 EA and presses enter he should get two line items.
    The first line item needs to convert to maximum number of CSE posible and the rest will be the second line item with the remaining EA. The order isn't important but that is what is needed. Question is how do I approach this problem and code my user exit accordingly and where do I code it.
    I was looking at SAPMV45A and saw the program MV45AIZZ which is meant as a user exit for any PAI event handling. If anybody has encountered this kind of requirement can you please share your view on this.
    I will definitely reward points for useful answers.
    Clark

    Hello Mahendra
    The requirement is as follows :
    PART 1:
    Sales Order Enter: 
    1.     When a line item is entered on a sales order (VA01 or VA02), at enter, check the sales unit of measure (VBAP-VRKME).
    •     Do not check line items where item category (VBAP-PSTYV) = TANN, TAPS or ZTAP.  TANN are free goods that should not be considered for consolidation.  TAPS & ZTAP are lower level materials as a result of product selection.  They will be attached to a higher-level material with an item category of TAX, which is relevant for consolidation.
    •     Do not check items where VRKME <> EA
    2.     If VRKME = EA, go to MARM for MATNR.
    3.     Go to record where alternate unit of measure (MEINH) = CSE, get the value from the numerator field (UMREZ).
    4.     Divide the order quantity (VBEP-WMENG) by UMREZ.
    5.     If the result is greater than 1.0, the customer has ordered more than one case and a new line item needs to be added to the sales order for the case quantity.
    6.     Add a new line to VBAP for the same material with the case quantity.  If not a whole value, the remainder of eaches (bottles) should update the qty on the first item on VBAP.
    •     Part 1 is relevant for order types ZCA, ZOR, ZSO, RE, ZSM
    PART 2:
    Batch Job to run prior to the Delivery Due List:
    1.     Read VBUK for Delivery Status (LFSTK) = A (delivery not processed).  Get all of the document numbers (VBELN).
    2.     Go to VBEP for those document numbers to get the goods issue date for the order.  There will be many records in VBEP for the same sales order.  Look at all orders with a goods issue date (WADAT) of next day.
    3.     Go to VBAK for those document numbers to see if there are multiple sales orders for the same Sold To party (KUNNR).
    4.     For customers who have more than one order in VBAK, search all line items (for all orders).  If there are no duplicate materials across sales orders, do nothing.
    •     Do not check line items where item category (VBAP-PSTYV) = TANN, TAPS or ZTAP.  TANN are free goods that should not be considered for consolidation.  TAPS & ZTAP are lower level materials as a result of product selection.  They will be attached to a higher-level material with an item category of TAX, which is relevant for consolidation.
    •     Do not check line items where reason for rejection (VBAP-ABGRU) is not blank
    5.     If there are duplicate materials, go through the same logic as in part 1.  If the quantity across the sales orders adds up to greater than one case, add the appropriate quantity to a new line item on the first sales order.   If there is a remainder qty, update the line item on the first sales order with this qty. In this case, the quantities on the second sales order needs to be closed out with a reason for rejection code of 50, ‘Line Item Consolidation’. If there is no remainder,  update the qty on this item directly.
    •     Part 2 is relevant for order types ZOR, ZCA, ZSM
    •     This batch job will have to be run manually for Day Pick orders.  The end of this program should automatically kick off the delivery due list for Day Pick orders, shipping condition 02.
    Business Justification:
    The business requires that like order line items be consolidated to one line item prior to the order going to the warehouse for picking.  This will aid in picking at the warehouse as well as result in the customer invoice not reflecting more than one line item for the same material.  In the case where the customer has truly ordered more than a case, i.e;, 1 case, 2 bottles, the documents in SAP will still reflect 2 lines.

  • User exit - for ME21N, 22N, 23N - at line item level

    Hi,
    I want to add new text field to display the description of the MPM(material) in it.
    That filed I want to add to the Account Assignment tab at item level.
    How to add that field on the screen, I mean any screen exit for this?
    and function module to pass the data to that field.
    If anybody worked on such problem then pls. let me know.
    Thanks in advance.
    -- Umesh

    Hi,
    These are the user exits for me21n.                
    AMPL0001          
    LMEDR001          
    LMELA002          
    LMELA010          
    LMEQR001          
    M06B0001          
    M06B0002          
    M06B0003          
    M06B0004          
    M06B0005          
    M06E0004          
    M06E0005          
    ME590001          
    MEETA001          
    MEFLD004          
    MELAB001          
    MEVME001          
    MM06E001          
    MM06E003          
    MM06E004          
    MM06E005          
    MM06E007          
    MM06E008          
    MM06E009          
    MM06E010          
    MMAL0001          
    MMAL0002          
    MMAL0003          
    MMAL0004          
    MMDA0001          
    MMFAB001     
    Regards
    praveen

  • User exit for delivery tab of PO line item?

    Hi guys,
    i want to impose checking on under delivery tolerance field present under delivery tab of PO line items.
    Is there any user exit to do this??
    Appropriate solution would be rewarded/
    Regards,
    GURU

    Check Enhancement - MM06E005 - Exit EXIT_SAPMM06E_012
    OR
    Check Business Add-In ME_PROCESS_PO_CUST has method CHECK.
    -Alpesh

  • User exit which gets triggered when a line item is deleted in va02

    Hello all,
                   I am unable to find a User exit which gets trigerred when i delete a line item from va02.If I use the User Exits for saving data in Include MV45AFZZ the screen field VBAP-POSNR for line item is not getting accessed.All i need to compare the line item texts. Which means if any of these texts change then i need to write my logic. But the screen field name for all the texts is the same.Please guide me.

    Hello,
    Whever you perform any actions on the line item, we have the user exit in MV45AFZZ, userexitxvbap. Whenever the the item is deleted the UPDKZ value in XVBAP value is set to 'D', else since you are using the transaction VA02, any change is recorded in YVBAP(for old values) and XVBAP(for new values), so using this two internal table you can write any necessary logic.
    BR
    Sudhakar.

  • VA01 user-exit for external price

    I have a little bit hard question,
    I want to know if anybody have already do thing like that :
    We need to find a user-exit to the VA01, VA02,  for each time I press enter to a line. This user-exit will call a RFC function to an other system to get the price of the material number.
    After getting the price, the user-exit must modify the price of the item.
    Any help will be welcome
    Frédéric

    Hi Wolfgang,
    No I can't, in fact, the price depend of the number of items, the kind of item, the customer, the vendor ....
    So, I really need each time, that this kind of order will be created to send all the informations to an external system, and get back the price.
    I'm agree with you with the disastrous time that will cost. But, I have not really the choice.
    And the more funy, after this, I need to modify a purchase order with special price too
    A friend from SAP, advice me to do this in background job. But, I think, I will need to answer before to my customer and boss, that's possible ...  but cost too much time.
    My question, for the moment, is : Is it possible to modify the price of all the items of an order, in an user-exit/badi, when I save my order ?

  • Net Price in PO Item not updating for Item Category "D"

    In purchase order with line item category "D" Service, upon first input of gross price in Service tab, Net Price in line item was updated successfully, but upon changing the gross price again in service tab, Net Price in line item is not updating anymore.
    I am using the condition type MWVS for tax calculation and a custom condition type ZPBX for the computation of Net Price = Gross Price - Tax. For ZPBX I used the calculation routine 82 (xkwert = komp-kzwi2 - xworkg.). For other item category, this is working fine. I am only having a problem in item category "D".
    I tried to debug and found out that upon entering a new gross price in service tab, the system is calculating the routine 82 first before even the gross price from service tab was transferred to the condition in line item. Because of that the routine 82 is calculating with the previous or old value in table KOMP since the gross price from service tab is not yet transfered to this table.
    Can anyone help me with this? What am I doing wrong?
    Thanks!

    Hi,
    Check which condition type used for Service PO pricing. Now use t. code: M/06 and enter that condition type and select check boxes of Amount/percent, Value, Qty Relation in Changes which can be made segment and save.
    Also select check box of u201CQty Conversionu201D in Control-2 segment and save.
    Now create service PO, change Price in service item level and see how NET PRICE changing.
    Regards,
    Biju K

  • Is there a user exit to modify PO line item level..

    Dear Friends,
    Is there a user exit to modify PO line item level..
    Ravi

    Hi...I'm not sure on any available customer exits for this purpose. However you can use the check function exit 'EXIT_SAPMM06E_012' of customer exit MM06E005 and using memory pointers you can change the item level data.
    The other option is to use BADI ME_PROCESS_PO_CUST's method PROCESS_ITEM to change the item level value. I would prefer the BADI rather than the customer exit.. Hope it works..
    Thanks,
    Jude

  • Use CREATE_TEXT on VA01 user exits

    Hi,
    I need to write item text using FM CREATE_TEXT in VA01 user exits. The FM required VBELN and I don't have when creating order.
    How can I create item text in VA01 user exits ?
    Thanks,
    Quincy

    Hi,
    i have a similar requirement where i need to copy custom populated fields of vbap table into item->text->item notes tab.
    i tried with both create_text and save_text. but i couldn't see the item in the item->texts->item notes.
    here is my code:
    CONCATENATE vbap-zzrelid vbap-zzsorg2 vbap-zzsorg3
                  vbap-zzsorg4 vbap-zzsorg5 vbap-zzsorg6
                  vbap-zzsorg7 vbap-zzsorg8 vbap-zzsorg9
                  vbap-zzsorg10 INTO gt_textname.
      gt_textobject-tdid  = c_0002.
      gt_textobject-tdname     = gt_textname.
    gt_textobject-tdobject   = c_vbbp.
      gt_textobject-tdspras    = sy-langu.
      APPEND gt_textobject.
      CONCATENATE 'relationship Owner:' vbap-zzrelid INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 2 :' vbap-zzsorg2 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 3 :' vbap-zzsorg3 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 4 :' vbap-zzsorg4 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 5 :' vbap-zzsorg5 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 6 :' vbap-zzsorg6 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 7 :' vbap-zzsorg7 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 8 :' vbap-zzsorg8 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 9 :' vbap-zzsorg9 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 10 :' vbap-zzsorg10 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
    CALL FUNCTION 'SAVE_TEXT'
          EXPORTING
            header          = gt_textobject
            savemode_direct = 'X'
          TABLES
            lines    = gt_text
          EXCEPTIONS
            id       = 1
            language = 2
            name     = 3
            object   = 4
            OTHERS   = 5.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    kindly resolve the problem with the above code.
    Thanks,
    Preethi.

  • User Exit to Modify SD Item Category

    Dear Experts:
    I would like to make use of a SD user exit to modify the default item category determined in a sales document. What is the best user exit to use? Would that be form USEREXIT_MOVE_FIELD_TO_VBAPKOM in include MV45AFZB?
    Thanks,
    Dan

    Hi Brad:
    Thanks for the response. Looking at the comment from SAP, I would even think this is the official one to use.
    Cheers,
    Dan

  • User exit to modify a service order (IW32)

    Hi
    I require a user exit to modify a service order (IW32) that is generated via the repair procedure functionality linked to a Sales order.  
    I need to change at the operation level:
    1-      Add an operation with the service material from the sales order.  Get the purchasing group data from the material master.
    2-      Change the first operation -  replace the default purchasing group
    THanks

    Sid,
    [PM/CS User-Exits etc|http://pjatkin.users.btopenworld.com/documents/PMCSUserExits.pdf]
    Might be possible by using IWO10009 (at save user-exit) with function modules:
    CO_BP_AFVG_BT_FETCH
    CO_BT_AFVG_UPDATE
    PeteA
    [www.pjas.com]

  • User exits that change invoice price?

    Are you aware of any user exits that change invoice price?  Thanks.

    Hi,
    Pl use MV45AFZZ include. It has many user exists.
    FORM userexit_pricing_prepare_tkomk.
    Here you may your code
    ENDFORM.              "USEREXIT_PRICING_PREPARE_TKOMK
    FORM userexit_pricing_prepare_tkomp.
    Here you may your code
    ENDFORM.             "USEREXIT_PRICING_PREPARE_TKOMP
    FORM userexit_save_document.
    Here the code while saving the document
    ENDFORM.                    "USEREXIT_SAVE_DOCUMENT
    FORM userexit_save_document_prepare.
    ENDFORM.                "USEREXIT_SAVE_DOCUMENT_PREPARE
    Check the below enhancesments components also from SMOD.
    V45A0001
    V45A0002
    V45A0003
    V45A0004
    V45E0001
    V45E0002
    V45L0001
    V45P0001
    V45S0001
    V45S0003
    V45S0004
    V45W0001
    V46H0001
    V60F0001
    Cheers
    Hema

  • User-exit wich modify batch number in vl31n

    Hi,
    I have another question.
    What is user-exit wich modify batch number in vl31n transaction ?
    Regards,
    Greg.

    Hi
    Find the available exits with the following program:::
    *& Report  ZFINDUSEREXIT
    report  zfinduserexit.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
    tables : tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode obligatory.
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
    select single * from tadir where pgmid = 'R3TR'
    and object = 'PROG'
    and obj_name = tstc-pgmna.
    move : tadir-devclass to v_devclass.
    if sy-subrc ne 0.
    select single * from trdir where name = tstc-pgmna.
    if trdir-subc eq 'F'.
    select single * from tfdir where pname = tstc-pgmna.
    select single * from enlfdir where funcname =
    tfdir-funcname.
    select single * from tadir where pgmid = 'R3TR'
    and object = 'FUGR'
    and obj_name eq enlfdir-area.
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    select * from tadir into table jtab
    where pgmid = 'R3TR'
    and object = 'SMOD'
    and devclass = v_devclass.
    select single * from tstct where sprsl eq sy-langu and
    tcode eq p_tcode.
    format color col_positive intensified off.
    write:/(19) 'Transaction Code - ',
    20(20) p_tcode,
    45(50) tstct-ttext.
    skip.
    if not jtab[] is initial.
    write:/(95) sy-uline.
    format color col_heading intensified on.
    write:/1 sy-vline,
    2 'Exit Name',
    21 sy-vline ,
    22 'Description',
    95 sy-vline.
    write:/(95) sy-uline.
    loop at jtab.
    select single * from modsapt
    where sprsl = sy-langu and
    name = jtab-obj_name.
    format color col_normal intensified off.
    write:/1 sy-vline,
    2 jtab-obj_name hotspot on,
    21 sy-vline ,
    22 modsapt-modtext,
    95 sy-vline.
    endloop.
    write:/(95) sy-uline.
    describe table jtab.
    skip.
    format color col_total intensified on.
    write:/ 'No of Exits:' , sy-tfill.
    else.
    format color col_negative intensified on.
    write:/(95) 'No User Exit exists'.
    endif.
    else.
    format color col_negative intensified on.
    write:/(95) 'Transaction Code Does Not Exist'.
    endif.
    at line-selection.
    get cursor field field1.
    check field1(4) eq 'JTAB'.
    set parameter id 'MON' field sy-lisel+1(10).
    execute this code.
    <b>type the transaction. u will get the user exits</b>
    If there are no available user exits you could go for badi's.
    To search for a badi, go to se 24 display class cl_exithandler. double click on method get_instance, get a break point on case statement. execute and start the required transaction in new session. look for variable exit_name. It would show the available badi's.
    regards
    ravish
    <b>plz dont forget to reward points if helpful</b>

  • Net price for consignment item category( urgent) in ME21n

    Hi all,
    while creating PO in me21n, net price is being displayed for the standard item category but net price is not comming while maintaining item category as consignment.
      if the item category(ekko-pstyp)is consignment (i.e we have to put 'K' in the item category field in ME21n),then how  can i display the net price in the net price field of ME21n.
       The net price is comming in ME21n when item category = standard.but net price is not comming when item category = consignment.what is the reason?
      plz let me know if there is any enhancement or exit for this net price to be displayed if the item category is consignment.
      plz let me know what r the ways, i can display the net price in ME21n for the consignment item category?it is urgent.
    any idea is highly appreaciated.
    Thanks & Regards
    pabitra

    As given in your other post, please find the info below.
    Hi Pabitra
    I guess the price is taken from the material info record. Here the item category might be a part of the access sequence.
    To get the same info, follow the below steps:
    1. Go to Transaction: MEK3
    2. Give the condition type as PB00
    3. Click on Key Combination from the application toolbar
    4. Select Material Info Record
    5. Next selection screen shows you the list of mandatory fields. If item category also exists here, give '0' & 'K' for Item category and other fields like vendor number, purchase orgranization, material.
    6. Execute.
    7. In the next screen if you can see only one record for item category '0', it means that condition record for item category 'K' is not maintained.
    Hence the price will not be extracted.
    Hope the above info helps you.
    Kind Regards
    Eswar

Maybe you are looking for