ABAP-刪除交貨單
FUNCTIONzsd_fm_45.
*"----------------------------------------------------------------------
*"*"本地介面:
*"IMPORTING
*"VALUE(I_VBELN_DN)LIKELIKP-VBELN
*"EXPORTING
*"VALUE(STATUS)TYPEC
*"VALUE(MESSAGE)TYPECHAR200
*"----------------------------------------------------------------------
DATA:lv_deliveryLIKEbapiobdlvhdrchg-deliv_numb,
ls_header_dataLIKEbapiobdlvhdrchg,
ls_header_controlLIKEbapiobdlvhdrctrlchg.
DATA:lt_returnLIKETABLEOFbapiret2.
DATA:ls_returnLIKELINEOFlt_return.
DATA:ls_reTYPEbapireturn.
CLEARls_header_data.
CLEARls_header_control.
CLEARlv_delivery.
CLEARlt_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.
"Deletingdeliverydoc(VL02)
CALLFUNCTION'BAPI_OUTB_DELIVERY_CHANGE'
EXPORTING
header_data=ls_header_data
header_control=ls_header_control
delivery=lv_delivery
TABLES
return=lt_return.
READTABLElt_returnINTOls_returnWITHKEYtype='E'.
IFsy-subrcNE0.
CALLFUNCTION'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait='X'.
status='S'.
message='刪除成功'.
ELSE.
CALLFUNCTION'BAPI_TRANSACTION_ROLLBACK'.
status='E'.
CLEARls_re.
CALLFUNCTION'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
.
IFsy-subrc<>0.
*Implementsuitableerrorhandlinghere
ENDIF.
message=ls_re-message.
*message='沖銷失敗:'&&ls_return-message.
ENDIF.
ENDFUNCTION.