1. 程式人生 > 其它 >ABAP-刪除交貨單

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.