Price Change & blocking of sales order

Dear All,
We have created a sales order with pricing date 30.01.2010 and delivery will takes place on 31.01.2010. In between, there is a price change on 31.01.2010. We want that, on delivery creation date system performs the check on customer balance and block the sales order for the creation of delivery. As during the time of sales order the price of an item was 100 EUR (i.e. 30.01.2010) and at the time of delivery creation price becomes 160 EUR (i.e. 31.01.2010)
Is it possible????????????????????

Hi,
You want to block the delivery if there is a difference in u2018sales order priceu2019 and the u2018price on delivery dateu2019.
Instead of blocking the delivery, you can create billing document with the latest price. The sales order was created with 100 EUR on 30.01.2010. You are creating billing on 31.01.2010; we can pick the price 160 EUR applicable on 31.01.2010 by copying control. In VTFL, select your billing document (F2), your delivery document type (LF) and then your item category (TAN). Check the details for the item category. If you change the pricing type to u2018Bu2019 (Carry out new pricing), the system will take the latest price.
Hope this will be useful to you.
Regards,
K Bharathi

Similar Messages

  • Any Change in PR00 should block the sales order

    Dear All,
    i have a requirement that whenever anyone changes the price(PR00) in the sales order, it should be blocked. Basically we want to control any price changes at order level.
    Can someone please suggest any other option how to control the same....
    Thanx in advance...

    Hi
    One of the option is to handle the requirement using user exits. Since the value can be changed manually during create and change of sales order, the logic should be different for the two scenarios.
    During create(VA01), if the value for the field KOMV-KHERK (Condition Origin) is 'C-Manually entered'  then the document should be blocked. You can see this field in the sales order by selecting the condition and click on the blue lens. This option is not useful for VA02 because this field will always have C and every time when the order is saved from VA02, the order will be blocked.
    During sales order change (VA02), the system should check the current value of PR00 and the value exisitng in the table KONV (passing the document condition number) and if there is a difference, then the document should be blocked.
    This is one of the alternative. You can also find a better field that can handle both the scenarios.
    Thanks,
    Ravi

  • How to get Changed fields in Sales order to create a report

    Dear Gurus,
    How to get the log from sales order for the change of particular field.
    In my scenario, If an user remove the delivery block from sales order I want to capture the date on which this delivery block
    is removed and by whom (User)?
    I know that I can get the log of change but can I get in the form of field updates because further I want to use that date and user name to create a report.
    I hope u got my query. Please reply soon that I can create a report.
    Thanks in advance.
    regards,
    Sanjay

    Hi
    You can use the table CDPOS for tracking the changes at the Table level with the Sales order number
    or Else you can also use AUT10 transaction to track the logs/chanages with START DATE, END DATE and the Transaction code in your case it is VA02
    Please check and revert back
    regards,
    santosh

  • Credit Block released Sales order report

    Hi Experts,
    My client is given few sales orders (around 4)no and requesting us, to prepare the credit block released sales orders report (include released person user ID).
    *.No change logs is existing for all sales order and deliveries.
    For above requirement I am using CDHDR table data but I am not getting credit block released sales order report.
    Below fields I am using in CDHDR Table.
    Change doc.Object (objectclas) : VERKBELEG
    Document No (CHANGENR): Sales order no XXXXXXX
    Transaction no (TCODE) : VKM1,VKM2,VKM3
    Date(UDATE) : 25.09.2011 to 09.11.2011
    Experts, Can you please help me out for this.
    Thanking you!!!!
    Regards,
    Vijaykumar Kola
    *.I'm already aware of this is a new development.

    Try this, simple report... Here we check the new value of credit  status field VBUK-CMGST and if it is 'D' we know that someone used VKM* transaction to release the document. Also you need to format the sales order number with leading zeros so it occupies all 10 digits and pass it to CDHDR-OBJECTID field (and not CHANGENR field). In the below code I am using select option for sales order number, so I know it will be formatted with leading zeros and so select on CDHDR will be successful.
    *& Report  ZTV_TEST
    REPORT  ztv_test.
    TABLES: vbak, cdhdr.
    SELECT-OPTIONS: s_saldoc FOR vbak-vbeln OBLIGATORY,
                    s_udate FOR cdhdr-udate.
    RANGES: r_objid FOR cdhdr-objectclas.
    DATA: ls_cdhdr TYPE cdhdr,
          ls_cdpos TYPE cdpos.
    IF NOT s_saldoc IS INITIAL.
      LOOP AT s_saldoc.
        MOVE-CORRESPONDING s_saldoc TO r_objid.
        CONDENSE: r_objid-high, r_objid-low.
        APPEND r_objid.
      ENDLOOP.
    ENDIF.
    CHECK NOT r_objid[] IS INITIAL.
    SELECT *
      INTO ls_cdhdr
      FROM cdhdr
            WHERE objectclas = 'VERKBELEG' AND
                  objectid IN r_objid AND
                  udate IN s_udate AND
                  tcode LIKE 'VKM%'.
      SELECT SINGLE *
        INTO ls_cdpos
        FROM cdpos
          WHERE objectclas = ls_cdhdr-objectclas AND
                objectid = ls_cdhdr-objectid AND
                changenr = ls_cdhdr-changenr AND
                tabname = 'VBUK' AND
                fname = 'CMGST' AND
                value_new = 'D'.
      IF sy-subrc = 0.
        WRITE:/ ls_cdhdr-objectid(10), ls_cdhdr-username,
                ls_cdhdr-udate, ls_cdhdr-utime.
      ENDIF.
    ENDSELECT.

  • Schedule Background Job :  Remove delivery Block in Sales order

    Hi Gurus,
    I have a requirement to select all sales orders as per a condition and remove delivery block at
    VA02-> Go to -> Header -> Status
    For that I have to write a program which will be run only in background and i have to schedule background job for the same.
    I have a parameter at selection - No of records
    If no of records = 500 , I have to submit 500 jobs ie one job each for each sales order for removing delivery block.
    I need to know
    1) Which function module/bapi I can use to remove delivery block at sales order header level.
        For blocked delivery the status is 'BSTK" . to remove block i need to change status to "RSTK".
    2) How to schedule a background job for my program and how to submit one job each for each sales   order.
    Regards
    Avi.

    Hi Avi,
    Would like to seek for your advice. I am facing the same scenario too which is to delete the delivery block but is deletion of the delivery block is done in the user exit MV45AFZZ. The subroutine which needs to have the extra logic of deleting the delivery block is USEREXIT_SAVE_DOCUMENT_PREPARE.
    Need your advice on how do you solve this scenario? Thanks in advance.

  • How to block a sales order when there is a free good item .

    Hello Gurus ,
    How to block a sales order when there is a  free good item  , only the authorised person should have authorisation to release those blocked Sales orders.
    Reason - They want to have a track of free goods given to customer & to avoid the misusing things
    Looking  for your inputs
    Thanks in advance
    Regards
    Venkat

    Hi
    I think you can try with Status Profile in BS02 define and assign for item category TANN.
    In status profile you can block the delivery and also billing unless some changes the object status as released.
    Just try and explore
    regards
    Prashanth

  • Adding Assignment Block to Sales Order Screen

    Hi
    We enhanced the SAP GUI CRMD_ORDER screen to have a new tab and added custom fields to it. This was done using easy enhancement workbench.
    Now we want to do the same thing to the Sales Order Screen in Webclient UI.
    I have  seen a lot of discussions in the forums, but for a beginner like me it is confusing.
    Can someone please guide me on how to do it?
    I have set up webclient UI and everything is working fine but I am not aware on how to create new assignment blockand add fields to it since the building block does not have it listed.
    Any help would be appreciated.
    Regards
    Jimmy

    Hi Stephen
    What we did in EEWB was we created a new tab on Sales Order Item Details called 'Customer Fields' and added some new custom fields there.
    We want to change our Webclient UI Sales Order Item Details screen (BT131I_SLS) to add a new assignment block (Customer Fields) and insert the custom fields in it.
    I am trying to figure out how to do it. I saw the link to the blog that you had sent but before I can add new fields I have to figure out how to add a new assignment block on Sales Order Item details.
    Like when we click on item on sales order screen we get assignment blocks shipping,shipping transactions,Billing.......I want to create a new one called 'Customer Fields' and some custom fields there.
    Your help is appreciated.
    Regards

  • Modify the Net price of an existing Sales Order

    Hi,
    I got a requirement to modify the Net price of an existing Sales Order. I have called BAPI  "BAPI_SALESORDER_CHANGE" for this purpose but its not working. I have passed the New Price in  CONDITIONS_IN table parameter. Can you help me with any BAPI or FM for this purpose.
    Mukesh KUmar
    Moderator message : Duplicate post locked.
    Edited by: Vinod Kumar on Dec 7, 2011 9:40 AM

    Talk to your SD consultants. Net value is determined based on the pricing conditions. Pricing configuration is usually unique to each business, so your SD consultant should know how the pricing condition should (and may) be changed in your specific situation.

  • User Exit in the change mode of Sales Order

    Dear Guru's
    In my requirement I want to stop the user from editing the status of Delivery block and Billing Block into the change view of Sales Order.
    I have 2 users for them whenever they may see the change mode of sales order they should see Delivery and Billing Block in gray
    that they should not be able to remove the block or change the block.
    But I have two other users also who can release and change the Blocks.
    Therefore I think mine is the User Exit case but I dont know which is the User Exit I have to give to the ABAPer
    Please suggest me the User Exit, Thanks in advance for answer and Suggestions.
    regards,
    Vojas

    Dear Vojas,
    As per me User exit will be used, as there are check about the users in your requirement. Please try with in MV45AFZZ, there are seceral user exit, I guess in  USEREXIT_READ_DOCUMENT may be used, ask your abaper to put a check on the current user and if the user which is not in your list of authorized one then change the Blocks in Display mode, or uneditable mode.
    Thanks,
    Raja

  • Average moving price in a past sales order

    Dear gurus,
    How can I check the average selling moving price in a past sales order. For example, I want to see the average selling price in a set of orders which has been created in March or May this year as we are in August.
    How do I do that?
    Thanks
    Chris

    Hi
    In the moving average price procedure (price control u201CVu201D), the system valuates goods receipts with
    the purchase order price and goods issues with the current moving average price.
    The system automatically moving average price calculates( the latter) upon every goods movement by dividing the total value by the total stock quantity.
    This is the concept of MAP (It changes dynamically with each and every MIGO or SD goods issue happens with that material in its master record )
    MAP is a dynamic parameter and it changes with each and every sales order in MMR
    MAP for the past single order can be seen in VPRS condition type provoded if you have choosen the appropriate price control there
    average selling price in a set of orders which has been created in March or May this year as we are in August.
    This statement is meaningless
    Regards
    Raja

  • FM - Period problem while block the Sale Order

    We are trying to block sales order by using transaction code VA02 with below error message.
    1. Posting in fis yr2009 is not possible in FM open doc 1234 in year2008
    2. Document item 1234/00010 has not yet been carried forward to the current year.
    The details of screen shot error is given below for reference.
    Posting in Fis. Year 2009 is not possible; in FM open doc 0000xxxxx in fis. year 2008
    Message no.FMCF102
    Diagnosis
    It is not possible to change document 00000xxxxx is fiscal year 2009 because the document was updated as open commitment in fiscal year 2008 in Funds Management.
    System Response
    The posting is not carried out.
    Procedure
    To change the document
    If the fiscal year 2009 is later than 2008
      Carry document 00000xxxx forward to fiscal year 2009 using program closing operations: Carry forward of Open Items
    If the fiscal year 2009 is earlier than 2008 and document 0000xxxx was carried forward already
      Reset the commitment carryforward using program Closing Opeations: Reset Carryforward of Open items
    Then you can make the change to document 0000xxxxx.
    Can any one guide me how to proceed further - block the sale order.
    Thanks in advance
    Regards,
    SS

    Hi,
    Apparently, you have PBET regime in your FM update profile and, thus, have to use the same year for the following FM documents. You have to carry-forward your sales order (via FMJ2) to 2009 and only then you will be able to process it.
    Regards,
    Eli

  • Blocking a Sales order with Payment Terms

    Hi all
    We have a payment terms : Advanced Payment required .
    I want to block all Sales Order created with this Payment to immediately be blocked and
    will require a CRedit Block release to proceed to creating delivery.
    Please can you advise which options in CRedit Management will be suitable to enable this.
    Thanks in Advance will reward points.
    Regards
    KC

    Hi kasavan
    As you need advance payments , if you do the given configuration  your sales order gets blocked at billing (VF01 )for different dates created in sales order.
    say for example you  have given 3 dates at item level and all 3dates gets blocked at the time of billing.you need to release then create billing for that particular dates.
    make the following  necessary configurations
    item category group - 0005
    item category  - TAO
    for this TAO item category a billing plan 01 (milestone billing plan -01) will be assigned and its billing relevance should be I which is order related billing .
    billing doc type - FAZ
    cancellation billing doc type - FAS
    maintain a condition type AZWR which is down payment settlement , it has requirement as 2 and Alt calc type as 48 acct key as ERL
    Now when you enter a material in line item 10 and go to item data , you can see the billing plan tab.
    now go to billing plan tab and enter the start date and enter the dates on which billing has to be done and then in billing request enter 0009 which is for down payment.once u press enter automatically it all the dates get blocked and billing request by default  you get as 1 , that you change it to 4 or 5 . 4 is for down payment at value basis and  5 is for down payment at percentage basis. and beside that there will be a billing type .assign billing doc type as FAZ. to all dates
    check the copying requirements are there at VTFA as 20 and for item category TAO copying requirements 23 is maintained or not 
    now do the cycle    OR - LF - FAZ (billing doc type)
    Reward if useful
    Regards
    Srinath

  • Create and Change functionality for Sales order

    Hii All,
                Can any one please suggest me any Standard program or BAPI or IDOC for Sales order, it should cover create as well as change fuctionality of Sales order.
    this is very urgent to me.
    Suitable Answer will be Rewarded.
    Thankyou,
    Shobha.

    For change you can use:
    BAPI_SALESORDER_CHANGE         Sales order: Change Sales Order
    For create you have the following choices:
    BAPI_SALESORDER_CREATEFROMDAT1 Sales order: Create Sales Order
    BAPI_SALESORDER_CREATEFROMDAT2 Sales order: Create Sales Order
    BAPI_SALESORDER_CREATEFROMDATA Create Sales Order, No More Maintenance
    BAPI_SALESDOCU_CREATEFROMDATA with business object 'BUS2032'
    The difference between the create ones is the functionality you get e.g. create_from_data2 is the 'most powerful' but you also have to provide the most data. It just depends on what you want it to do.
    In terms of IDOCS:
    message type:
    SALESORDER_CREATEFROMDAT201 or
    SALESORDER_CREATEFROMDAT202 or
    ORDERS05
    Hope that helps,
    Michael
    Here is an example we use, you might want to populate additional fields or leave fields out in case you want different data to be transferred to the IDOC - however some fields are mandatory.
    create the order header structure
      ls_header-doc_type   = ls_screen-order_type.
      ls_header-sales_org  = gc_vkorg_aa01.
      ls_header-distr_chan = gc_distr_aa.
      ls_header-division   = gc_divis_aa.
      ls_header-purch_no   = ls_screen-po_num.
      ls_header-po_method  = ls_screen-po_source.
      ls_header-ship_cond  = ls_screen-ship_cond.
    create partner input table (sold to)
      ls_partner-partn_role = gc_role_sold.
      ls_partner-partn_numb = ls_screen-sold_to.
      APPEND ls_partner TO lt_partner.
    create partner input table (ship to)
      ls_partner-partn_role = gc_role_ship.
      ls_partner-partn_numb = ls_screen-ship_to.
      APPEND ls_partner TO lt_partner.
    items are added by looping at a table
        ls_item-material = <fs_upload>-matnr.
        ls_item-req_qty  = <fs_upload>-quantity.
      process the quantity, it needs to be three decimals, because it
      will be moved into a string in the BAPI and divided by 1000 before
      it is moved back into a number field (1.500 => 001500 => 1.5)
        ls_item-req_qty = ls_item-req_qty * 1000.
      truncate remaining decimal places if exist (1.2525 => 1252.5 => 1252 => 1.252)
        ls_item-req_qty = trunc( ls_item-req_qty ).
        price is taken from the file
          ls_item-cond_type = gc_cond_so_upld_price.
          ls_item-cond_val1 = <fs_upload>-price.
        condition one (price) is multiplied by 10 in the BAPI
          ls_item-cond_val1 = ls_item-cond_val1 / 10.
        no discount
          ls_item-cd_type2   = gc_cond_so_upld_disc.
          ls_item-cd_value2  = 0.
        ls_item-item_categ = ls_screen-item_cat.
          APPEND ls_item TO lt_item.
    then BAPI is called
      CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA'
        EXPORTING
          order_header_in           = ls_header
          business_object           = gc_bus_obj
        IMPORTING
          SALESDOCUMENT             = lv_vbeln
          RETURN                    = ls_return
        tables
          order_items_in            = lt_item
          order_partners            = lt_partner.
      IF ls_return-type NE gc_msgty_error AND
         ls_return-type NE gc_msgty_abend.
      No errors where found
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      ELSE.
      There was an error or abend
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      ENDIF.

  • Blocking of Sale order-reg

    Dear Sir,
    Kindly let me know the provision for blocking  sale order creation if the  customer durg licence got expired .

    Hi,
    Kindly let me know the provision for blocking sale order creation if the customer durg licence got expired .
    You can block the sales order, by blocking the sales document type, but this will effect throughout the sales organisation. Therefore it is wise to block the customer whose drug licence got expired, for that You can block by XD05 / VD05
    Once the customer renews his licence, you can unblock the customer again with the same transaction code in change mode by removing the block.
    Regards,
    Sridhar

  • Change status for sales order in crmd_order

    Hi,
    I am creating a report which has to change for all sales order with status "Open" to status "Processed". Is there any function or bapi to do this ?? Supposing, there is no function, which tables do i have to change ???
    thanks in advance!!!
    Maria

    Mmmm it doesn't work... I have tried this:
        CALL FUNCTION 'CRM_STATUS_CHANGE_EXTERN_OW'
          EXPORTING
      CHECK_ONLY                = ' '
            OBJNR                     = i_crmd_orderadm_h-guid
            USER_STATUS               = 'I1003'
      SET_INACT                 = ' '
      IV_REF_KIND               =
      IV_OBJECT_TYPE            =
      IV_NO_1O_MAINTAIN         =
    IMPORTING
      STONR                     =
    EXCEPTIONS
       OBJECT_NOT_FOUND          = 1
       STATUS_INCONSISTENT       = 2
       STATUS_NOT_ALLOWED        = 3
       OTHERS                    = 4.
    If sy-subrc = 0.
    endif.
    But noting has change in tag Status in tx. CRMD_ORDER.. still have in "system status": In process and in "User status": Order Rep Processed.
    Thanks in advance !!!

