ABAP-刪除銷售訂單
FUNCTIONzsd_fm_036.
*"----------------------------------------------------------------------
*"*"本地介面:
*"IMPORTING
*"REFERENCE(VBELN_IN)TYPEVBELN_VA
*"EXPORTING
*"REFERENCE(VBELN_OUT)TYPEVBELN_VA
*"REFERENCE(STATUS)TYPECHAR1
*"REFERENCE(MSG)TYPECHAR50
*"----------------------------------------------------------------------
DATA:ls_vbakTYPEvbak,lt_vbakTYPETABLEOFvbak.
DATA:f_headinxLIKEbapisdh1x,
t_retTYPETABLEOFbapiret2,
l_retTYPEbapiret2,
lv_vbelnTYPEbapivbeln-vbeln.
lv_vbeln=vbeln_in.
CLEAR:f_headinx.
IFlv_vbelnISNOTINITIAL.
f_headinx-updateflag='D'.
CALLFUNCTION'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument=lv_vbeln
order_header_inx=f_headinx
TABLES
return=t_ret.
READTABLEt_retINTOl_retWITHKEYtype='S'.
IFsy-subrcEQ0.
COMMITWORKANDWAIT.
ELSE.
ROLLBACKWORK.
ENDIF.
ENDIF.
SELECTSINGLE*INTOls_vbakFROMvbakWHEREvbeln=lv_vbeln.
IFls_vbakISINITIAL.
vbeln_out=lv_vbeln.
status='S'.
msg='刪除成功!'.
ELSE.
vbeln_out=lv_vbeln.
status='E'.
LOOPATt_retINTOl_retWHEREtypeEQ'E'.
msg=msg&&l_ret-message.
ENDLOOP.
ENDIF.
ENDFUNCTION.