Application Development and Automation 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: 
Read only

A question about 'BAPI_CUSTOMERCONTRACT_CHANGE'

Former Member
0 Likes
624

Hi experts,

I want to use 'BAPI_CUSTOMERCONTRACT_CHANGE' to set the cancellation reason on a contract.when I execute below coding, the return message tell me that is successfully.But according to VA43,I found the cancellation reason hasn't changed.Please give me some advice.Many thanks!Below is my coding.

data: g_HEADER_IN type BAPISDH1,

g_CONTRACT_HEADER_INX type BAPISDH1X,

g_CONTRACT_DATA like table of BAPICTR,

wa_CONTRACT_DATA like BAPICTR,

g_CONTRACT_DATA_INX like table of BAPICTRX,

wa_CONTRACT_DATA_INX like BAPICTRX,

g_return like table of BAPIRET2,

wa_return like BAPIRET2.

data: contractitemin LIKE bapisditm OCCURS 0 WITH HEADER LINE,

contractiteminx LIKE bapisditmx OCCURS 0 WITH HEADER LINE.

g_CONTRACT_HEADER_INX-UPDATEFLAG = 'U'.

contractitemin-itm_number = '000010'.

APPEND contractitemin.

contractiteminx-itm_number = '000010'.

contractiteminx-updateflag ='U'.

APPEND contractiteminx.

wa_CONTRACT_DATA-ITM_NUMBER = '000010'.

wa_CONTRACT_DATA-CANCREASON = 'B'.

wa_CONTRACT_DATA-CANC_R_DAT = sy-datum.

wa_CONTRACT_DATA-R_CANC_DAT = sy-datum.

append wa_CONTRACT_DATA to g_CONTRACT_DATA.

wa_CONTRACT_DATA_INX-ITM_NUMBER = '000010'.

wa_CONTRACT_DATA_INX-UPDATEFLAG = 'U'.

wa_CONTRACT_DATA_INX-CANCREASON = 'X'.

wa_CONTRACT_DATA_INX-CANC_R_DAT = 'X'.

wa_CONTRACT_DATA_INX-R_CANC_DAT = 'X'.

append wa_CONTRACT_DATA_INX to g_CONTRACT_DATA.

data: g_salesnumber like BAPIVBELN-VBELN.

g_salesnumber = '0030029885'.

CALL FUNCTION 'BAPI_CUSTOMERCONTRACT_CHANGE'

EXPORTING

SALESDOCUMENT = g_salesnumber

CONTRACT_HEADER_IN = g_HEADER_IN

CONTRACT_HEADER_INX = g_CONTRACT_HEADER_INX

TABLES

RETURN = g_return

CONTRACT_ITEM_IN = contractitemin

CONTRACT_ITEM_INX = contractiteminx

CONTRACT_DATA_IN = g_CONTRACT_DATA

CONTRACT_DATA_INX = g_CONTRACT_DATA_INX.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

loop at g_return into wa_return.

write: wa_return-MESSAGE,/.

endloop.

Hi experts,

I want to use 'BAPI_CUSTOMERCONTRACT_CHANGE' to set the cancellation reason on a contract.when I execute below coding, the return message tell me that is successfully.But according to VA43,I found the cancellation reason hasn't changed.Please give me some advice.Many thanks!Below is my coding.

data: g_HEADER_IN type BAPISDH1,

g_CONTRACT_HEADER_INX type BAPISDH1X,

g_CONTRACT_DATA like table of BAPICTR,

wa_CONTRACT_DATA like BAPICTR,

g_CONTRACT_DATA_INX like table of BAPICTRX,

wa_CONTRACT_DATA_INX like BAPICTRX,

g_return like table of BAPIRET2,

wa_return like BAPIRET2.

data: contractitemin LIKE bapisditm OCCURS 0 WITH HEADER LINE,

contractiteminx LIKE bapisditmx OCCURS 0 WITH HEADER LINE.

g_CONTRACT_HEADER_INX-UPDATEFLAG = 'U'.

contractitemin-itm_number = '000010'.

APPEND contractitemin.

contractiteminx-itm_number = '000010'.

contractiteminx-updateflag ='U'.

APPEND contractiteminx.

wa_CONTRACT_DATA-ITM_NUMBER = '000010'.

wa_CONTRACT_DATA-CANCREASON = 'B'.

wa_CONTRACT_DATA-CANC_R_DAT = sy-datum.

wa_CONTRACT_DATA-R_CANC_DAT = sy-datum.

append wa_CONTRACT_DATA to g_CONTRACT_DATA.