Maybe you are looking for

  • 10.4  Update files not recognised

    Using 10.4 on a second hand Powermac g4 from ebay, so no installation discs. Successfully downloaded standalone updates 10.4.1....10.4.9 etc but first one (MacOSXUpdate10.4.1.dmg) not recognised so won't install. others recognised but won't work unti

  • A corrupted CoreStorage volume... what to do next?

    Hi all, I got my new computer (MacBook Pro 13-inch Early-2011 purchased from the Apple Online Store) with Lion installed. One of the best features in Lion is the revamped FileVault which uses CoreStorage to encrypt the whole disk. Everything was fine

  • Parse a CSV file every 1hour

    hi all, i am working on this app, in which i need a parse a CSV file every 1hr. now the CSV file is average size. i need to parse the file (i will use simple stringtokenizer), organise the data in the file (using simple string manipulation) and expor

  • DB13 CheckDB Error

    Hi Experts, While running Checkdb through DB13 , I am getting below error :- BR0301E SQL error -1031 at location BrDbcheckoraRead-1, SQL statement: 'OPEN curs_91 CURSOR FOR' 'SELECT NVL(UPPER(TYPE), ' '), NVL(UPPER(PARAM), ' '), NVL(PARAM, ' '), NVL(

  • Errors decoding Menus

    I made a movie in IMOVIE that is about 90min long. It has about 6 chapters and I exported it to media browser and then uploaded it into IDVD and attempted to burn it to a DVD. After about 10 min. I get an error message stating that the burning was st