Duplicate header pricing in sales order change mode

Hi,
I have made a sales order with a price in header condition
When saving the order, the order goes into credit control which I release via VKM3 and create an invoice.
When I go back to sales order in change mode (VA02), I see the header condition twice, the second one being without a price.
In display mode, I can see the header price correctly. Also, the invoice shows the price only once.
Please advice.

Dear Kota,
If i maintained as "B" than system will not allow to change in Sales order.
See my req. is System should allow the user to change price  in Sales Order and it should not allow the user to change in Billing doc.
Regards,
Satya

Similar Messages

  • Delivery plant is not showing in sales order change mode

    HI FRIENDS
    I was created sales order, in the first  screen i choose the delivery plant , the delivery plant is copied to all items but when we go to sales order change mode we are unable to see the delivery plant in the first screen .

    Hi
    In VA02 if you are unable to see the delivering plant in the first screen then go  to Environment ->changes in VA02.
    Secondly , Also check in transaction variant , SHD0 for t.code VA02 wheather the VBAP-WERKS are in display or disable mode. If it is in disable mode then change it to display mode and then create the sales order again and then check wheather you are able to see the delivering plant or not
    Regards
    Srinath

  • In Billing Base Price should be in grey mode and in Sales order Change mode

    Hi
    I have one requirenment the Base price (ZPR0) should pick automatically from condition records and system should allow to change ZPR0 in Sales Order item level , where as it should be Grey mode in billing document item level.
    1. In the condition type ZPR0 i had maintainted as NO LIMITATION and in copy controls of VTFL the pricing type as" D"
    so system is allowing to change the base price at both Sales order & billing doc level.
    my requirement is System should allow to change the price manually in Sales order and at billing document it should be in grey mode, so that no user cannot change the price at billing level.
    Regards,
    Satya

    Dear Kota,
    If i maintained as "B" than system will not allow to change in Sales order.
    See my req. is System should allow the user to change price  in Sales Order and it should not allow the user to change in Billing doc.
    Regards,
    Satya

  • Quantity confirmed in sales order change mode not in display mode !!!

    Dear All !!
    We have a problem in sales order .
    In sales order the line item 580 quantity confirmed 15 pc in change mode VA02 if I open the sales order in display mode VA03 the quantity confirmed “0”
    More details refer the attachment .
    Kindly advise why the system behaving like this and suggest how to control.
    Thanks in advance.
    Best Regards,
    Rampe

    Dear All !!
    The issue has been sort it out .
    Reason for cause : The Problem happened due to wrong material master data defined in material master.
    The material has been changed and marked "as configurable material" in material view "Basic Data 2".Even though the material is not configurable. So we have  forced correct value in material master and open the  sales order with VA02 and then saved in order to redetermine correct master data. Then the problem got resolved.
    Thanks for your Help.
    Best Regards
    Rampe

  • User exit for contract start date in sales order change mode.

    24.10.2008
    Hi Gurus,
    I need to disable the 'contract start date' (VEDA-VBEGDAT) field  in Contract data tab at header and item level. Can someone suggest a user exit for the same ???
    Regards,
    Udaynath

    Dear Udyanath,
    Please check these User exits with the help of ABAPer
    User exits in the program MV45AFZZ                                                                               
    The user exits which you can use for modifications in sales document         
    processing are listed below.                                                                               
    USEREXIT_FIELD_MODIFICATION                                              
         This user exit can be used to modify the attributes of the screen        
         fields.                                                                  
         To do this, the screen fields are allocated to so-called                 
         modification groups 1 - 4 and can be edited together during a            
         modification in ABAP. If a field has no field name, it cannot be         
         allocated to a group.                                                    
         The usage of the field groups (modification group 1-4) is as             
         follows:                                                                               
    -   Modification group 1:   Automatic modification with transaction      
             MFAW                                                                               
    -   Modification group 2:   It contains 'LOO' for step loop fields                                                                               
    -   Modification group 3:   For modifications which depend on check  tables or on other fixed information.
    USEREXIT_MOVE_FIELD_TO_VBAK                                                 
    Use this user exit to assign values to new fields at sales document         
    header level. It is described in the section "Transfer of the               
    customer master fields into the sales document".                            
    The user exit is called up at the end of the FORM routine                   
    VBAK_FUELLEN.                                                                               
    USEREXIT_MOVE_FIELD_TO_VBAP                                                 
    Use this user exit to assign values to new fields at sales document         
    item level. It is described in the section "Copy customer master            
    fields into the sales document".                                            
    The user exit is called up at the end of the FORM routine                   
    VBAP_FUELLEN.                                                                               
    USEREXIT_MOVE_FIELD_TO_VBEP                                                 
    Use this user exit to assign values to new fields at the level of           
    the sales document schedule lines.                                          
    The user exit is called up at the end of the FORM routine                   
    VBEP_FUELLEN.                                                                               
    USEREXIT_MOVE_FIELD_TO_VBKD                                                 
    Use this user exit to assign values to new fields for business data of the sales document. It is described in the section "Copy customer 
    master fields into sales document".                                  
    The user exit is called up at the end of the FORM routine            
    VBKD_FUELLEN.                                                        
    I hope this will help you,
    Regards,
    Murali.

  • How to change condition type data on header of a sales order

    Hi Guys,
        I have a requirement, where i want to change the value of particular condition type at header lever of sales order.
    How to do it.If i am not wrong , this can be achived by CRM ORDER MAINATAIN .But how to do it i dont know.
    So please help me for this requirement
    Regards
    PG

    Hi PG,
    Can you please let me know if you were able to do this. I have a similar requirement where in I need to change the value of a condition type.
    I am new to CRM , so it will be great if you can please explain me the steps.
    Thanks in advance.
    Regards,
    Vivek

  • Authorization at Sales Order Change (Item level)

    Hello Experts,
    Is there any standard authorization object at sales order for adding new items? As I want to restrict some users to add new item lines at sales order change ( VA02 )
    Regards,
    Amr

    Hello,
    How can I use this object V_VBAK_AAT to disallow users to add
    some item lines from VA02 but users can change any other functions
    at the sales order (e.g. update pricing conditions)?
    As I see on this object V_VBAK_AAT, If I revoked ACTVT = 02 'Change',
    It will revoke all change functions from users.
    I think the best solution for your requirment would be to seek the help of Basis folk to create a new User ID which would be having access to Change mode of Sales Order (VA02). Then you can restrict addition of Material line item with the help of Technical consultant by putting up code in following User exit.The logic in the code will be addition of Material line item will be restricted if the User Name is the newly created one...
    1:- MV45AFZB -- USEREXIT_CHECK_VBAP
    2:- MV45AFZZ -- USEREXIT_MOVE_FIELD_TO_VBAP
    3:- MV45AFZZ -- USEREXIT_SAVE_DOCUMENT_PREPARE
    Regards,
    Sarthak
    PS : On information note, you can refer the t-code SU24 to see the standard authorization object for change mode of Sales Order.

  • BDC Program to Set Reason for Rejection in VA02 in Sales Order Change

    Hi i have a requirement i have to set "reason for rejection" in random line items of Change mode of sales order VA02.
    I have to develope BDC for this task and i have the list of all open line items which displays in VA05, can any of them can guide me how to develop BDC which will randomly select line items and set reason for rejection in VA02 Sales Order Change transaction.
    With Regards,
    S.Saravanan

    Hi Saravanan,
    As mentioned in the previous reply, you can use the FM:SD_SALESDOCUMENT_CHANGE and set the reason code for the line item like for eg:  move '03' to IT_INPUT-REASON_REJ. and also set 'U' for update flag in the header structure,
    move 'U' to HEAD_INPUT_INX-UPDATEFLAG
    this will be best and easy method.
    for this, FM,you need to pass the below parameters:
    CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
    EXPORTING    
       salesdocument                   = old_order
           order_header_in             = head_input
            order_header_inx           = head_input_inx
          TABLES
            return                      = return
           item_in                     = it_input
           item_inx                    = ii_input_inx
           schedule_in                 = schedule_input
           schedule_inx                = schedule_inputx
    declare all these structure and internal tables as per documentation of the FM.
    hope this helps.let me know if you need more information.
    Thanks,
    Srini.

  • Sales Order Change VA02

    In Sales Order Change VA02
    Header > Texts
    User is not able to enter or edit text
    Because it is showing as greyed out
    Please Advise

    Hi,
    Check in SE75, Select Text Objects and Id's, choose yout text object (Standard is VBBK for Sales), select your Text Id and see whether the field "Display is Title' is checked. IN case it is checked, then uncheck it and save.
    Now check in VA02, it should be in editable mode.
    Regards
    Vamsi

  • Sales order changes history table

    hi.........
    i wann field for user name from sales order change history table. i hv tried CDHDR and CDPOS, but i cound't get the exact link in those tables.
    will u tel me any other table, so that i can get this field by passing sales order ?

    Hi subharao,
    Go though this program.
    REPORT zmm_rep_poh NO STANDARD PAGE HEADING LINE-SIZE 250 LINE-COUNT 65.
    TABLES: cdhdr,cdpos,ekko,ekpo.
    TYPE-POOLS : slis.
    DATA       : t_fieldalv     TYPE slis_t_fieldcat_alv.
    DATA       : import_variant LIKE disvariant.
    DATA       : xrepid         LIKE sy-repid.
    DATA       : layout         TYPE slis_layout_alv.
    DATA: BEGIN OF itab OCCURS 0,
            fname(40) ,
            objectid(10),
            changenr(10) ,
            value_new(10),
            value_old(10),
            unit_old(10),
            unit_new(10),
            cuky_old(10),
            cuky_new(10),
            key(5),
            username(10),
            udate LIKE cdhdr-udate,
            utime LIKE cdhdr-utime,
          END OF itab.
    DATA iebeln(15).
    DATA: BEGIN OF itab1 OCCURS 0,
            username(10),
            udate LIKE cdhdr-udate,
            changenr(10),
            utime LIKE cdhdr-utime,
          END OF itab1.
    DATA: BEGIN OF itab3 OCCURS 0.
            INCLUDE STRUCTURE itab.
    DATA: END OF itab3.
    DATA iekko LIKE ekko OCCURS 0 WITH HEADER LINE.
    *Select Option
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_ebeln FOR ekpo-ebeln OBLIGATORY,
                     s_ekorg FOR ekko-ekorg NO INTERVALS DEFAULT '77IN',
                     s_bukrs FOR ekko-bukrs NO INTERVALS DEFAULT '77IN'.
    SELECTION-SCREEN END OF BLOCK b1.
    *INITIALIZATION.
    for alv field catalog definition.
      PERFORM initial_alv_fieldcat CHANGING t_fieldalv[].
    START-OF-SELECTION.
      SELECT * INTO iekko
      FROM ekko
      WHERE ebeln IN s_ebeln AND ekorg IN s_ekorg AND bukrs IN s_bukrs.
        APPEND iekko.
      ENDSELECT.
      LOOP AT iekko.
        SELECT username udate changenr utime
        INTO   (itab1-username,itab1-udate,
               itab1-changenr,itab1-utime)
        FROM  cdhdr
        WHERE objectid EQ iekko-ebeln.
          APPEND itab1.
        ENDSELECT.
      ENDLOOP.
      LOOP AT itab1.
        SELECT objectid changenr fname value_old value_new unit_old unit_new
               cuky_old cuky_new
        INTO  (itab-objectid, itab-changenr, itab-fname,
              itab-value_old,itab-value_new ,itab-unit_old, itab-unit_new,
              itab-cuky_old,itab-cuky_new)
        FROM  cdpos
        WHERE changenr = itab1-changenr.
          IF sy-subrc = 0.
            itab-username = itab1-username.
            itab-udate    = itab1-udate.
            itab-utime    = itab1-utime.
            APPEND itab.
          ENDIF.
        ENDSELECT.
      ENDLOOP.
    delete itab where fname eq 'KEY'.
      sort itab by fname.
    delete ADJACENT DUPLICATES FROM itab comparing all fields.
      LOOP AT itab.
        IF itab-fname = 'ZTERM'.
           itab-fname = 'Payment Terms'.
          MODIFY itab.
        ELSEIF itab-fname = 'AEDAT'.
               itab-fname = 'Date'.
          MODIFY itab.
        ELSEIF itab-fname = 'EFFWR'.
               itab-fname = 'Effective Value'.
          MODIFY itab.
        ELSEIF itab-fname = 'MENGE'.
               itab-fname = 'PO Quantity'.
          MODIFY itab.
        ELSEIF itab-fname = 'BRTWR'.
               itab-fname = 'Gross Order Value'.
          MODIFY itab.
        ELSEIF itab-fname = 'NETWR'.
               itab-fname = 'Net Order Value'.
          MODIFY itab.
        ELSEIF itab-fname = 'PROCSTAT'.
               itab-fname = 'Purchasing Doc processing state'.
          MODIFY itab.
        ELSEIF itab-fname = 'FRGSX'.
               itab-fname = 'Release Strategy'.
          MODIFY itab.
        ELSEIF itab-fname = 'FRGKE'.
               itab-fname = 'Release Ind. Pur. Doc'.
          MODIFY itab.
        ELSEIF itab-fname = 'ZBD1P'.
               itab-fname = 'Cash Discount Perc 1'.
          MODIFY itab.
        ELSEIF itab-fname = 'ZBD1T'.
               itab-fname = 'Cash Discount Days'.
          MODIFY itab.
        ELSEIF itab-fname = 'ZBD2T'.
               itab-fname = 'Cash Discount Days'.
          MODIFY itab.
              ELSEIF itab-fname = 'KEY'.
               itab-fname = 'Item Entered'.
          MODIFY itab.
        ENDIF.
      ENDLOOP.
      PERFORM alv_grid_display.
    *&      Form  alv_grid_display
          text
    -->  p1        text
    <--  p2        text
    FORM alv_grid_display .
      DATA  : gt_event  TYPE slis_t_event.
      DATA  : dbcnt TYPE i.
      DATA  : dbcntr(10) TYPE c.
      DATA  : title(100) TYPE c.
      CLEAR : dbcnt,dbcntr,title.
      DESCRIBE TABLE itab LINES dbcnt.
      dbcntr = dbcnt.
      CONCATENATE 'NO.OF ENTRIES : ' dbcntr INTO title SEPARATED BY space.
      sy-title = title.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = sy-repid
          is_layout          = layout
          it_fieldcat        = t_fieldalv[]
          i_save             = 'A'
          i_grid_title       = 'Purchase Order Amendment Details'
        TABLES
          t_outtab           = itab
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
    ENDFORM.                    " alv_grid_display
    *&      Form  initial_alv_fieldcat
          text
         <--RT_FIELDCAT  text
    FORM initial_alv_fieldcat  CHANGING rt_fieldcat TYPE slis_t_fieldcat_alv.
      DATA       : ls_fieldcat TYPE slis_fieldcat_alv .
      DATA       : cntr TYPE i VALUE 1.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 1.
      ls_fieldcat-fieldname = 'USERNAME'.
      ls_fieldcat-seltext_l = 'UNAME'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 2.
      ls_fieldcat-fieldname = 'UDATE'.
      ls_fieldcat-seltext_l = 'UDATE'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 3.
      ls_fieldcat-fieldname = 'UTIME'.
      ls_fieldcat-seltext_l = 'UTIME'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 4.
      ls_fieldcat-fieldname = 'OBJECTID'.
      ls_fieldcat-seltext_l = 'PO Number'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 5.
      ls_fieldcat-fieldname = 'FNAME'.
      ls_fieldcat-seltext_l = 'Field Name'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 6.
      ls_fieldcat-fieldname = 'VALUE_OLD'.
      ls_fieldcat-seltext_l = 'Old Value'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 7.
      ls_fieldcat-fieldname = 'VALUE_NEW'.
      ls_fieldcat-seltext_l = 'New Value '.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 8.
      ls_fieldcat-fieldname = 'UNIT_OLD'.
      ls_fieldcat-seltext_l = 'Old Unit'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 9.
      ls_fieldcat-fieldname = 'UNIT_NEW'.
      ls_fieldcat-seltext_l = 'New Unit'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 10.
      ls_fieldcat-fieldname = 'CUKY_OLD'.
      ls_fieldcat-seltext_l = 'Old Cuky'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      cntr = cntr + 1.
      ls_fieldcat-col_pos   = 11.
      ls_fieldcat-fieldname = 'CUKY_NEW'.
      ls_fieldcat-seltext_l = 'New Cuky'.
      ls_fieldcat-do_sum    = 'X'.
      APPEND ls_fieldcat TO rt_fieldcat.
      layout-zebra = 'X'.
      layout-colwidth_optimize = 'X'.
    ENDFORM.                    " initial_alv_fieldcat
    *********Rewards some points.
    Rgds,
    P.Naganjana Reddy

  • Report for Sales Order Change History   CDPOS and CDHDR

    How to take a report of the data for the Sales Order Change history for a particular period of time. It is required to take a report of all the Sales Orders for which the basic price has been changed. Please let me know the procedure. I could not get the data from the table CDPOS and CDHDR
    Helpful answer would be rewarded.
    Regards
    Praveen

    Dear Praveen Kumar
    Have you tried with VBAP where sale order details at item level would be stored.
    Moreover, to my knowledge, there won't be any changes as for as pricing is concerned at sale order level but there is at billing level.  Normally, any price increase / decrease would reflect in billing.  So why dont you to table join through SQVI VBAP (for sale order details) and VBRP (for billing details) so that you can compare the selling price in sale order with billing. 
    Thanks
    G. Lakshmipathi

  • Sale Order changes View

    Dear Guru's
    Is there any T-Code for verifying Sale Order changes (Step wise), as in my company Invoices are generated with lot of changes which not matching with Sale Order conditions. So I would like to moniter the Sale Order conditions changes. Kindly help me out.
    Thanks in advance

    Hi
    Sales order changes can be seen in the report only if the changes are made by any user(userid). If your problem is with changes in pricing conditons...then before comparing the sales orders and invoices, I advise you to check the copy controls and the price type used in the copy controls. If the price type selected is to redetermine the pricing, then you should check the validity of the conditon records. Sometimes, the conditon records may be different during sales order creation and invoice creation.
    Thanks,
    Ravi

  • Sale Order change BAPI - Storage loc not updated

    Hi Everybody,
    Iam using "BAPI_SALESORDER_CHANGE", to change the sale order items.
    First iam calling above bapi with switch B, for new pricing & then second time for material change.
    When i change any material number, it is getting updated correctly.
    But the storage location, even though iam passing in the bapi it is not updated, & is blank - updation flag is also passed.
    When i execute sale order change again it is updated - ie, for any material change for first bapi call, storage loc is not updated - for 2nd bapi call storage loc is updation - for same input in both the cases.
    Is there any way to update the storage loc is first call of sales order change bapi.
    Below is the parameters iam passing in bapi :
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
        EXPORTING
          SALESDOCUMENT      = LS_SALESDOCUMENT
          ORDER_HEADER_IN    = LT_HEADER_IN
          ORDER_HEADER_INX   = LT_HEADER_X
        TABLES
          RETURN                            = LT_RETURN
          ORDER_ITEM_IN               = LT_ITEMS
          ORDER_ITEM_INX             = LT_ITEM_X
          ORDER_CFGS_REF          = LT_CFGS_REF
          ORDER_CFGS_INST         =  LT_PARTS
          ORDER_CFGS_VALUE     = LT_VALUES
          ORDER_CFGS_BLOB        = LT_CUBLOB
          ORDER_CFGS_VK            = LT_CUVK
          ORDER_CFGS_REFINST   = LT_CUREF
          SCHEDULE_LINES            = LT_SCHEDULE_L
          SCHEDULE_LINESX         = LT_SCHEDULE_X
          ORDER_TEXT                   = LT_TEXT
          CONDITIONS_IN                = LT_CONDITION_L
          CONDITIONS_INX              = LT_CONDITION_X.
    Any help is appreciated.
    Regards,
    Nagarajan.J

    Hi,
    Storage location is updated only when same sale order bapi is called another time with required details.
    rgs,
    Nagarajan J

  • Billing Block removal not updated in the sales order change log

    Hi Gurus,
    A specific Billing Block is automatically assigned to the sales document header (VBAK-FAKSK) when the net value of the sales order is negative. This is an order related billing.
    Sometimes the Billing block is getting released automatically and the Negative Invoice is getting created in the Background job run for creating the invoices. When we check the sales order, the Billing block is not existing and the removal of the billing block is not recorded in the Change Log of the sales order.In the CDHDR table also there are no details about the release of the billing block.
    This is happening only occassionally. When I tried to replicate the issue, the system is not allowing me to create the invoice as long as the billing block is there in the sales order and if I remove the block, it is recorded in the sales order change log.
    My doubt is.,
    1. How the billing block is getting released automatically?
    2. Even if the block is released,  why it is not recorded in the Change Log of the sales order?
    Looking forward your for suggestions and solutions.
    Thanks,
    Ravi

    Hi
    Did u check in sales doc. details screen.There u can block for billing.

  • Updating a child of a BOM material using bapi sales order change

    Hi, Appreciate your thoughts on the following issue..
    We have a batch program which uses a bapi sales order change and updates the plant at the line items of the sales order. when this plant is assigned.. if any of the line item is a BOM item, it explodes and the data from the parent ( like payment terms, fixed val date ) should get copied to the child items same as the parent. This is happening fine if manual mode using va01 and va02 but when plant is updated using bapi the childs are not getting the data from the parent ( which comes through config )...
    Appreciate your inputs and any additional information to be passed to the bapi for the BOM materials to get the same config data as parent to the child when exploded...
    Thanks and will reward helpful answers..

    Hi, Appreciate your thoughts on the following issue..
    We have a batch program which uses a bapi sales order change and updates the plant at the line items of the sales order. when this plant is assigned.. if any of the line item is a BOM item, it explodes and the data from the parent ( like payment terms, fixed val date ) should get copied to the child items same as the parent. This is happening fine if manual mode using va01 and va02 but when plant is updated using bapi the childs are not getting the data from the parent ( which comes through config )...
    Appreciate your inputs and any additional information to be passed to the bapi for the BOM materials to get the same config data as parent to the child when exploded...
    Thanks and will reward helpful answers..

Maybe you are looking for