前面说过,可以使用 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'.