DATA: ls_order_header TYPE bapisdhead1,
ls_order_headerx TYPE bapisdhead1x,
lt_return TYPE TABLE OF bapiret2,
ls_return TYPE bapiret2,
lv_msg(220).
ls_order_header-purch_no_c = iv_bstkd.
ls_order_headerx-updateflag = 'U'.
ls_order_headerx-purch_no_c = 'X'.
CALL FUNCTION 'BAPI_SALESDOCUMENT_CHANGE'
EXPORTING
salesdocument = iv_vbeln
order_header_in = ls_order_header
order_header_inx = ls_order_headerx
TABLES
return = lt_return.
LOOP AT lt_return INTO ls_return WHERE type CA 'EAX'.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = ls_return-id
msgnr = ls_return-number
msgv1 = ls_return-message_v1
msgv2 = ls_return-message_v2
msgv3 = ls_return-message_v3
msgv4 = ls_return-message_v4
IMPORTING
message_text_output = lv_msg.
es_return-msg = es_return-msg && lv_msg && ';'.
ENDLOOP.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
es_return-msg = text-001 && iv_vbeln && ': ' && lv_msg.
es_return-type = 'E'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
es_return-type = 'S'.
es_return-vbeln = iv_vbeln.
es_return-msg = text-001 && iv_vbeln && text-004.
ENDIF.
BAPI_SALESDOCUMENT_CHANGE修改SO范例
于 2025-01-22 08:55:40 首次发布