Обновить объем поставки через bapi

В моем бизнес-сценарии система WMS публикует GI поставок и отправляет информацию в SAP.

  • Если WMS публикует GI для всего количества ==> нет проблем
  • Если WMS публикует GI для количества ‹ количество поставки ==> проблема.
  • Я должен обновить количество поставки (LIPS-LFIMG), а затем опубликовать GI.
  • Я безуспешно пытался использовать WS_DELIVERY_UPDATE и BAPI_OUTB_DELIVERY_CHANGE.

Вы когда-нибудь сталкивались с этим случаем?


person rikymiami    schedule 04.05.2016    source источник
comment
вы установили UPDATE_PICKING в WS_DELIVERY_UPDATE? В зависимости от того, как настроен ваш процесс комплектации, вам нужно указать ПРОБЕЛ или «X» для UPDATE_PICKING, если вы хотите изменить количество. И COMMIT также должен быть «X», если вы хотите, чтобы изменения были зафиксированы в базе данных.   -  person Dirk Trilsbeek    schedule 04.05.2016
comment
Привет, Дирк, моя проблема не в комплектации (LIPS-PKIMG), а в доставленном количестве (LIPS-LFIMG).   -  person rikymiami    schedule 04.05.2016
comment
IIRC WS_DELIVERY_UPDATE и WS_DELIVERY_UPDATE2 — действительно хорошие модули, но SAP официально не выпустил их для использования. Так было, по крайней мере, 4 года назад. Замысел у них неплохой, но я думаю, что реализация неполная/глючная.   -  person icbytes    schedule 09.05.2016


Ответы (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.
person rikymiami    schedule 13.05.2016