BAPI_SALESORDER_CHANGE - Want to change the Ship-to-party at header level

Hi
I want to change the Ship-to-party at header level in the Sales Order created. I tried using the BAPI BAPI_SALESORDER_CHANGE  as shown below.
When I run the program I get the log as Sales Order 45 saved succesfully. However, I don't find the SO changed. Apart from this I get an Express Message saying the Updation failure. Not sure of what'z wrong here.
Pls help
thanks
girish
REPORT  ZBAPI_SALESORD_CHANGE.
data : zBAPISDHD       type BAPISDH1,
       zSALESDOCUMENT  type BAPIVBELN-VBELN.
data : zORDER_ITEMS_IN     like /AFS/BAPISDITM occurs 0 with header line,
       zORDER_SCHEDULES_IN like /AFS/BAPISDSCHD occurs 0 with header line,
       zORDER_PARTNERS like BAPIPARNR      occurs 0 with header line,
       zRETURN         like BAPIRET2 occurs 0 with header line,
       so_no           type BAPIVBELN-VBELN,
       zORDER_HEADER_INX    TYPE BAPISDH1X,
       zPARTNERCHANGES like  BAPIPARNRC occurs 0 with header line.
clear : zBAPISDHD.
so_no = '0000000045'.
data : l_comp_qty like zORDER_ITEMS_IN-COMP_QUANT.
l_comp_qty = 10.
zBAPISDHD-SALES_ORG = 'BP01'.
zBAPISDHD-DISTR_CHAN = '02'.
zBAPISDHD-DIVISION = '01'.
zORDER_HEADER_INX-UPDATEFLAG = 'U'.
zORDER_HEADER_INX-SALES_ORG  = 'X'.
zORDER_HEADER_INX-DISTR_CHAN = 'X'.
zORDER_HEADER_INX-DIVISION = 'X'.
Ship to pary
zORDER_PARTNERS-PARTN_ROLE = 'WE'.
zORDER_PARTNERS-PARTN_NUMB = 'BPAFS0007'.
append zORDER_PARTNERS.
zPARTNERCHANGES-DOCUMENT = '45'.
zPARTNERCHANGES-ITM_NUMBER = '10'.
zPARTNERCHANGES-UPDATEFLAG = 'U'.
zPARTNERCHANGES-PARTN_ROLE = 'WE'.
zPARTNERCHANGES-P_NUMB_OLD = 'BPAFS0001'.
zPARTNERCHANGES-P_NUMB_NEW = 'BPAFS0007'.
append zPARTNERCHANGES.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
  EXPORTING
    SALESDOCUMENT               = so_no
    ORDER_HEADER_IN             = zBAPISDHD
    ORDER_HEADER_INX            = zORDER_HEADER_INX
  SIMULATION                  =
  BEHAVE_WHEN_ERROR           = ' '
  INT_NUMBER_ASSIGNMENT       = ' '
  LOGIC_SWITCH                =
  NO_STATUS_BUF_INIT          = ' '
  TABLES
    RETURN                      = zRETURN
  ORDER_ITEM_IN               =
  ORDER_ITEM_INX              =
    PARTNERS                    = zORDER_PARTNERS
    PARTNERCHANGES              = zPARTNERCHANGES.
  PARTNERADDRESSES            =
  ORDER_CFGS_REF              =
  ORDER_CFGS_INST             =
  ORDER_CFGS_PART_OF          =
  ORDER_CFGS_VALUE            =
  ORDER_CFGS_BLOB             =
  ORDER_CFGS_VK               =
  ORDER_CFGS_REFINST          =
  SCHEDULE_LINES              =
  SCHEDULE_LINESX             =
  ORDER_TEXT                  =
  ORDER_KEYS                  =
  CONDITIONS_IN               =
  CONDITIONS_INX              =
  EXTENSIONIN                 =
data : s_BAPIRET2 like  BAPIRET2.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'
importing
return = s_bapiret2.

Thanks Prashanth. It worked !!!!!!!!!!!!!
Now I am facing another type of problem. The requirement is to change the Sales Order Item Quantity. I basically planned to update the quantity of Schedule Item which needs to be changed. When I run the below code, it works and says the Sales Order changed succesfully. However I get an express message saying the Database update failure. I don't get any sort of technical information.
Appreciate if you could help me finding the error.
Thanks
regards
girish
Note --> I am trying to change the Quantity for 2 line item in SO '56' to 40 Units.
REPORT  ZBAPI_SALESORD_CHANGE.
data : zBAPISDHD       type /AFS/BAPISDHD,
       zORDER_HEADER_INX    TYPE /AFS/BAPISDHDX,
       zSALESDOCUMENT  type BAPIVBELN-VBELN.
data : zORDER_ITEMS_IN     like /AFS/BAPISDITM   occurs 0 with header line,
       zORDER_ITEM_INX     like /AFS/BAPISDITMX  occurs 0 with header line,
       zORDER_SCHEDULES_IN like /AFS/BAPISDSCHD  occurs 0 with header line,
       ZSCHEDULE_LINESX    LIKE /AFS/BAPISDSCHDX occurs 0 with header line,
       zORDER_PARTNERS like BAPIPARNR      occurs 0 with header line,
       zRETURN         like BAPIRET2 occurs 0 with header line,
       so_no           type BAPIVBELN-VBELN,
       zPARTNERCHANGES like  BAPIPARNRC occurs 0 with header line.
