Hi experts,
If I run below report, it's successful.But i use SE37 to run 'BAPI_SALESORDER_CHANGE' and 'BAPI_TRANSACTION_COMMIT', it's failed. All parameters are same.I need you help.
REPORT ZTEST001.
PARAMETERS: P_VBELN TYPE VBAK-VBELN.
DATA: T_LINE LIKE BAPISDITM OCCURS 0 WITH HEADER LINE.
DATA: T_LINEX LIKE BAPISDITMX OCCURS 0 WITH HEADER LINE.
DATA: T_EXTEN LIKE BAPIPAREX OCCURS 0 WITH HEADER LINE.
DATA: T_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
DATA: BAPE_VBAP LIKE BAPE_VBAP.
DATA: BAPE_VBAPX LIKE BAPE_VBAPX.
DATA: ORDER_HEADERX LIKE BAPISDH1X.
DATA: BAPE_VBAK LIKE BAPE_VBAK.
DATA: BAPE_VBAKX LIKE BAPE_VBAKX.
DATA: W_RETURN LIKE BAPIRET2.
ORDER_HEADERX-UPDATEFLAG = 'U'.
T_LINE-ITM_NUMBER = '000010'.
APPEND T_LINE.
T_LINEX-ITM_NUMBER = '000010'.
T_LINEX-UPDATEFLAG = 'U'.
APPEND T_LINEX.
DATA: T_COND LIKE BAPICOND OCCURS 0 WITH HEADER LINE,
T_CONDX LIKE BAPICONDX OCCURS 0 WITH HEADER LINE.
T_COND-ITM_NUMBER = '000010'.
T_COND-COND_TYPE = 'YA9M'.
T_COND-COND_VALUE = '1234'.
T_COND-CURRENCY = 'USD'.
T_COND-COND_UNIT = 'PC'.
APPEND T_COND.
T_CONDX-ITM_NUMBER = '000010'.
T_CONDX-COND_TYPE = 'YA9M'.
T_CONDX-UPDATEFLAG = 'U'.
T_CONDX-COND_VALUE = 'X'.
T_CONDX-CURRENCY = 'X'.
T_CONDX-COND_UNIT = 'X'.
APPEND T_CONDX.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = p_vbeln
order_header_inx = ORDER_HEADERX
tables
return = T_RETURN
ORDER_ITEM_IN = T_LINE
ORDER_ITEM_INX = T_LINEX
CONDITIONS_IN = T_COND
CONDITIONS_INX = T_CONDX.
call function 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
.
CLEAR: W_RETURN.
LOOP AT T_RETURN INTO W_RETURN.
WRITE: W_RETURN-MESSAGE,/.
ENDLOOP.
Regards,
Kelvin