wa_CONTRACT_DATA_INX-ITM_NUMBER = '000010'.

wa_CONTRACT_DATA_INX-UPDATEFLAG = 'U'.

wa_CONTRACT_DATA_INX-CANCREASON = 'X'.

wa_CONTRACT_DATA_INX-CANC_R_DAT = 'X'.

wa_CONTRACT_DATA_INX-R_CANC_DAT = 'X'.

append wa_CONTRACT_DATA_INX to g_CONTRACT_DATA.

data: g_salesnumber like BAPIVBELN-VBELN.

g_salesnumber = '0030029885'.

CALL FUNCTION 'BAPI_CUSTOMERCONTRACT_CHANGE'

EXPORTING

SALESDOCUMENT = g_salesnumber

CONTRACT_HEADER_IN = g_HEADER_IN

CONTRACT_HEADER_INX = g_CONTRACT_HEADER_INX

TABLES

RETURN = g_return

CONTRACT_ITEM_IN = contractitemin

CONTRACT_ITEM_INX = contractiteminx

CONTRACT_DATA_IN = g_CONTRACT_DATA

CONTRACT_DATA_INX = g_CONTRACT_DATA_INX.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

loop at g_return into wa_return.

write: wa_return-MESSAGE,/.

endloop.

1 REPLY 1
Read only

Former Member
0 Likes
502

REPORT y_OTC_bapi .

data: header_in like BAPISDH1 occurs 0 with header line.

data: header_inx like BAPISDH1X occurs 0 with header line.

data: return like BAPIRET2 occurs 0 with header line.

data: item_in like BAPISDITM occurs 0 with header line.

data: item_inx like BAPISDITMX occurs 0 with header line.

data: var like BAPIVBELN-VBELN value '0040000366'.

header_in-SALES_ORG = '0060'.

header_in-DISTR_CHAN = '10'.

header_in-DIVISION = '10'.

header_in-DATE_TYPE = '10242001'.

header_in-CT_VALID_F = '10242000'.

header_in-CT_VALID_T = '10312003'.

header_in-PURCH_NO_S = '054Z03M01'.

header_in-PO_DAT_S = '10312003'.

header_inx-updateflag = 'U'.

*header_inx-SALES_ORG = ''.

*header_inx-DISTR_CHAN = 'X'.

*header_inx-DIVISION = 'X'.

*header_inx-DATE_TYPE = 'X'.

*header_inx-CT_VALID_F = 'X'.

*header_inx-CT_VALID_T = 'X'.

*header_inx-PURCH_NO_S = 'X'.

*header_inx-PO_DAT_S = 'X'.

item_in-ITM_NUMBER = '000010'.

item_in-MATERIAL = '000000000022626260'.

item_in-PLANT = 'RL01'.

item_in-TARGET_QTY = '600'.

item_in-TARGET_QU = 'PC'.

*MATL_GROUP =

append item_in.

item_inx-updateflag = 'U'.

*item_inx-ITM_NUMBER = 'X'.

*item_inx-MATERIAL = 'X'.

*item_inx-PLANT = 'X'.

*item_inx-TARGET_QTY = 'X'.

*item_inx-TARGET_QU = 'X'.

**MATL_GROUP =

*append item_inx.

CALL FUNCTION 'BAPI_CUSTOMERCONTRACT_CHANGE'

EXPORTING

salesdocument = var

contract_header_in = header_in

contract_header_inx = header_inx

  • SIMULATION =

  • BEHAVE_WHEN_ERROR = ' '

  • INT_NUMBER_ASSIGNMENT = ' '

  • LOGIC_SWITCH =

  • NO_STATUS_BUF_INIT = ' '

tables

return = return

CONTRACT_ITEM_IN = item_in

CONTRACT_ITEM_INX = item_inx

  • PARTNERS =

  • PARTNERCHANGES =

  • PARTNERADDRESSES =

  • CONDITIONS_IN =

  • CONDITIONS_INX =

  • CONTRACT_CFGS_REF =

  • CONTRACT_CFGS_INST =

  • CONTRACT_CFGS_PART_OF =

  • CONTRACT_CFGS_VALUE =

  • CONTRACT_CFGS_BLOB =

  • CONTRACT_CFGS_VK =

  • CONTRACT_CFGS_REFINST =

  • CONTRACT_TEXT =

  • CONTRACT_DATA_IN =

  • CONTRACT_DATA_INX =

  • CONTRACT_KEYS =

  • EXTENSIONIN =

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

IMPORTING

RETURN = return.