data : l_comp_qty like zORDER_ITEMS_IN-COMP_QUANT.
data : g_qty like /AFS/BAPISDSCHD-REQ_QTY.
g_qty = 40.
l_comp_qty = 40.
clear : zBAPISDHD.
so_no = '0000000056'.
zBAPISDHD-REFOBJTYPE = '/AFS/ORDER'.
zBAPISDHD-SALES_ORG = 'BP01'.
zBAPISDHD-DISTR_CHAN = '02'.
zBAPISDHD-DIVISION = '01'.
zBAPISDHD-PMNTTRMS = '0001'.
zORDER_HEADER_INX-UPDATEFLAG = 'U'.
zORDER_HEADER_INX-SALES_ORG  = 'X'.
zORDER_HEADER_INX-DISTR_CHAN = 'X'.
zORDER_HEADER_INX-DIVISION = 'X'.
zORDER_HEADER_INX-PMNTTRMS = 'X'.
**********ITEM ***************************************
zORDER_ITEMS_IN-ITM_NUMBER = '00020'.
zORDER_ITEMS_IN-MATERIAL = 'F1202'.
zORDER_ITEMS_IN-PLANT = 'BP01'.
zORDER_ITEMS_IN-ITEM_CATEG = 'TAS'.
zORDER_ITEMS_IN-SHIP_POINT = 'BP01'.
zORDER_ITEMS_IN-COMP_QUANT = l_comp_qty.
zORDER_ITEMS_IN-TARGET_QTY = l_comp_qty.
zORDER_ITEMS_IN-TARGET_QU = 'ST'.
append zORDER_ITEMS_IN.
zORDER_ITEM_INX-ITM_NUMBER = '00020'.
zORDER_ITEM_INX-UPDATEFLAG = 'U'.
zORDER_ITEM_INX-MATERIAL = 'X'.
zORDER_ITEM_INX-PLANT = 'X'.
zORDER_ITEM_INX-ITEM_CATEG = 'X'.
zORDER_ITEM_INX-SHIP_POINT = 'X'.
zORDER_ITEM_INX-COMP_QUANT = 'X'.
zORDER_ITEM_INX-TARGET_QTY = 'X'.
zORDER_ITEM_INX-TARGET_QU = 'X'.
append zORDER_ITEM_INX.
*********SCHEDULE LINE******************************
refresh zORDER_SCHEDULES_IN.
clear zORDER_SCHEDULES_IN.
zORDER_SCHEDULES_IN-ITM_NUMBER = '000020'.
zORDER_SCHEDULES_IN-SCHED_LINE = '0001'.
zORDER_SCHEDULES_IN-REQ_DATE = '20070525'.
zORDER_SCHEDULES_IN-DATE_TYPE = '1'.
zORDER_SCHEDULES_IN-SCHED_TYPE = 'CS'.
zORDER_SCHEDULES_IN-GRID_VALUE = 'BLK2728'.
zORDER_SCHEDULES_IN-REQ_CATEGORY = '1DE'.
zORDER_SCHEDULES_IN-REFOBJTYPE = '/AFS/ORDER'.
zORDER_SCHEDULES_IN-REQ_QTY = g_qty.
append zORDER_SCHEDULES_IN.
refresh ZSCHEDULE_LINESX.
clear ZSCHEDULE_LINESX.
ZSCHEDULE_LINESX-ITM_NUMBER = '000020'.
ZSCHEDULE_LINESX-SCHED_LINE = '0001'.
ZSCHEDULE_LINESX-UPDATEFLAG = 'U'.
ZSCHEDULE_LINESX-REQ_DATE = 'X'.
ZSCHEDULE_LINESX-DATE_TYPE = 'X'.
ZSCHEDULE_LINESX-SCHED_TYPE = 'X'.
ZSCHEDULE_LINESX-GRID_VALUE = 'X'.
ZSCHEDULE_LINESX-REQ_CATEGORY = 'X'.
ZSCHEDULE_LINESX-REFOBJTYPE = 'X'.
ZSCHEDULE_LINESX-REQ_QTY = 'X'.
append ZSCHEDULE_LINESX.
CALL FUNCTION '/AFS/BAPI_SALESORD_CHANGE'
  EXPORTING
    SALESDOCUMENT               = so_no
    ORDER_HEADER_IN             = zBAPISDHD
    ORDER_HEADER_INX            = zORDER_HEADER_INX
  SIMULATION                  =
  BEHAVE_WHEN_ERROR           = ' '
  INT_NUMBER_ASSIGNMENT       = ' '
  LOGIC_SWITCH                =
  TABLES
    RETURN                      = zRETURN
    ORDER_ITEM_IN               = zORDER_ITEMS_IN
    ORDER_ITEM_INX              = zORDER_ITEM_INX
    ORDER_SCHEDULE_LINES        = zORDER_SCHEDULES_IN
    ORDER_SCHEDULE_LINESX       = ZSCHEDULE_LINESX.
  PARTNERS                    =
  PARTNERCHANGES              = zPARTNERCHANGES
  PARTNERADDRESSES            =
  ORDER_CFGS_REF              =
  ORDER_CFGS_INST             =
  ORDER_CFGS_PART_OF          =
  ORDER_CFGS_VALUE            =
  ORDER_CFGS_BLOB             =
  ORDER_CFGS_VK               =
  ORDER_CFGS_REFINST          =
  ORDER_TEXT                  =
  ORDER_KEYS                  =
  CONDITIONS_IN               =
  CONDITIONS_INX              =
  EXTENSIONIN                 =
*CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
   SALESDOCUMENT               = so_no
   ORDER_HEADER_IN             = zBAPISDHD
   ORDER_HEADER_INX            = zORDER_HEADER_INX
TABLES
   RETURN                      = zRETURN
   ORDER_ITEM_IN               = zORDER_ITEMS_IN
   ORDER_ITEM_INX              = zORDER_ITEM_INX
   PARTNERS                    = zORDER_PARTNERS
   PARTNERCHANGES              = zPARTNERCHANGES
  PARTNERADDRESSES            =
  ORDER_CFGS_REF              =
  ORDER_CFGS_INST             =
  ORDER_CFGS_PART_OF          =
  ORDER_CFGS_VALUE            =
  ORDER_CFGS_BLOB             =
  ORDER_CFGS_VK               =
  ORDER_CFGS_REFINST          =
  SCHEDULE_LINES               = zORDER_SCHEDULES_IN
  SCHEDULE_LINESX              = ZSCHEDULE_LINESX.
  ORDER_TEXT                  =
  ORDER_KEYS                  =
  CONDITIONS_IN               =
  CONDITIONS_INX              =
  EXTENSIONIN                 =
data : s_BAPIRET2 like  BAPIRET2.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
importing
return = s_bapiret2.

