1. 程式人生 > 其它 >SAP 刪除銷售訂單行

SAP 刪除銷售訂單行

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_RETURN           
TYPE 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.