* create a return order given sales order * and update the return order with order reason DATA lv_vbeln TYPE vbak-vbeln. DATA lt_return TYPE STANDARD TABLE OF bapiret2 WITH EMPTY KEY. DATA ls_header_in TYPE bapisdh1. DATA ls_header_inx TYPE bapisdh1x. CALL FUNCTION 'BAPI_SALESDOCUMENT_COPY' EXPORTING salesdocument = '3000071300' documenttype = 'ABC' IMPORTING salesdocument_ex = lv_vbeln TABLES return = lt_return. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = abap_true. ls_header_in-ord_reason = 'ABC'. ls_header_inx-updateflag = 'U'. ls_header_inx-ord_reason = abap_true. CALL FUNCTION 'BAPI_SALESORDER_CHANGE' EXPORTING salesdocument = lv_vbeln order_header_in = ls_header_in order_header_inx = ls_header_inx TABLES return = lt_return. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = abap_true. BREAK-POINT.