ABAP-删除交货单

FUNCTION zsd_fm_45.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(I_VBELN_DN) LIKE  LIKP-VBELN
*"  EXPORTING
*"     VALUE(STATUS) TYPE  C
*"     VALUE(MESSAGE) TYPE  CHAR200
*"----------------------------------------------------------------------

  DATA:lv_delivery       LIKE  bapiobdlvhdrchg-deliv_numb,
       ls_header_data    LIKE  bapiobdlvhdrchg,
       ls_header_control LIKE  bapiobdlvhdrctrlchg.
  DATA:lt_return          LIKE TABLE OF bapiret2.
  DATA:ls_return          LIKE LINE OF lt_return.

  DATA: ls_re TYPE bapireturn.

  CLEAR ls_header_data.
  CLEAR ls_header_control.
  CLEAR lv_delivery.
  CLEAR lt_return[].

  ls_header_data-deliv_numb    = i_vbeln_dn.
  ls_header_control-deliv_numb = i_vbeln_dn.
  ls_header_control-dlv_del    'X'.
  lv_delivery                  = i_vbeln_dn.

  "Deleting delivery doc (VL02)
  CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
    EXPORTING
      header_data    = ls_header_data
      header_control = ls_header_control
      delivery       = lv_delivery
    TABLES
      return         = lt_return.

  READ TABLE lt_return INTO ls_return WITH KEY type 'E'.

  IF sy-subrc NE 0.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait 'X'.
    status  'S'.
    message '删除成功'.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' .
    status  'E'.
    CLEAR ls_re.

    CALL FUNCTION 'BALW_BAPIRETURN_GET'
      EXPORTING
        type       'E'
        cl         = ls_return-id
        number     = ls_return-number
*       PAR1       = ' '
*       PAR2       = ' '
*       PAR3       = ' '
*       PAR4       = ' '
*       LOG_NO     = ' '
*       LOG_MSG_NO = ' '
      IMPORTING
        bapireturn = ls_re
*     EXCEPTIONS
*       ONLY_2_CHAR_FOR_MESSAGE_ID       = 1
*       OTHERS     = 2
      .
    IF sy-subrc <> 0.
* Implement suitable error handling here
    ENDIF.
    message = ls_re-message.

*    message = '冲销失败:'&& ls_return-message.
  ENDIF.

ENDFUNCTION.

posted @ 2021-11-29 12:59  東東東東  阅读(371)  评论(0编辑  收藏  举报