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.