Update automatically prices in CRM sales order

Hi everybody,
i would like to simulate the recalculation of price conditions in a sales order (button "update" in condition ta of a sales order) using module functions for example (or simply a batch input but i try and unlucky it doesn't work for the action on the button "Update").
The goal is to be able to update in mass the price in CRM sales order when a price has been changed in product master data in R/3 system.
I look for but i don't find a solution so if someone has an idea he is welcome.
Thank you,
regards
Fabrice.

Hi Fabrice,
Not able to understand your question. Did you mean that the Prices are going to be updated in R/3 system and simultaneously the order value should also change in all crm orders with respect to any date ????
If it so, i dont understand what kind of business scenerio is this ?
Please elaborate so that, we have more clarity on your question.
Regards
Arun Kumar

Similar Messages

  • Disable / Deactivate Update Price button in Sales order creation

    Hi Gurus,
    My requirement is to disable the 'Price Update' button in the item --> conditions screen while creating or changing the sale sorder. A set of users should not be able to update the prices using 'Update Pricing' button. Is there any way to disable/deactivate  this button in VA01 / VA02?
    Regards,
    Sam

    Hi Sam,
    I think you can control through Authorization for the set of users to update the price in the sales Order.  I think it will solve your requirement.
    Regards,
    SK

  • BDOC's to update the custom fields in R/3 from the CRM sales order

    Dear All,
    I need a small help.
    My requirement is as follows.
    When ever a sales order is created in CRM, an outbound delivery will be automatically created in the R/3 system.
    There are some fields in the CRM sales order which are not there in the R/3 system.So I have to create these fields in the LIKP and LIPS tables in R/3 which is not a problem.
    But I have to copy these fields from CRM to the LIKP and LIPS tables in R/3 when ever a sales order is created and saved in CRM. (This should happen automatically)
    So could anyone tell me whether there are any BDOC’s available to update the sales order info in the LIKP and LIPS tables and also any BADI which can be trigger for this purpose.
    Thanks in advance.
    Regards
    Shafath

    Hi,
    Thanks a lot. You have given a good solution.
    But a small correction.
    Sales Order is not transferred from CRM to R/3. The system is creating (automatically) a delivery in the r/3 system for the sales order created in CRM (Here we will not have the sales order in R/3), so we don’t have an entry in VBAK and VBAP tables.
    When we create a sales order in CRM and save , the delivery in R/3 is created and the sales order is not transferred to R/3.
    So while saving the sales order itself in CRM, I need to trigger a badi to update the LIKP and LIPS tables by calling a RFC (which needs to be developed in R/3).
    So I need a badi which triggers when the sales order is saved and which tells whether the sales order is saved without errors or not (because delivery in R/3 is created for only those orders which are created and saved without errors in CRM)  and returns the sales order number.
    It will be helpful if you can send some info on this.
    Any how thanks a lot for your quick response.
    Regards
    Shafath

  • Can we edit Gross Price field in Sales Order

    Hi experts,
    According Help document (help - under Sales A/R/Sales Order-Sales document content tab ) as follows, userwe should be able to edit gross price field in Sales order
    Enter in this field the unit price including tax. SAP Business One calculates automatically the unit price before tax and the tax amount, based on the tax code in the row. After pressing the TAB key, the Unit Price field and the Tax/Unit field are updated accordingly.
    The tax amount is calculated as follows:
    *Gross Price / (1 + Tax %) * Tax % = Tax Amount*
    But when I set up in form setting visible and active for Gross Price,  though I AM NOT ABLE TO EDIT GROSS PRICE FIELD
    Is it bug in SAP ? I
    BR
    Samir Gandhi

    Hi Samir Gandhi,
    You may check SAP Note Number: 1060666 to see if it applies to you.
    Thanks,
    Gordon

  • Customer Credit Limit on CRM Sales Order

    Dear All,
    Can the customer credit limit be displayed on CRM Sales order(Customer from ECC, we use simple credit check on SAP ECC)
    Regards,
    Ahmed

    Hi,
    The standard credit check in SAP CRM calls up the automatic credit check in SAP R/3. You must define an RFC destination, and specify this destination for the credit check.
    ·        To define RFC destinations in CRM Customizing, choose Customer Relationship Management ® CRM Middleware and Related Components ® Communication Setup ® Define RFC Destinations.
    ·        To specify destinations for the credit check, choose Customer Relationship Management ® CRM Middleware and Related Components ® Communication Setup ® Middleware Parameters ® Define Middleware Parameters. Then choose the activity Credit Check and enter an RFC destination for the parameter CRMCREDCHE.
    You can also carry out an initial data transfer for credit data.For transactions that are still open for which you are reactivating update of credit data, you can initially transfer the credit data for a reorganization of data in SAP R/3. To do this, start the initial data transfer for object CMDOC_NOTIFY using transaction R3AS.
    When setting up credit limit check, refer to SAP Note 568157, 570155 and 619500.
    With Regards
    Selvam T

  • CRM Sales Order Replication CRM to R3 (complaint) Pb

    Hi Guys,
    My problem is that when i create an CRM Complaint in CRM 4, and i change the plant on my delivery item, when the order is replicated in R3, the Shipping point doesn't get updated to use the new shipping point used for the new plant...
    I tried to debug but cannot hit User Exit in R3, then i read in there that the R3 user Exits such as: MV45AFZZ is not called at all...
    Can anyone could tell me how to find out how to get to the shipping point determination when the order is created from CRM...
    I succeeded to be in R3 in my debug session by:
    Stopping the BDOC with the following:
    Set a breakpoint in the FM on the save of the document in CRM:
    CRM_UPLOAD_BTMBDOC_START_FLOW then set ls_header-dbg_mode to X.
    Then i reprocessed the BDOC with /h and then set breakpoint in FM:
    SMOF_READ_SMOFERPSH to set my RFC-Dest to be valid for my debug session.
    Then put a breakpoint CRM_R3_SALESDOCUMENT_UPLOAD and set gv_synchronous_call to X ... Now after F5 i am in R/3...
    I tried to find out where my shipping point is set or determined but impossible (VBAK - VSTEL)?
    Please help...
    Thanks
    Aurelien

    Hi Aurelien,
    I believe there is no problem in replication of CRM Sales Order to ECC. Shipping point determination settings are properly maintained in ECC.
    In SD Sales Order (VA01 / 2)  Shipping points get determined by 3 factors for each line item.
    1. The shipping conditions from the customer master record (Shipping screen)
    2.The loading group from the material master record (Sales/Plant Data screen)
    3.The delivering plant
    Now in your case you are creating order in CRM. So download the plants from ECC to CRM with Transaction code R3AS (Initial D/L) DNL_PLANT. This plant you can assign in a Sales Order as a Business Partner for each line item.
    Plant is called as Vendor partner function in CRM.
    When CRM sales order with plant will replicate to ECC then automatically the shipping point will be determined.
    Regards,
    Rajendra Sonawane

  • How to add a table layout in CRM Sales order?

    dear all ,
    anyone know how to add a table layout in CRM sales order customer tab that using the EEWB added?
    can EEWB do this?   i didn't find the appropriate business object......

    Hi , Swapna
    is you mail address right? can not send out.
    first , you should have added one field using EEWB ,  then to EEWB , find the extension , double click on the task, there  you will find a  "object list"  on the right, the list will give you many many very important  information , you should look through .
    then double click on the "screen:  ..........EEW......." ,  layout , there you will find the field you have added in .  and you can draw anything you want there , then back to the screen flow , write you flow logic in PBO and PAI .
    about the global  data definition,  again to the "object list", you will find a "Report source code:  ......................TOP". in there ,you can define all you data .
    another thing  if you want to save your input field to database tables that you draw (not by EEWB added)
    two ways:
    1. write update table directly  in  PAI module .
    2.  you can use this BADI :  ORDER_SAVE , this is when you save the order to trigger the save action.

  • PO Creation after CRM Sales Order Creation

    I am creating a CRM Sales Order and the moment I save the CRM Sales Order,
    it creates a PO in ECC. I need to find out how PO is getting triggered?
    When I open the CRM Sales Order it shows a PO already created for this Sales Order.
    Has anyone face this or same kind of scenerio ever? If yes please let me know how can fnd the triggering point of PO creation.
    Thanks in advance!!
    Sachin

    Hi Mathivana,
    I had faced these issue several time. As per SAP standard logic whenever you saved order in CRM it replicate immediatly in ERP till that time the order will be locked for any further change in CRM to save transaction data intigrity. The lock gets removed once the CSA queue(notification) from ERP update in CRM than unlocked.
    You check the in SMW01 transaction and perform search with order number you will find Bdocs are in Intermediate stage(I can't tell reason as it can be so many reason why Bdocs get stuck) -Select and activate the Bdocs once again if you are lucky and it activated your order till be unlocked.
    Or else user report most common for this issue "CRM_CHECK_DISTRIBUTION_STATUS" pass order number number and document type to unlock distribution than you will be able to change order.
    100 % sure shot answer. Appriciate if points alloted
    Thanks,
    prem

  • Final price of the Sales Order calculation on payment term

    Hi,
    Out Business requirement  as follows.
    1) one ZNAP pricing condition will be maintained by the monthly wise by business for pricing. this is a  statistical condition only checking at sales order level only. this condition will check with Final price of the Sales order.
    Now the requirement is
    1) based on payment term of the Sales Order. plus if its a credit payment if the its CASH payment. these deduction should be added to ZNAP condition, and same will calculate with Final price, while creating Sales order.
    For Example:
    ZANP condition maintained  1000 USD.
    while creating the SO:
    If the payment term of the customer: PT30, ( it means payment with be in 30 days of the bill creation date)
    system should do the below calculations
    1) Scenario
    Sales Order: Final price :                                       1500  USD( maintained by the Sales User while creating the SO)
    ZNAP price                      :                                    1000  USD
    according payment term 30 days                            20 USD ( as per table maintenance for calculation of the payment term.)
    Calcuation:                                                          1000+20= 1020 (approximate need to add as interest rate)
    Then final it should display final price 1500-1020= 480 USD.
    2) Scenario:
    If the payment term Cash:
    ZNAP                                                            : 1000 - 20= 980 ( approximately and deduct, from the condition due to cash payment its like discount)
    calucalte"                                                       1500-980= 520 difference
    this purely internal pricing calculation with final price...
    pl let me know how to get this in the pricing. and payment could be 30 days, 45 days 60 days etc.
    Thanks.

    Hi M Sham,
    I believe your requirement can not be met with Standard pricing and you will have to create Routines for getting this result.
    From scenario I believe you will be doing below points:
    You should Create Z-Table with Payment Term and respective rates against those payment Term.
    You should create a statistical condition type(Ex. ZNP1) and create Calculation Type routine with Logic to get KOMK-ZTERM field and derive value from Z-Table and update XKWERT field.
    Calculate addition of ZNAP and ZNP1 (With +ve or -ve Signs)
    And then again make deduction of derived value from Finale Value.
    Do let me know if I have misunderstood your question.
    Regards,
    MJ.

  • Price in the Sales Order

    Dear SD,
    Normallly we enterd the Price in the Sales Order for a Finished Goods.  Is there any other way, that Sales Order Directly Picks the Cost from Pricing Procedure.
    REgards

    Hi,
    I understood that you need the following clarifications.
    1.     VPRS:  This is cost price. For example, you are doing trading business and you buy an item for Rs. 125. This is cost price. This price is maintained in material master in Accounting view in the field Standard Price.
    2.     PR00: This is selling price. This includes the profit. In this example, say it is 200. This is maintained in Condition records. The transaction code is VK11.
    3.     Pricing Procedure: Both of the condition types (VPRS, PR00) are maintained in the pricing procedure. Please check the standard pricing procedure RVAA01.
    If the condition type is not maintained in your pricing procedure, you can add the condition type VPRS in your pricing procedure and assign the requirement as 4 (Cost). Enter tick mark in u2018Statisticsu2019. 
    If you create a sales order, you will get the value of PR00 (selling price) and the Cost price (VPRS) in the sales order. Sales order is a document that can be sent to the customer to confirm the sales. So, here you do not want to show the cost price of the item. That is why the condition is not selected for print. If you are dealing with your associate companies and you want to print the cost price in the sales order, you can print the cost price VPRS in the sales order. To do this, select u2018Xu2019 in print column of the pricing procedure for Condition type VPRS. Hereafter you can print the cost price of the item in the sales order. But it should be printed appropriately with the help of an ABAPer.
    4.     VPRS u2013 Statistical: VPRS is always maintained as statistical. This is not used for updating financial entries while creating billing; but it is used to find the profit margin. Whenever the cost price of the material changes, we have to update the cost price (VPRS) by transaction code MR21.
    5.     Stock value: While calculating warehouse stock by transaction code MB52, the system takes the value given in the material master in accounting view. The value shown in VPRS and Value taken for stock valuation are one and same. Stocks are evaluated on cost price; not on selling price.
    Hope this information will be useful to you.
    Regards,
    K Bharathi

  • Cannot set item's price in new sales order using E-Commerce for ByDesign.

    Hello,
    I'm working on a program to create zero value sales orders in my companies SAP system to help track warranties.  Every portion of this program is straight forward except for setting an item's list price to zero.  I'm using C# .NET.  Below is my code to create the SalesOrderMaintainRequestItem. Any advice would be greatly appreciated.
    private SalesOrderMaintainRequestItem[] GetItems(Warranty warranty) // Custom Warranty Object
        int count = warranty.LineItems.Count; // Warranty object has an array of line items
        SalesOrderMaintainRequestItem[] item = new SalesOrderMaintainRequestItem[count];
        for (int i = 0; i < count; i++) // for each line item in the warranty object
            item[i] = new SalesOrderMaintainRequestItem();
            item[i].BuyerID = _ID;
            item[i].ItemProduct = new SalesOrderMaintainRequestItemProduct();
            item[i].ItemProduct.ProductID = new NOCONVERSION_ProductID();
            item[i].ItemProduct.ProductID.Value = warranty.LineItems[i].ReplaceWith;               
            item[i].PriceAndTaxCalculationItem = new SalesOrderMaintainRequestPriceAndTaxCalculationItem();
            item[i].PriceAndTaxCalculationItem.ItemMainDiscount = new SalesOrderMaintainRequestPriceAndTaxCalculationItemItemMainDiscount();
            item[i].PriceAndTaxCalculationItem.ItemMainDiscount.Rate = new Rate();
            item[i].PriceAndTaxCalculationItem.ItemMainPrice = new SalesOrderMaintainRequestPriceAndTaxCalculationItemItemMainPrice();
            item[i].PriceAndTaxCalculationItem.ItemMainPrice.Rate = new Rate();
            item[i].PriceAndTaxCalculationItem.ItemMainPrice.actionCode = ActionCode.Item01; // tried all the options for this one
            item[i].PriceAndTaxCalculationItem.ItemMainPrice.Rate.DecimalValue = 1.0M; // trying to set it as $1  just for testing, will be 0 when live
               // past tests that didn't work
            //item[i].PriceAndTaxCalculationItem.ItemPriceComponent = new SalesOrderMaintainRequestPriceAndTaxCalculationItemItemPriceComponent[1];
            //item[i].PriceAndTaxCalculationItem.ItemPriceComponent[0] = new SalesOrderMaintainRequestPriceAndTaxCalculationItemItemPriceComponent();
            //item[i].PriceAndTaxCalculationItem.ItemPriceComponent[0].Rate = new Rate();
            //item[i].PriceAndTaxCalculationItem.ItemPriceComponent[0].Rate.BaseDecimalValue = 1.0M;
            //item[i].PriceAndTaxCalculationItem.ItemPriceComponent[0].Rate.DecimalValue = 1.0M;
            //item[i].PriceAndTaxCalculationItem.ItemPriceComponent[0].Rate.CurrencyCode = "USD";
            //item[i].PriceAndTaxCalculationItem.itemPriceComponentListCompleteTransmissionIndicator = true;
            item[i].ItemScheduleLine = new SalesOrderMaintainRequestItemScheduleLine[1];
            item[i].ItemScheduleLine[0] = new SalesOrderMaintainRequestItemScheduleLine();
            item[i].ItemScheduleLine[0].Quantity = new Quantity();
            item[i].ItemScheduleLine[0].Quantity.Value = warranty.LineItems[i].ReplaceQty;
        return item;

    Hi Joshua,
    it's a long time ago and I hope you were able to solve your issue. For others who want to change prices in sales orders the following might be helpful:
    It is not possible to set the price of a sales order in the create webservice call. You need to create the sales order first and then call the webservice a second time with actionCode="02" (Update).
    The following is an extract from the sales order webservice documentation:
    Node – PriceAndTaxCalculation
    A price and tax calculation is the summary of the determined price and tax components for a business case. A specification of the general procedure for price and tax determination and valuation using attributes those are characteristic or relevant for the whole object.
    Note: PriceAndTaxCalculation cannot be created but can only be modified. So this means that if the customer wishes to change the Discount or Freight charge, then the customer has to create the order first and then make a second web-service request to the update this sales order with the pricing information that is to be changed.
    For the update you only need to send the ID of the sales order, the IDs of the items and the PriceAndTaxCalculation node.
    The following would be an easy XML example for the update call:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
       <soapenv:Header/>
       <soapenv:Body>
          <glob:SalesOrderBundleMaintainRequest_sync>
             <SalesOrder>
              <ID>1234</ID>
                <Item actionCode="02">
                   <ID>10</ID>
                   <PriceAndTaxCalculationItem actionCode="02">
                      <ItemMainPrice>
                         <Rate>
                            <DecimalValue>5.00</DecimalValue>
                            <CurrencyCode>USD</CurrencyCode>
                         </Rate>
                      </ItemMainPrice>
                   </PriceAndTaxCalculationItem>
                </Item>
             </SalesOrder>
          </glob:SalesOrderBundleMaintainRequest_sync>
       </soapenv:Body>
    </soapenv:Envelope>
    If you need further help with webservices or C#, let me know.
    Best regards,
    Felix

  • Replicate custom fields from CRM sales order to R/3 sales order

    Hi Michael,
    I have a requirement to replicate custom setype data created for CRM sales order to R/3 sales order.These fields have been created at item level.
    Do you know the set of steps to achieve the same.
    Any help would be appreciated.
    Thanks,
    Chamu

    Hi,
    the CRM sales order cannot be extended using set types. Set types are a functionality that is limited to products.
    You can however enhance the orders by using the easy enhancement workbench (ransaction EEWB). It will allow you to add specific fields to all levels of the sales document and will take care of ALL the objects that are necessary to update and maintain he fields (functions, screens, bdocs, bapi's,...)
    Depending on you system, it will also generate the update modules for R/3 (don't bet on it). Otherwise you'll have to program the extraction and mapping of the new fields in R/3.
    Michael.

  • Bottom/base price check in Sales order processing

    Hi
    In my company we are using process Sales Order > DO > Billing. Same pricing procedure for sales document types and billing types. No pricing procedure for DO. Our management wants to implement bottom price check in sales order processing e.g there must be one sale price on which sale invoice will be booked and there must also be one static price maintained and system will check after all taxes and discounts calculation that net value should not be less then bottom price.
    Currently we are using user exit in enhancement MV45AFZZ. Our ABAPER has written logic in this of following scenario. We have maintained commercial price in ZCOM condition type and bottom price in ZBAS condition type. Lets take and example
    ZCOM = Sale price= 500
    ZDIS = Discount = 100
    Net value/Amount for credit check 500-100 = 400
    ZBAS Bottom price = 450
    In above scenario system should not allow to save sale order/billing document and give error "Sale price is below bottom price" Then user will change the discount from 100 to 50 and Net value will be then 450 and system will allow to save sale order/billing document.
    I want to to do this in Pricing procedure pricing routines. Please tell me is it possible with calculation types? Im wondering if we can do this in enhancement then we must write the same logic in VOFM pricing routine and we can control this from there too. In our current ABAP check everything is working fine but I just want to minimize the use of ABAP checks and enhancements and control the things from functional side not from ABAP.
    Please let me know if someone need more clarification or someone have any productive suggestions in this regard. If there is any other solution it will be highly appreciated.
    Thanks in advance.

    Similar functionality is already there, where if the net price of an item differs from "Customer expected price" (conditions EDI1/EDI2) then SAP automatically pushes the order into incompletion. You can ask the developer to see how EDI1 is used in the pricing logic.
    However, the condition EDI1 is used to check if the item value is different to Customer expected price in case of EDI orders and is not standard for your requirement. But you get my drift, that you can have your own condition in the pricing procedure that will fetch the base price value and can be used in the logic to show an error message (to stop order processing) or push into incompletion log similar to condition EDI1

  • How to pass R/3 Sales org unit to CRM Sales order ?

    Hi,
    We are creating CRM sales order using FM ' <b>CRMXIF_ORDER_SAVE'</b>.
       We want to pass Sales Org. unit as '1101' ,but not getting updated in CRMD_ORDER tcode after SO gets created suxusfully.But Distribution Channel and Division are getting updated.
       But we are able to get the same if we give Sales Org. unit value as 'O 50000026',
    and not by giving '1101'.
       Also we need this R/3 Sales Org. unit value dynamically using SELECT statement also.
       Pls let me know if anybody is aware of a solution for this..

    Hi Nagesh,
    Thanks for your reply.
    If we pass R/3
    wa_orgman-sales_org     =  '1101'
    wa_orgman-sales_office = '1101',
    wa_orgman-sales_group = '105' ,
    wa_orgman-dis_channel   = '01'.
    wa_orgman-division      = '11'.
    in the function module ,   sales order is getting created with errors saying Organizational Unit does not exist.
    But If we give  ,
      wa_orgman-sales_org     =  'O 50000026'.
      wa_orgman-sales_office  =  'O 50000075'.
      wa_orgman-sales_group  =  'O 50000080'.
      wa_orgman-dis_channel   = '01'.
      wa_orgman-division      = '11'.
    we could able to create order without errors.
    For R/3 sales org ,the corresponding CRM sales unit is 'O 50000026'.
    We want to pass R/3 sales org values instead of CRM sales values.
    And this R/3 sales org values have to be selected dynamically from a table.
    Pls help  us to solve this issue.
    Regards,
    Siva

  • CRM Sales Order Item Status Does Not match R/3 Item Status

    The status of the CRM sales order item is being set to 'In Process' when the related R/3 sales order line item status is set to 'Complete' - when, the delivery quantity is zero for the sales order item.  This happens when the warehouse can't find the stock to pick - the delivery quantity is set to zero.  Thus, the CRM order item status does not agree with the R/3 order item status.  We need for the line item status to be set to 'Complete' in CRM.  Anyone have an idea as to how to make this happen?
    Thanks you.

    Hi Peter and Suresh,
      From the information provided I understand that the sales order created in CRM after replication to R/3 has some status change.
    1.  What are the fields which are updated in R/3 for the sales order created in CRM ?
    2. If sales order fields are updated in R/3 are these updates reflected back to CRM?
    3. If they are reflected back in CRM? Is there still flexibility for sales order to be changed in CRM and replicated back to R/3?
    Can you please share you experiences.. Any help is highly appreciated.
    Thanks
    Jothi

Maybe you are looking for