Skip to Content
0
Former Member
Jan 15, 2008 at 03:28 AM

Some question about 'BAPI_SALESORDER_CHANGE'

38 Views

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