Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to change the partner 'AG' using BAPI_SALESORDER_CHANGE

Former Member
0 Kudos

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.

5 REPLIES 5

Former Member
0 Kudos

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

0 Kudos

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.

0 Kudos

Can u try the same using value SP instead of AG

0 Kudos

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

former_member182040
Active Contributor
0 Kudos

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.