03-15-2011 4:28 AM
Hi all.
I'd like to change the partner 'AG' (this field is VBAK-KUNNR) using BAPI_SALESORDER_CHANGE.
but I can't do it.
If you know how, please let me know.
My code is below.
-
IW_HEADER_INX-UPDATEFLAG = COS_UPDKZ_U.
CLEAR: IW_PARTNERCHANGES.
IW_PARTNERCHANGES-DOCUMENT = W_VBELN.
IW_PARTNERCHANGES-PARTN_ROLE = 'AG'.
IW_PARTNERCHANGES-P_NUMB_NEW = W_KUNNR_NEW.
IW_PARTNERCHANGES-UPDATEFLAG = 'U'.
IW_PARTNERCHANGES-P_NUMB_OLD = W_KUNNR_OLD.
APPEND IW_PARTNERCHANGES TO IT_PARTNERCHANGES.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = W_VBELN
ORDER_HEADER_IN = IW_HEADER_IN
ORDER_HEADER_INX = IW_HEADER_INX
TABLES
RETURN = IT_RETURN
PARTNERCHANGES = IT_PARTNERCHANGES
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = COS_CHAR_X.
-
Regards,
Rie.
03-15-2011 4:41 AM
Hi Rie,
You cannot change the Sold To Party on a sales order once it is created.
A suggestion when you are working with the BAPIs in future, a BAPI is almost always similar to a Tcode in its behaviour except for the screenflow. So if you cannot do it on the Tcode, you would not be able to do it via the BAPI too.
Regards,
Chen
03-15-2011 4:47 AM
Thank you for reply, Chen.
I can change the partner 'AG' in second screen header area VA02.
but it's impposible to update using 'BAPI_SALESORDER_CHANGE'?
Regards.
Rie.
03-15-2011 4:51 AM
03-15-2011 5:00 AM
Hi Rie,
My understanding is that you cannot change the Sold to party on a sales order once an order is created, could you please let me know if you have any configuration changes that allows this (i am an ABAPer) and on VA02 are you able to change the partner number for AG and save the order without error? If so, how do you get to this screen, could you post the menu path you take to get to this screen. Also what is the order type?
Regards,
Chen
03-15-2011 5:37 AM
Example :- 1
clear a_partner.
a_partner-partn_role = 'AG'.
a_partner-Partn_numb = new_kunnr.
APPEND a_partner TO partners.
CLEAR a_partnerch.
a_partnerch-DOCUMENT = vbeln_doc.
a_partnerch-updateflag = 'D'.
a_partnerch-partn_role = 'AG'.
a_partnerch-P_NUMB_OLD = old_kunnr.
a_partnerch-P_NUMB_NEW = new_kunnr.
APPEND un_partnerch TO partners.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = vbeln_doc
TABLES
partners = partners
partnerschanges = partners
return = return.
Example :- 2
DATA: I_BAPISDH1X LIKE BAPISDH1X.
DATA: BEGIN OF I_BAPIPARNR OCCURS 0.
INCLUDE STRUCTURE BAPIPARNR.
DATA: END OF I_BAPIPARNR.
DATA: BEGIN OF I_BAPIPARNRC OCCURS 0.
INCLUDE STRUCTURE BAPIPARNRC.
DATA: END OF I_BAPIPARNRC.
DATA: BEGIN OF I_BAPIRET2 OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF I_BAPIRET2.
I_BAPISDH1X-UPDATEFLAG = 'U'.
* Add ZD partner to the PARTNERS table
I_BAPIPARNR-PARTN_ROLE = 'AG'.
I_BAPIPARNR-PARTN_NUMB = P_KUNNR.
APPEND I_BAPIPARNR.
I_BAPIPARNRC-DOCUMENT = F_VBELN.
I_BAPIPARNRC-UPDATEFLAG = 'I'.
I_BAPIPARNRC-PARTN_ROLE = 'AG'.
APPEND I_BAPIPARNRC.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = F_VBELN
ORDER_HEADER_INX = I_BAPISDH1X
TABLES
RETURN = I_BAPIRET2
PARTNERS = I_BAPIPARNR
PARTNERCHANGES = I_BAPIPARNRC.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = LS_MESSAGES.