通过 bapi 更新交货数量
Posted
技术标签:
【中文标题】通过 bapi 更新交货数量【英文标题】:Update delivery quantity via bapi 【发布时间】:2016-08-29 21:23:00 【问题描述】:在我的业务场景中,WMS 系统发布交货 GI 并将信息发送到 SAP。
如果 WMS 为整个数量发布 GI ==> 没问题 如果 WMS 为数量 发布 GI 问题。 我应该更新交货数量 (LIPS-LFIMG),然后发布 GI。 我尝试使用 WS_DELIVERY_UPDATE 和 BAPI_OUTB_DELIVERY_CHANGE 均未成功。你遇到过这种情况吗?
【问题讨论】:
您是否在 WS_DELIVERY_UPDATE 中设置了 UPDATE_PICKING?根据您的拣货流程设置方式,如果您想更改数量,您需要为 UPDATE_PICKING 提供空格或“X”。如果您希望将更改提交到数据库,COMMIT 也必须是“X”。 嗨,Dirk,我的问题不在于拣货 (LIPS-PKIMG),而在于交付数量 (LIPS-LFIMG)。 IIRC WS_DELIVERY_UPDATE 和 WS_DELIVERY_UPDATE2 是非常好的模块,但 SAP 并未正式发布供使用。至少 4 年前就是这种情况。他们的意图非常好,但我认为,实现不完整/错误。 【参考方案1】:我通过调用 BAPI_OUTB_DELIVERY_CHANGE 解决了这个问题 具有以下映射:
LS_HEADER_DATA-DELIV_NUMB = <FS_LIPS>-VBELN.
LS_HEADER_CONTROL-DELIV_NUMB = <FS_LIPS>-VBELN.
LV_DELIVERY = <FS_LIPS>-VBELN.
LS_ITEM_DATA-DELIV_NUMB = <FS_LIPS>-VBELN.
LS_ITEM_DATA-DELIV_ITEM = <FS_LIPS>-POSNR.
LS_ITEM_DATA-MATERIAL = <FS_LIPS>-MATNR.
LS_ITEM_DATA-BATCH = <FS_LIPS>-CHARG.
LS_ITEM_DATA-DLV_QTY = LS_VBPOK_TAB-PIKMG. ==> new quantity
LS_ITEM_DATA-DLV_QTY_IMUNIT = LS_VBPOK_TAB-PIKMG. ==> new quantity
LS_ITEM_DATA-FACT_UNIT_NOM = <FS_LIPS>-UMVKZ.
LS_ITEM_DATA-FACT_UNIT_DENOM = <FS_LIPS>-UMVKN.
LS_ITEM_DATA-CONV_FACT = <FS_LIPS>-UMREF.
LS_ITEM_DATA-GROSS_WT = <FS_LIPS>-BRGEW.
LS_ITEM_DATA-NET_WEIGHT = <FS_LIPS>-NTGEW.
LS_ITEM_DATA-UNIT_OF_WT = <FS_LIPS>-GEWEI.
LS_ITEM_DATA-VOLUMEUNIT = <FS_LIPS>-VOLEH.
LS_ITEM_DATA-SALES_UNIT = <FS_LIPS>-VRKME.
LS_ITEM_DATA-BASE_UOM = <FS_LIPS>-MEINS.
LS_ITEM_DATA-STOCK_TYPE = <FS_LIPS>-INSMK.
LS_ITEM_DATA-VAL_TYPE = <FS_LIPS>-BWTAR.
LS_ITEM_DATA-INSPLOT = <FS_LIPS>-QPLOS.
LS_ITEM_DATA-VOLUME = <FS_LIPS>-VOLUM.
APPEND LS_ITEM_DATA TO LT_ITEM_DATA.
LS_ITEM_CONTROL-DELIV_NUMB = <FS_LIPS>-VBELN.
LS_ITEM_CONTROL-DELIV_ITEM = <FS_LIPS>-POSNR.
LS_ITEM_CONTROL-CHG_DELQTY = 'X'.
APPEND LS_ITEM_CONTROL TO LT_ITEM_CONTROL.
【讨论】:
以上是关于通过 bapi 更新交货数量的主要内容,如果未能解决你的问题,请参考以下文章