0
点赞
收藏
分享

微信扫一扫

删除外向交货单 BAPI_OUTB_DE…

Xin_So 2022-06-10 阅读 72

删除外向交货单是没有直接以delete结尾的bapi的,是使用的change:BAPI_OUTB_DELIVERY_CHANGE


已经过账的交货单应该是先冲销,再删除,这里暂时不写了。 仅考虑没过帐的交货单。

一般而言,做删除操作都是打删除标记, 但是交货单(未过账)的是直接物理删除(前台和bapi同样是物理删除)。

删除的参考代码: 【原URL地址:https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=79954245】

Change outbound delivery (VL02)


 To delete the outbound delivery pass VBRP-VGBEL (Document number of the reference document) to the function module & set dlv_del flag 'X'. To check the functionality of the function module go to ME23N transaction, pass the purchase order number. After successfully execution of function module it will delete the delivery from ME23N transaction.


 *---declaration of BAPI


   DATA: wa_hdata    LIKE bapiobdlvhdrchg,


         wa_hcont    LIKE bapiobdlvhdrctrlchg,


         d_delivy    LIKE bapiobdlvhdrchg-deliv_numb,


         it_bapiret2 LIKE bapiret2 OCCURS 0 WITH HEADER LINE.


 Loop at it_vbrp.


CLEAR: wa_hdata, wa_hcont, d_delivy, it_bapiret2.


     wa_hdata-deliv_numb = it_vbrp-vgbel.


     wa_hcont-deliv_numb = it_vbrp-vgbel.


     wa_hcont-dlv_del    = c_x.


     d_delivy            = it_vbrp-vgbel.


*---Deleting delivery doc (VL02)


     CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'


       EXPORTING


         header_data    = wa_hdata


         header_control = wa_hcont


         delivery       = d_delivy


       TABLES


         return         = it_bapiret2.


 *---commit


       CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'


         EXPORTING


           wait = 'X'.


Endloop.


最后感谢好友 彭 提供的参考代码。



举报

相关推荐

0 条评论