Similar Messages

  • No text redetermination once change the ship to party

    Hello Experts,
    We have text like picking/packing/shipping text in ship to party. and we have assigned such text value in ship to party.
    Suppose:
    Ship to party A has shipping text: ABCDEFG
    Ship to party B has shipping text: 12345678
    I create the sales order with ship to party: A and system determine text (header level) as ABCDEFG, I save it later i change the ship to party in sale order from A to B. according to business logic system should change the shipping text from ABCDEFG to 12345678 once I change the ship to party from A to B. But it is not happening.
    Even though changing the ship to party from A to B, system is not redetermining text and I am wondering why it's happening?
    Is it the standard functionality ? why it is happening ?
    Thanks,

    How text will be redetermined if the ship to party is changed
    Please refer the above tread, System does not re determine the text if Ship to party  is changed, it changes only for SP, also if you want to redetermine the SH text then refer the notes also which was mentioned in the above tread.
    thanks,
    Srinu.

  • User Exit to change the Ship-to party address at Sales Order headder level

    Hi,
    I have requirement like this......
    I need to change the  ship-to party address at Sales Order headder level. for that which user exit i need to  use and which structure i need to use to update the transaction.
    I used : userexit_save_document_prepare, in that i passed data to 'xvbpa' and 'xvbadr' structures. even though it is not update the transaction.
    Please let me know the answer.
    Thanks,
    Satish.

    Hi Satish,
    Step1. Create new Data Copy Routine using Tcode VOFM.
    Step2. *-----------------------------------Ship to Party from contract
       IF CVBPA-PARVW = 'WE' OR
          CVBPA-PARVW = 'SH'.
        REFRESH IT_STP.
        SELECT KTOKD
               A~KUNNR
               NAME1
               NAME2
               A~ADRNR
               FROM VBPA AS A INNER JOIN KNA1 AS B ON A~KUNNR = B~KUNNR
               INTO CORRESPONDING FIELDS OF TABLE IT_STP
               WHERE VBELN = CVBPA-VBELN . 
    Step3.
       CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
            EXPORTING
              ENDPOS_COL   = 80
              ENDPOS_ROW   = 10
              STARTPOS_COL = 10
              STARTPOS_ROW = 5
              TITLETEXT    = 'Your Title'
            IMPORTING
              CHOISE       = T_SELIDX<=====Index No of selection
            TABLES
              VALUETAB     = IT_STP
            EXCEPTIONS
              BREAK_OFF    = 1
              OTHERS       = 2.
    Step4.
           READ TABLE IT_STP INTO WA_STP INDEX T_SELIDX.
            IF SY-SUBRC = 0.
              CLEAR:CVBPA-KUNNR, CVBPA-ADRNR.
              MOVE WA_STP-KUNNR TO CVBPA-KUNNR.
              MOVE WA_STP-ADRNR TO CVBPA-ADRNR. <========Address ID (Change Here).  
           ENDIF.
    Regards,
    Amrendra
    Moderator Message - Please do not reply to old, dormant threads.
    Message was edited by: Suhas Saha

  • Any exits to change the ship-to-party in VA01 before its display

    Hi All,
    I'm having a situation here that i would need your help.
    From IW51 i'll create a sales order VA01 and just before creation i would need to do some validation on the plant and service center and then change the Ship-to-party value to another.
    I am not sure on which exit or badi offers that functions. the ones that i've found is EXIT_SAPLV46H_002 and EXIT_SAPLV09A_004. Both of this doesn't work.
    If any one of you has encountered this problem and manage to resolve it please help me resolve mine as well.
    Thank you.
    Vinod

    Hi,
    here u will find complete example:
    http://sap.niraj.tripod.com/id21.html
    Jogdand M B

  • Charge customer if they want to change the ship to address.

    Is there any way to charge the customer if want to change the ship to address.
    Is there any indicator to figure out if the ship to address is changed..?
    if soo where to implement the code..?
    let me know.
    Thanks,

    solved

  • Change the tax code at order header level that reflect the change in all it

    Dear consultant,
    Change the tax code at order header level that reflect the change in all items lines under this order
    Facts:
    Define tax code,
    Assign it to bill & ship to customers,
    I do all setup in oracle receivable guide for defining tax
    Examples: I navigate to order management to create order
    First I select the customer and order type after that I navigate to tab line
    I enter the item in the first line the tax code coming by default
    I enter the second items line also the tax code coming by default etc three ,four, five until line 40
    Now I want to change the tax code for all items but not by enter and change it in each line? No,
    I want the way that I change Tax Code at order header after that the change is reflect in all items line
    Business Impacts:
    Suppose I create order include 40 items , I want to change the tax code that coming by default , that require me to enter in each line to change tax cod 40 times ,this not logic and not acceptable from my customer

    Hi,
    The defaulting rules apply only for the first time when you are adding new lines on to the Sales Order. Respective field vaues will be defaulted from the SO header level.
    In case, if you want to update all the 40 lines for Tax Code in one shot, then please select all the lines on the sales order, try Mass Change.
    (Navigation: Tools->Mass Change).
    Regards,
    Hemanth

  • 'BAPI_SALESORDER_CHANGE - Want to change the Quantity on Line Item in SO

    Hi
    I am facing a problem. The requirement is to change the Sales Order Item Quantity. I basically planned to update the quantity of Schedule Item which needs to be changed. When I run the below code, it works and says the Sales Order changed succesfully. However I get an express message saying the Database update failure. I don't get any sort of technical information.
    Appreciate if you could help me finding the error.
    Thanks
    regards
    girish
    Note --> I am trying to change the Quantity for 2 line item in SO '56' to 40 Units.
    REPORT ZBAPI_SALESORD_CHANGE.
    data : zBAPISDHD type /AFS/BAPISDHD,
    zORDER_HEADER_INX TYPE /AFS/BAPISDHDX,
    zSALESDOCUMENT type BAPIVBELN-VBELN.
    data : zORDER_ITEMS_IN like /AFS/BAPISDITM occurs 0 with header line,
    zORDER_ITEM_INX like /AFS/BAPISDITMX occurs 0 with header line,
    zORDER_SCHEDULES_IN like /AFS/BAPISDSCHD occurs 0 with header line,
    ZSCHEDULE_LINESX LIKE /AFS/BAPISDSCHDX occurs 0 with header line,
    zORDER_PARTNERS like BAPIPARNR occurs 0 with header line,
    zRETURN like BAPIRET2 occurs 0 with header line,
    so_no type BAPIVBELN-VBELN,
    zPARTNERCHANGES like BAPIPARNRC occurs 0 with header line.
    data : l_comp_qty like zORDER_ITEMS_IN-COMP_QUANT.
    data : g_qty like /AFS/BAPISDSCHD-REQ_QTY.
    g_qty = 40.
    l_comp_qty = 40.
    clear : zBAPISDHD.
    so_no = '0000000056'.
    zBAPISDHD-REFOBJTYPE = '/AFS/ORDER'.
    zBAPISDHD-SALES_ORG = 'BP01'.
    zBAPISDHD-DISTR_CHAN = '02'.
    zBAPISDHD-DIVISION = '01'.
    zBAPISDHD-PMNTTRMS = '0001'.
    zORDER_HEADER_INX-UPDATEFLAG = 'U'.
    zORDER_HEADER_INX-SALES_ORG = 'X'.
    zORDER_HEADER_INX-DISTR_CHAN = 'X'.
    zORDER_HEADER_INX-DIVISION = 'X'.
    zORDER_HEADER_INX-PMNTTRMS = 'X'.
    **********ITEM ***************************************
    zORDER_ITEMS_IN-ITM_NUMBER = '00020'.
    zORDER_ITEMS_IN-MATERIAL = 'F1202'.
    zORDER_ITEMS_IN-PLANT = 'BP01'.
    zORDER_ITEMS_IN-ITEM_CATEG = 'TAS'.
    zORDER_ITEMS_IN-SHIP_POINT = 'BP01'.
    zORDER_ITEMS_IN-COMP_QUANT = l_comp_qty.
    zORDER_ITEMS_IN-TARGET_QTY = l_comp_qty.
    zORDER_ITEMS_IN-TARGET_QU = 'ST'.
    append zORDER_ITEMS_IN.
    zORDER_ITEM_INX-ITM_NUMBER = '00020'.
    zORDER_ITEM_INX-UPDATEFLAG = 'U'.
    zORDER_ITEM_INX-MATERIAL = 'X'.
    zORDER_ITEM_INX-PLANT = 'X'.
    zORDER_ITEM_INX-ITEM_CATEG = 'X'.
    zORDER_ITEM_INX-SHIP_POINT = 'X'.
    zORDER_ITEM_INX-COMP_QUANT = 'X'.
    zORDER_ITEM_INX-TARGET_QTY = 'X'.
    zORDER_ITEM_INX-TARGET_QU = 'X'.
    append zORDER_ITEM_INX.
    *********SCHEDULE LINE******************************
    refresh zORDER_SCHEDULES_IN.
    clear zORDER_SCHEDULES_IN.
    zORDER_SCHEDULES_IN-ITM_NUMBER = '000020'.
    zORDER_SCHEDULES_IN-SCHED_LINE = '0001'.
    zORDER_SCHEDULES_IN-REQ_DATE = '20070525'.
    zORDER_SCHEDULES_IN-DATE_TYPE = '1'.
    zORDER_SCHEDULES_IN-SCHED_TYPE = 'CS'.
    zORDER_SCHEDULES_IN-GRID_VALUE = 'BLK2728'.
    zORDER_SCHEDULES_IN-REQ_CATEGORY = '1DE'.
    zORDER_SCHEDULES_IN-REFOBJTYPE = '/AFS/ORDER'.
    zORDER_SCHEDULES_IN-REQ_QTY = g_qty.
    append zORDER_SCHEDULES_IN.
    refresh ZSCHEDULE_LINESX.
    clear ZSCHEDULE_LINESX.
    ZSCHEDULE_LINESX-ITM_NUMBER = '000020'.
    ZSCHEDULE_LINESX-SCHED_LINE = '0001'.
    ZSCHEDULE_LINESX-UPDATEFLAG = 'U'.
    ZSCHEDULE_LINESX-REQ_DATE = 'X'.
    ZSCHEDULE_LINESX-DATE_TYPE = 'X'.
    ZSCHEDULE_LINESX-SCHED_TYPE = 'X'.
    ZSCHEDULE_LINESX-GRID_VALUE = 'X'.
    ZSCHEDULE_LINESX-REQ_CATEGORY = 'X'.
    ZSCHEDULE_LINESX-REFOBJTYPE = 'X'.
    ZSCHEDULE_LINESX-REQ_QTY = 'X'.
    append ZSCHEDULE_LINESX.
    CALL FUNCTION '/AFS/BAPI_SALESORD_CHANGE'
    EXPORTING
    SALESDOCUMENT = so_no
    ORDER_HEADER_IN = zBAPISDHD
    ORDER_HEADER_INX = zORDER_HEADER_INX
    SIMULATION =
    BEHAVE_WHEN_ERROR = ' '
    INT_NUMBER_ASSIGNMENT = ' '
    LOGIC_SWITCH =
    TABLES
    RETURN = zRETURN
    ORDER_ITEM_IN = zORDER_ITEMS_IN
    ORDER_ITEM_INX = zORDER_ITEM_INX
    ORDER_SCHEDULE_LINES = zORDER_SCHEDULES_IN
    ORDER_SCHEDULE_LINESX = ZSCHEDULE_LINESX.
    PARTNERS =
    PARTNERCHANGES = zPARTNERCHANGES
    PARTNERADDRESSES =
    ORDER_CFGS_REF =
    ORDER_CFGS_INST =
    ORDER_CFGS_PART_OF =
    ORDER_CFGS_VALUE =
    ORDER_CFGS_BLOB =
    ORDER_CFGS_VK =
    ORDER_CFGS_REFINST =
    ORDER_TEXT =
    ORDER_KEYS =
    CONDITIONS_IN =
    CONDITIONS_INX =
    EXTENSIONIN =
    *CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
    SALESDOCUMENT = so_no
    ORDER_HEADER_IN = zBAPISDHD
    ORDER_HEADER_INX = zORDER_HEADER_INX
    TABLES
    RETURN = zRETURN
    ORDER_ITEM_IN = zORDER_ITEMS_IN
    ORDER_ITEM_INX = zORDER_ITEM_INX
    PARTNERS = zORDER_PARTNERS
    PARTNERCHANGES = zPARTNERCHANGES
    PARTNERADDRESSES =
    ORDER_CFGS_REF =
    ORDER_CFGS_INST =
    ORDER_CFGS_PART_OF =
    ORDER_CFGS_VALUE =
    ORDER_CFGS_BLOB =
    ORDER_CFGS_VK =
    ORDER_CFGS_REFINST =
    SCHEDULE_LINES = zORDER_SCHEDULES_IN
    SCHEDULE_LINESX = ZSCHEDULE_LINESX.
    ORDER_TEXT =
    ORDER_KEYS =
    CONDITIONS_IN =
    CONDITIONS_INX =
    EXTENSIONIN =
    data : s_BAPIRET2 like BAPIRET2.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    importing
    return = s_bapiret2.

    Hi,
    Refer this code: Marked in bold
    Get Line Item Details which are to be deleted
    The line items fetched but not matching with ALV data
    are the one which are copied from Reference Order
    and should be deleted from our Sales Order
      PERFORM get_line_item_details.
    To get all the uploaded data
      i_upload_2[] = i_upload[].
    This is to be executed only if the SALES ORDER
    IS CREATED WITH REFERENCE & User has selected
    the record in ALV for Order Creation
      LOOP AT i_upload INTO wa_upload_1
                        WHERE chkbx = 'X'
                          AND vbeln NE space.
        MOVE wa_upload_1 TO wa_upload.
    Clear Work Area/Local variables & Internal tables
        CLEAR : l_sales_no,
                l_item_number,
                wa_header_in,
                wa_header_inx,
                wa_curr,
                l_currency,
                l_count,
                l_counter.
        REFRESH : i_cond,
                  i_cond_inx,
                  i_sch_in,
                  i_sch_inx,
                  i_items_in,
                  i_items_inx,
                  i_return,
                  i_partner_inx.
        AT NEW seqno.
    Get the Sales Order Number for corresponding record
          READ TABLE i_result_all INTO wa_result_all WITH KEY
                                          ref_no = wa_upload-vbeln
                                          seqno  = wa_upload-seqno.
          IF sy-subrc EQ 0.
            IF NOT wa_result_all-vbeln IS INITIAL.
              l_sales_no = wa_result_all-vbeln.
            ENDIF.
          ELSE.
            CONTINUE.
          ENDIF.
          READ TABLE i_curr INTO wa_curr
                            WITH KEY vbeln = l_sales_no.
    Header Data
          CLEAR wa_header_in.
          wa_header_in-sales_org  = wa_upload-vkorg.
          wa_header_in-distr_chan = wa_upload-vtweg.
          wa_header_in-division   = wa_upload-spart.
         wa_header_in-ref_doc    = wa_upload-vbeln.
         wa_header_in-ref_doc_l  = wa_upload-vbeln.
          wa_header_in-purch_no_c = wa_upload-bstnk.
          CLEAR : wa_header_inx.
          wa_header_inx-updateflag = 'U'.
          wa_header_inx-sales_org  = 'X'.
          wa_header_inx-distr_chan = 'X'.
          wa_header_inx-division   = 'X'.
          wa_header_inx-purch_no_c = 'X'.
    Check Business Object
          CLEAR : l_bus_object.
          IF wa_upload-auart = 'ZY01' OR
             wa_upload-auart = 'ZY07' OR
             wa_upload-auart = 'ZY08' OR
             wa_upload-auart = 'ZY09' OR
             wa_upload-auart = 'ZY18' OR
             wa_upload-auart = 'ZY94' .
            l_bus_object = 'BUS2032'.
          ELSEIF
            wa_upload-auart = 'ZY10' OR
            wa_upload-auart = 'ZY11' OR
            wa_upload-auart = 'ZY27' OR
            wa_upload-auart = 'ZY28' OR
            wa_upload-auart = 'ZY92' OR
            wa_upload-auart = 'ZY93'.
            l_bus_object = 'BUS2102'.
          ELSEIF
            wa_upload-auart = 'ZY16' OR
            wa_upload-auart = 'ZY30'.
            l_bus_object = 'BUS2094'.
          ELSEIF
            wa_upload-auart = 'ZY17' OR
            wa_upload-auart = 'ZY31'.
            l_bus_object = 'BUS2096'.
          ELSEIF
            wa_upload-auart = 'ZY06' OR
            wa_upload-auart = 'ZY26'.
            l_bus_object = 'BUS2032'.
          ENDIF.
    *Populate Ship-to-party
          IF NOT wa_upload-scode IS INITIAL.
            CLEAR wa_partner_inx.
            wa_partner_inx-document    = l_sales_no.
            wa_partner_inx-itm_number  = '000000'.
            wa_partner_inx-updateflag  = 'U'.
            wa_partner_inx-partn_role  = c_we.
            wa_partner_inx-p_numb_new  = wa_upload-scode.
            wa_partner_inx-refobjtype  = l_bus_object.
            APPEND wa_partner_inx TO i_partner_inx.
          ENDIF.
    Bill to Party
          IF NOT wa_upload-bparty IS INITIAL.
            CLEAR wa_partner_inx.
            wa_partner_inx-document    = l_sales_no.
            wa_partner_inx-itm_number  = '000000'.
            wa_partner_inx-updateflag  = 'U'.
            wa_partner_inx-partn_role  = c_re.
            wa_partner_inx-p_numb_new  = wa_upload-bparty.
            wa_partner_inx-refobjtype  = l_bus_object.
            APPEND wa_partner_inx TO i_partner_inx.
          ENDIF.
    Payer
          IF NOT wa_upload-payer IS INITIAL.
            CLEAR wa_partner_inx.
            wa_partner_inx-document    = l_sales_no.
            wa_partner_inx-itm_number  = '000000'.
            wa_partner_inx-updateflag  = 'U'.
            wa_partner_inx-partn_role  = c_rg.
            wa_partner_inx-p_numb_new  = wa_upload-payer.
            wa_partner_inx-refobjtype  = l_bus_object.
            APPEND wa_partner_inx TO i_partner_inx.
          ENDIF.
    Sales Rep
          IF NOT wa_upload-salesrep IS INITIAL.
            CLEAR wa_partner_inx.
            wa_partner_inx-document    = l_sales_no.
            wa_partner_inx-itm_number  = '000000'.
            wa_partner_inx-updateflag  = 'U'.
            wa_partner_inx-partn_role  = c_ys.
            wa_partner_inx-p_numb_new  = wa_upload-salesrep.
            wa_partner_inx-refobjtype  = l_bus_object.
            APPEND wa_partner_inx TO i_partner_inx.
          ENDIF.
    Check condition type & unit price
    For the following Document Types,
    Condition Type & Unit Price are mandatory
          CLEAR : l_item_number,
                  wa_upload_2.
          LOOP AT i_upload_2 INTO wa_upload_2
                        WHERE seqno =  wa_upload-seqno
                          AND chkbx = 'X'.
            CLEAR : wa_cond,
                    wa_result.
    Get the POSNR
            PERFORM conv_alpha_input USING  wa_upload_2-matnr
                                  CHANGING  wa_upload_2-matnr.
            CLEAR : wa_items.
            READ TABLE i_items INTO wa_items
                                WITH KEY vbeln = l_sales_no
                                         matnr = wa_upload_2-matnr.
    Check condition types
            IF wa_upload_2-auart = 'ZY16' OR
               wa_upload_2-auart = 'ZY17' OR
               wa_upload_2-auart = 'ZY30' OR
               wa_upload_2-auart = 'ZY31'.
    If error, then update the output table
              IF wa_upload_2-kschl IS INITIAL OR
                 wa_upload_2-kbetr IS INITIAL.
                CLEAR : wa_result_all.
                READ TABLE i_result_all INTO wa_result_all WITH KEY
                                            ref_no = wa_upload_2-vbeln
                                            mat_no = wa_upload_2-matnr
                                            kwmeng = wa_upload_2-kwmeng
                                            charg  = wa_upload_2-charg
                                            seqno  = wa_upload_2-seqno
                                            vbeln  = l_sales_no.
                IF sy-subrc EQ 0.
                  wa_result_all-status  = 'E'. " E
                  wa_result_all-remarks = text-007. " Condition Type & Unit
                                                  Price is mandatory
                  MODIFY i_result_all FROM wa_result_all INDEX sy-tabix.
                ENDIF.
                CLEAR : wa_result_all.
                CONTINUE.
    Else update the condition type & unit price
              ELSE.
                wa_cond-itm_number  = wa_items-posnr.    " ITEM NO.
                wa_cond-cond_type   = wa_upload_2-kschl. " CNDTION TYPE
                wa_cond-cond_value  = wa_upload_2-kbetr. " UNIT PRICE
                wa_cond-currency    = wa_curr-waerk.     " Currency
                APPEND wa_cond TO i_cond.
                CLEAR : wa_cond,
                        wa_upload_2.
              ENDIF.
            ELSE.
    For other document type, fill Condition type & Unit Price
              wa_cond-itm_number  = wa_items-posnr.    " ITEM NO.
              wa_cond-cond_type   = wa_upload_2-kschl. " CNDTION TYPE
              wa_cond-cond_value  = wa_upload_2-kbetr. " UNIT PRICE
              wa_cond-currency    = wa_curr-waerk.
              APPEND wa_cond TO i_cond.
              CLEAR : wa_cond,
                      wa_upload_2.
            ENDIF.
            CLEAR : wa_cond_inx.
            wa_cond_inx-itm_number = wa_items-posnr.
            wa_cond_inx-cond_type  = wa_upload_2-kschl.
            wa_cond_inx-cond_value = 'X'.
            wa_cond_inx-currency   = 'X'.
            APPEND wa_cond_inx TO i_cond_inx.
            CLEAR : wa_upload_2.
          ENDLOOP.
    DELETE Item Data from VBAP which has no matching entires in ALV
    if SAME Material occurs more than once in ALV for same key then
    count the no. of times the material occurs
          CLEAR : wa_upload_3,
                  l_counter.
          l_counter = 0.
          LOOP AT i_upload_2 INTO wa_upload_3
                                WHERE seqno = wa_upload-seqno
                                  AND chkbx = 'X'
                                  AND matnr = wa_upload-matnr.
            l_counter = l_counter + 1.
            CLEAR : wa_upload_3.
          ENDLOOP.
          PERFORM conv_alpha_input USING  wa_upload-matnr
                                CHANGING  wa_upload-matnr.
    check the corresponding no. of line items
    for the above material
          CLEAR : l_count,
                  wa_items.
          LOOP AT i_items INTO wa_items
                        WHERE matnr = wa_upload-matnr
                          AND vbeln = l_sales_no.
            CLEAR : wa_items_in,
                    wa_items_inx.
            IF l_count GE l_counter.
              wa_items_in-itm_number  = wa_items-posnr.
              wa_items_in-material    = wa_items-matnr.
              APPEND wa_items_in TO i_items_in.
              CLEAR wa_items_inx.
              wa_items_inx-itm_number    = wa_items-posnr.
              wa_items_inx-updateflag    = 'D'. " Delete Record
              wa_items_inx-material      = 'X'.
              APPEND wa_items_inx TO i_items_inx.
            ENDIF.
            l_count = l_count + 1.
          ENDLOOP.
    Convert material nos. to 18 digit no.
          REFRESH : i_upload_3.
          CLEAR   : wa_upload_3.
          i_upload_3[] = i_upload_2[].
          LOOP AT i_upload_3 INTO wa_upload_3
                                        WHERE seqno = wa_upload-seqno
                                          AND chkbx = c_x.
            PERFORM conv_alpha_input USING wa_upload_3-matnr
                                  CHANGING  wa_upload_3-matnr.
            MODIFY i_upload_3 FROM wa_upload_3.
            CLEAR : wa_upload_3.
          ENDLOOP.
    Delete materials which are not in ALV but are in line items
    for that sales order
          CLEAR : wa_upload_3,
                  wa_items_in,
                  wa_items.
          LOOP AT i_items INTO wa_items WHERE vbeln = l_sales_no.
            PERFORM conv_alpha_input USING  wa_items-matnr
                                  CHANGING  wa_items-matnr.
            READ TABLE i_upload_3 INTO wa_upload_3
                              WITH KEY matnr = wa_items-matnr.
            IF sy-subrc NE 0.
              wa_items_in-itm_number  = wa_items-posnr.
              wa_items_in-material    = wa_items-matnr.
              APPEND wa_items_in TO i_items_in.
              CLEAR wa_items_inx.
              wa_items_inx-itm_number    = wa_items-posnr.
              wa_items_inx-updateflag    = 'D'. " Delete Record
              wa_items_inx-material      = 'X'.
              APPEND wa_items_inx TO i_items_inx.
            ENDIF.
            CLEAR : wa_items,
                    wa_items_in,
                    wa_items_inx,
                    wa_upload_3.
          ENDLOOP.
    UPDATE Item Data RECORDS
          CLEAR : wa_upload_2,
                  wa_items_in,
                  wa_items,
                  wa_items_inx,
                  wa_sch_in,
                  wa_sch_inx,
                  l_item_number.
          LOOP AT i_upload_2 INTO wa_upload_2 WHERE
                                              seqno = wa_upload-seqno
                                              AND chkbx = 'X'.
    Read the Material no. from ALV & check whether the
    corresponding material exists in VBAP, if YES, then
    Update the line item data
            PERFORM conv_alpha_input USING  wa_upload_2-matnr
                                  CHANGING  wa_items_in-material.
    POPULATE ITEM NO -- Update the record
    If line item has same material twice,
    then appropriate POSNR should be assigned
            READ TABLE i_items INTO wa_items
                              WITH KEY vbeln = l_sales_no
                                       matnr = wa_items_in-material.
            IF sy-subrc EQ 0.
    If Reference is not contract then the process to assign
    POSNR is as follows :- Check the corresponding material
    from ALV with data from ITEMS, the record which matches
    the data is selected & POSNR is assigned to it
              IF wa_upload_2-oreason NE 'C'.
                CLEAR : wa_items_in1.
                READ TABLE i_items_in INTO wa_items_in1
                                  WITH KEY material = wa_items_in-material
                                         itm_number = wa_items-posnr.
                IF sy-subrc EQ 0.
                  CLEAR : wa_items1.
                  LOOP AT i_items INTO wa_items1
                                WHERE  vbeln = l_sales_no
                                  AND  matnr = wa_items_in-material.
                    IF wa_items1-posnr GT wa_items-posnr.
                      wa_items-posnr = wa_items1-posnr.
                      CLEAR : wa_items_in1.
                      READ TABLE i_items_in INTO wa_items_in1
                                  WITH KEY material = wa_items_in-material
                                         itm_number = wa_items-posnr.
                      IF sy-subrc NE 0.
                        EXIT.
                      ENDIF.
                    ENDIF.
                    CLEAR : wa_items1.
                  ENDLOOP.
                ENDIF.
              ELSE.
    If Reference is CONTRACT then the process to assign
    POSNR is different. Here if ALV has same material
    twice & ITEMS has it once, then the second occurrence
    of material of ALV is assigned a new POSNR
                CLEAR : wa_items_in1,
                        l_insert.
                READ TABLE i_items_in INTO wa_items_in1
                                  WITH KEY material = wa_items_in-material
                                         itm_number = wa_items-posnr.
                IF sy-subrc EQ 0.
                  CLEAR : l_lines,
                          l_insert,
                          wa_items_in1.
                  DESCRIBE TABLE i_items_in LINES l_lines.
                  READ TABLE i_items_in INTO wa_items_in1 INDEX l_lines.
                  wa_items-posnr = wa_items_in1-itm_number + 10.
                  l_insert = 'X'.
                  CLEAR : wa_items_in1.
                ENDIF.
              ENDIF.
    <b>          wa_items_in-itm_number  = wa_items-posnr.
              wa_items_in-target_qty  = wa_upload_2-kwmeng.
              wa_items_in-target_qu   = wa_items-zieme.
              wa_items_in-store_loc   = wa_upload_2-lgort.
              wa_items_in-plant       = wa_upload_2-werks.
              wa_items_in-batch       = wa_upload_2-charg.
              wa_items_in-route       = wa_upload_2-route.
              wa_items_in-sales_unit  = wa_upload_2-vrkme.
              wa_items_in-short_text  = wa_upload_2-maktx.
              APPEND wa_items_in TO i_items_in.</b>
              CLEAR wa_items_inx.
              wa_items_inx-itm_number    = wa_items-posnr.
              IF l_insert EQ c_x.
                wa_items_inx-updateflag    = c_i. " Insert Record
              ELSE.
                wa_items_inx-updateflag    = 'U'. " Update Record
              ENDIF.
              wa_items_inx-material      = 'X'.
              wa_items_inx-target_qty    = 'X'.
              wa_items_in-target_qu      = 'X'.
              wa_items_inx-store_loc     = 'X'.
              wa_items_inx-plant         = 'X'.
              wa_items_inx-batch         = 'X'.
              wa_items_inx-route         = 'X'.
              wa_items_inx-short_text    = 'X'.
              APPEND wa_items_inx TO i_items_inx.
            ENDIF.
    *Populate Ship-to-party
            IF NOT wa_upload_2-scode IS INITIAL
               AND l_insert IS INITIAL.
              CLEAR wa_partner_inx.
              wa_partner_inx-document    = l_sales_no.
              wa_partner_inx-itm_number  = wa_items-posnr.
              wa_partner_inx-updateflag  = 'U'.
              wa_partner_inx-partn_role  = c_we.
              wa_partner_inx-p_numb_new  = wa_upload_2-scode.
              wa_partner_inx-refobjtype  = l_bus_object.
              APPEND wa_partner_inx TO i_partner_inx.
            ENDIF.
    Bill to Party
            IF NOT wa_upload_2-bparty IS INITIAL
               AND l_insert IS INITIAL.
              CLEAR wa_partner_inx.
              wa_partner_inx-document    = l_sales_no.
              wa_partner_inx-itm_number  = wa_items-posnr.
              wa_partner_inx-updateflag = 'U'.
              wa_partner_inx-partn_role  = c_re.
              wa_partner_inx-p_numb_new  = wa_upload_2-bparty.
              wa_partner_inx-refobjtype  = l_bus_object.
              APPEND wa_partner_inx TO i_partner_inx.
            ENDIF.
    Payer
            IF NOT wa_upload_2-payer IS INITIAL
               AND l_insert IS INITIAL.
              CLEAR wa_partner_inx.
              wa_partner_inx-document    = l_sales_no.
              wa_partner_inx-itm_number  = wa_items-posnr.
              wa_partner_inx-updateflag  = 'U'.
              wa_partner_inx-partn_role  = c_rg.
              wa_partner_inx-p_numb_new  = wa_upload_2-payer.
              wa_partner_inx-refobjtype  = l_bus_object.
              APPEND wa_partner_inx TO i_partner_inx.
            ENDIF.
    Sales Rep
            IF NOT wa_upload_2-salesrep IS INITIAL
               AND l_insert IS INITIAL.
              CLEAR wa_partner_inx.
              wa_partner_inx-document    = l_sales_no.
              wa_partner_inx-itm_number  = wa_items-posnr.
              wa_partner_inx-updateflag  = 'U'.
              wa_partner_inx-partn_role  = c_ys.
              wa_partner_inx-p_numb_new  = wa_upload_2-salesrep.
              wa_partner_inx-refobjtype  = l_bus_object.
              APPEND wa_partner_inx TO i_partner_inx.
            ENDIF.
    Populate schedule Line
            CLEAR : l_datum,
                    wa_sch_in.
    For following condition types, schedule lines not required
            IF wa_upload_2-auart EQ 'ZY16' OR
               wa_upload_2-auart EQ 'ZY17' OR
               wa_upload_2-auart EQ 'ZY30' OR
               wa_upload_2-auart EQ 'ZY31'.
            ELSE.
              wa_sch_in-itm_number =  wa_items-posnr.
              wa_sch_in-sched_line =  '0001'.
              wa_sch_in-req_qty    =  wa_upload_2-kwmeng.
              IF NOT wa_upload_2-vdatu IS INITIAL.
               REPLACE ALL OCCURRENCES OF '.' IN wa_upload_2-vdatu WITH ' '.
                CONDENSE wa_upload_2-vdatu NO-GAPS.
                CLEAR : l_datum.
                l_datum =  wa_upload_2-vdatu.
                wa_sch_in-req_date = l_datum.
              ENDIF.
              APPEND wa_sch_in TO i_sch_in.
              CLEAR wa_sch_inx.
              wa_sch_inx-itm_number    = wa_items-posnr.
              wa_sch_inx-sched_line    = '0001'.
             IF wa_upload_2-oreason = 'C'.
               wa_sch_inx-updateflag    = c_i.
             ELSE.
              wa_sch_inx-updateflag    = 'U'.
             ENDIF.
              wa_sch_inx-req_qty       = 'X'.
              wa_sch_inx-req_date      = 'X'.
              APPEND wa_sch_inx TO i_sch_inx.
            ENDIF.
            CLEAR : wa_upload_2,
                    wa_items_in,
                    wa_items,
                    wa_items_inx,
                    wa_sch_in,
                    wa_sch_inx.
          ENDLOOP.    "LOOP AT i_upload to wa_UPLOAD_2
    Change Sales Order
          CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
            EXPORTING
              salesdocument               = l_sales_no
              order_header_in             = wa_header_in
              order_header_inx            = wa_header_inx
              SIMULATION                  =
              BEHAVE_WHEN_ERROR           = ' '
              INT_NUMBER_ASSIGNMENT       = ' '
              LOGIC_SWITCH                =
              TABLES
              return                      = i_return
              order_item_in               = i_items_in
              order_item_inx              = i_items_inx
             partners                    = i_partner
              partnerchanges              = i_partner_inx
              PARTNERADDRESSES            =
              ORDER_CFGS_REF              =
              ORDER_CFGS_INST             =
              ORDER_CFGS_PART_OF          =
              ORDER_CFGS_VALUE            =
              ORDER_CFGS_BLOB             =
              ORDER_CFGS_VK               =
              ORDER_CFGS_REFINST          =
              schedule_lines              = i_sch_in
              schedule_linesx             = i_sch_inx
              ORDER_TEXT                  =
              ORDER_KEYS                  =
              conditions_in               = i_cond
              conditions_inx              = i_cond_inx
              EXTENSIONIN                 =
    COMMIT
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
             EXPORTING
               wait   = ' '
            IMPORTING
              return = wa_commit.
          WAIT UP TO 5 SECONDS.
    Best regards,
    Prashant

  • Change of ship-to party right before dispatch on delivery (not order)

    have a client that consistently has to change the ship-to party right before dispatch. the client has customers that are dealers, who in turn have sub-dealers. the dealers very rarely accept shipment to their address, they want the delivery posted to the sub-dealers and this can change at the last minute. as of right now, the addresses for sub-dealers is not maintained by the client, but they would like to have this option.
    i would like to maintain the address of the sub-dealers. but once the delivery document is created the ship-to party is greyed out, how would i change this, so i can enter a new ship-to party? the address changes last minute, but after the delivery has been created.
    thanks in advance!

    Hi
    In standard SAP it is not possible.
    Once , you create a Delivery document, you can not change the Ship-to-party. Ship-to-party is a Header data in Delivery.
    If you want the change then you have to delete the Delivery.
    Make your client understand that it is not only Ship-to-party, so many other  related data will get redetermine once the Ship-to-party is changed.
    For example, When Ship-to-party is changed, Route will be redetermined, Tax will be redetermined, partial delivery agreement may be different etc.
    The new Ship-to-party may have a choice of different Plant also.
    Normally, the above data are determined in Sales order, therefore you can change those in Sales order only and NOT possible to change in the Delivery document.

  • Change of ship-to party right before dispatch

    have a client that consistently has to change the ship-to party right before dispatch. the client has customers that are dealers, who in turn have sub-dealers. the dealers very rarely accept shipment to their address, they want the delivery posted to the sub-dealers and this can change at the last minute. as of right now, the addresses for sub-dealers is not maintained by the client, but they would like to have this option. so, a 2 part question, do we have to maintain the addresses for the sub-dealers or can we use them as a one-time customer? and 2, how would be change the ship-to address last minute right before dispatch?
    thanks a bunch!

    Hi Astro, 
    Option 1 - Since most of the Deliveries are shipped to the Sub Dealers, it is better to maintain Ship to Party Master Record for these Sub dealers and assign the same to the Sold to Party. Here, you have to justify the correct Ship to Party and maintain or change in Sales Order before the Delivery is created.
    Option 2 - Maintain one single Ship to Party for all the Sub Dealers and you can change the address of the Ship to party as required at the last minute before goods issue.
    Hope this will be helpful to u. let me know if anything.
    Rgds,
    Ravi.

  • Get the Ship-to-Party from Sales Order and Line item

    Hi all,
    I am developing one report in which I want to get the Ship-to-Party for a particular Sales Order and Sales Order Line item number.
    I can see table VBPA from I can get value of KUNNAR and so on. But my concern is that can the Ship-to-Party differ for different line items for sales Order, if yes how to get that one, any table or any function module?
    In my scenario i found out that ship-to-party only depend upon sales order and partner function not line item.
    please help me..
    regards,
    vikas.

    Hi,
    First step: Customer Creation (T. Code: XD01)
    i) Create Sold to Party (Ordering Party) with Account Group: Sold-to-Party
    ii) Create as many Ship-to-Party and Bill-to Party, if reqd, with Account appropriate Account Groups.
    iii) Match all the Ship-to-party/ Bill-to-Party/ Payer for the respective Sold-to-Party under Tab: Sales Area data, Sub-tab: Partners.
    Second Step: Sales Order Creation (T.Code: VA01)
    i) Enter Sold-to-Party at Header Level.
    ii) Enter Materials (at Line-item level).
    iii) Now, System will pop-up all the Ship-to-Party/ Bill-to Party/ Payer, Matched for the particular Sold-to-Party. Click on appropriate selection.
    OR
    Now, (if option doesn't pops-up) select the line and Double Click on to the same line. it will lead to the next page. Here, Click Tab: Partners
    Now, in Column: Partner Function, search for appropriate Partner: Ship-to-Party or Bill-to-Party or Payer.
    Remember: Sold-to-Party will be non-editable as entered at Header level.
    Repeat the same for Each Line-item.
    Regs,
    Amit K. Yadav

  • Change of Ship-to-party address in IC WebClient

    Dear Guru's,
    Acc. my business requirement i need to configure IC-webclient,
    Scenario1:- End User should be able to change the Ship-to-party address (on customers request) thru IC-Webclient. (in this scenario sold-to-party & ship-to-party are 2 different addresses.)
    can ny1 guide me on this.
    Thanx in advance
    -Nirav.

    Hi,
    Nirav
    Pull in the Transaction BP view from the transaction launcher .This will have the BP transaction which will have the details in edit mode for you .You can restrict the views with authorisations for the user.
    Hope this will resolve your Issue
    Regards
    Raj
    Don't forget to reward!!

  • Change in Ship To Party

    How to change the ship to party when PO raised and sent to vendor in the 3rd party sales?
    Edited by: Lakshmipathi on Aug 28, 2011 8:05 AM
    Please use the subject effectively

    Hi gaddammai ,
    u can change Ship to Party goto va02 tcode then Goto -> Header -> Partner...
    but u should have shipping point determination in place
    u can change any partner at sales order level only Sold to Party remains unchanged in standard sap System.
    Thanks & Regards,
    Deepaks

  • SPL block when changing the Address manually at Sales order level

    Hello all,  I hope every one doing well
    I am facing one problem in SAP system, when I am chanigng the Partner address at sales order level , system giving the SPL block , without screening even though the customer is a good customer.
    I checked in Img: GTS -> SAP Compliance Management->"Sanctioned Party List Screening" Service->Control Settings for "Sanctioned Party List Screening" Service->Sanctioned Party List Screening Strategy for Customs Docs tested with  as " Status check of unchanged Addresses( Partner Address) and New check of changed Addresses.
    I didn't find any difference. Sales order getting block for the above cases when changing the Address at Sales/Create document level.
    Please let me know  how to resolve it.
    Is it related to configuration  if yes how  ? pr
    do we  have any OSS Notes to Rescreen the Sales orders with compliace even though changing the Address at sales order level ( ship to party address changes like Name, city, email id, of fax )?
    or
    do we need to do the Enhancement for Rescreening when changing the ship to party adress (changes like Name, city, email id, of fax )
    manually at sales order level ?
    Thanks in Advance
    NVR

    hello Sameer,
    1. Whether your Embargo service is activated for the Country of Plant from which your order is getting shipped. -- Yes I have activated the Country under Embargo list.
    2. Whether the partner function for which you changing the county detail has been added in into the Partner group which is assigned to Embargo services.( GTS)-- Assinged the Sold to Party ( AG) for PGEMB2- Partner group
    3. Whether the country which u putting as Embargo has been maintianed under Embargo country list,
    - yes
    What I am doing exactly is , I am creating sales order with US customer master , but I am chaning the Country Key as Embargo country ( Ex: CU, SY, IR) at VA01 , or VA02 level Sales order header Partner tab level for Sold to party address ( changing only country key as embargo country) , not to ship to party  ( ship to party still US country key only), at that time system not blocking the sales order as embargo.
    please let me know if any once come across this sistuation..
    Thanks in advance
    NVR

  • How text will be redetermined if the ship to party is changed

    Hello,
    The test is maintaining at ship to party level and if the ship to party is changed how the text will be redetermined here in the order the text is not redetermining. kindly give the solution for redetermination on this.
    Regards,
    Kishore.a

    Hi Kishore,
    Sorry, note 784371 is not released to customer anymore.
    Please refer to note 548615, point 5 about the description of this standard system behavior.
    You want to change the SAP standard behavior described above with a user-defined modification and trigger the text determination in dependency of other fields (for example ship-to party).
    Take into account that all header texts and item texts entered manually are lost when you call you own text determination again.
    If you still want to modify, use the following include for the item
    data:
      > FV45PFAP_VBAP_FUELLEN_TEXTE
    and for the header data, use the include
      > FV45KFAK_VBAK_FUELLEN_TEXTE
    In both includes, the RV_TEXT_COPY function module is called. A user exit is not provided here.
    Ensure that the modification is retained (using transaction SPAU) when you import a new Support Package after an upgrade.
    Thanks,
    Alex

  • I want to change the settings (brightness, contrast, gamma) for my internal cam on Macbook pro. I find having to but a third party software (iglasses, webcam settings) to control basic settings as unnecessary and exploitative. Does anyone have a solution?

    I want to change the settings (brightness, contrast, gamma) for my internal cam on Macbook pro. I find having to but a third party software (iglasses, webcam settings) to control basic settings as unnecessary and exploitative. Does anyone have a solution?

    It is not about payment of $19.95 (Igalsses) or $7.99(webcam settings). This is a very basic setting that should be available in the system settings. The automatic setting of the internal cam does not work great on low lighting as everyone is aware.
    i am just amazed how users take in lying down and suggest solutions such as paying for a 3rd party paid app or improving the lighting in your room.

Maybe you are looking for