SAP 刪除銷售訂單行
阿新 • • 發佈:2021-12-08
DATA: ORDER_HEADER_INX TYPE BAPISDH1X, GT_ORDER_ITEM_IN TYPE STANDARD TABLE OF BAPISDITM, LS_ORDER_ITEM_IN TYPE BAPISDITM, GT_ORDER_ITEM_INX TYPE STANDARD TABLE OF BAPISDITMX, LS_ORDER_ITEM_INX TYPE BAPISDITMX, GT_RETURN TYPE STANDARD TABLE OF BAPIRET2, LS_RETURNTYPE BAPIRET2, LV_ITM_NUMBER TYPE BAPISDITM-ITM_NUMBER, LV_UPDATEFLAG TYPE BAPISDITMX-UPDATEFLAG. LV_UPDATEFLAG = 'D'. ORDER_HEADER_INX-UPDATEFLAG = 'U'. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "字首補零 EXPORTING INPUT = 銷售訂單行號 IMPORTING OUTPUT = LV_ITM_NUMBER. LS_ORDER_ITEM_IN-ITM_NUMBER = LV_ITM_NUMBER. LS_ORDER_ITEM_INX-ITM_NUMBER = LV_ITM_NUMBER. LS_ORDER_ITEM_INX-UPDATEFLAG = LV_UPDATEFLAG. APPEND LS_ORDER_ITEM_IN TO GT_ORDER_ITEM_IN. APPEND LS_ORDER_ITEM_INX TO GT_ORDER_ITEM_INX. CALL FUNCTION 'BAPI_SALESORDER_CHANGE' EXPORTING SALESDOCUMENT= 銷售訂單號 ORDER_HEADER_INX = ORDER_HEADER_INX TABLES RETURN = GT_RETURN ORDER_ITEM_IN = GT_ORDER_ITEM_IN ORDER_ITEM_INX = GT_ORDER_ITEM_INX . READ TABLE GT_RETURN TRANSPORTING NO FIELDS WITH KEY TYPE = 'E'. IF SY-SUBRC = 0. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. EV_FLG = 'E'. LOOP AT GT_RETURN INTO LS_RETURN WHERE TYPE = 'E'. EV_MSG = |{ EV_MSG } { LS_RETURN-MESSAGE }|. CLEAR:LS_RETURN. ENDLOOP. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. EV_FLG = 'S'. EV_MSG = '刪除成功'. ENDIF.