前面说过,可以使用 

WS_DELIVERY_UPDATE 进行外向交货单的发货过账,当然,这个可实现的很多,过账,冲销,删除都可以

但是这个不是bapi,是个函数,则会缺少bapi自带的那些校验

为了更安全,其实建议是使用 BAPI_OUTB_DELIVERY_CONFIRM_DEC

但同时遇到一个问题,就是使用BAPI_OUTB_DELIVERY_CONFIRM_DEC发货过账,不能冲销

提示啥我忘记了,好像是什么分散啥啥的

解决办法,目前知道是在增强里去清空一个字段 增强BADI:LE_SHP_DELIVERY_PROC 方法:CHANGE_DELIVERY_HEADER 清空值:CS_LIKP -VLSTK .“分配状态(分散仓库处理)

然后再调用bapi就不会冲销不掉了

  L_HEADER_DATA -DELIV_NUMB           = PV_VBELD .

 

  L_HEADER_CONTROL -DELIV_NUMB    = PV_VBELD .

 

  L_HEADER_CONTROL -POST_GI_FLG     =  'X' .

 

  L_HEADER_CONTROL -VOLUME_FLG   =  'X' .

 "外向交货单发货过账

  CALL FUNCTION ' BAPI_OUTB_DELIVERY_CONFIRM_DEC '

    EXPORTING

       HEADER_DATA             = L_HEADER_DATA

       HEADER_CONTROL       = L_HEADER_CONTROL

       DELIVERY                       = PV_VBELD

    TABLES

*     iT_HEADER_PARTNER      =

*     iT_HEADER_PARTNER_ADDR =

*     iT_HEADER_DEADLINES    =

*     iT_ITEM_DATA           =

*     iT_ITEM_CONTROL        =

*     iT_ITEM_CODING_BLOCK   =

       RETURN              = LT_RETURN_BAPI.


  READ TABLE LT_RETURN_BAPI TRANSPORTING NO FIELDS

    WITH KEY TYPE = 'E'.