BAPI 更改交货单 & 更改捡配 ‘BAPI_OUTB_DELIVERY_CHANGE‘

REPORT  z_update_delivery.

TABLES likp.
PARAMETERS p_del LIKE likp-vbeln DEFAULT ''.

DATA:
str_header_data LIKE bapiobdlvhdrchg,
str_header_control LIKE bapiobdlvhdrctrlchg.

DATA it_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.
DATA it_header_deadlines TYPE STANDARD TABLE OF bapidlvdeadln
WITH HEADER LINE.

DATA :item_data LIKE bapiobdlvitemchg OCCURS 0 WITH HEADER LINE,
      item_control LIKE bapiobdlvitemctrlchg OCCURS 0 WITH HEADER LINE,
      wa_lips LIKE lips OCCURS 0 WITH HEADER LINE.

DATA: v_16(16) TYPE c.

DATA v_del LIKE bapiobdlvhdrchg-deliv_numb.
SELECT SINGLE * FROM likp WHERE vbeln = p_del.
CONCATENATE sy-datum sy-uzeit INTO v_16.


*str_HEADER_DATA-GROSS_WT
*UNIT_OF_WT_ISO
*VOLUMEUNIT_ISO

str_header_data-unload_pt = likp-ablad.
str_header_data-unit_of_wt = likp-gewei.
str_header_data-incoterms1 = likp-inco1.
str_header_data-incoterms2 = likp-inco2.
str_header_data-door = likp-lgtor.
str_header_data-dlv_block = likp-lifsk.
str_header_data-dlv_prio = likp-lprio.
str_header_data-net_weight = likp-ntgew.
str_header_data-route = likp-route.
str_header_data-deliv_numb = likp-vbeln.
str_header_data-volumeunit = likp-voleh.
str_header_data-volume = likp-volum.
str_header_data-ship_cond = likp-vsbed.

v_del = likp-vbeln.
str_header_data-deliv_numb = likp-vbeln.
str_header_control-gdsi_date_flg = 'X'.
it_header_deadlines-timetype = 'WSHDRWADTI'.
it_header_deadlines-timestamp_utc = v_16.
APPEND it_header_deadlines.

SELECT  * INTO wa_lips FROM lips WHERE vbeln = p_del.
   item_data-deliv_numb = wa_lips-vbeln.
   item_data-deliv_item = wa_lips-posnr.
   item_data-material = wa_lips-matnr.
   item_data-batch = wa_lips-charg.
   item_data-dlv_qty = 2.
   item_data-dlv_qty_imunit = 2.
   item_data-fact_unit_nom = wa_lips-umvkz.
   item_data-fact_unit_denom = wa_lips-umvkn.
   item_data-conv_fact = wa_lips-umref.
   item_data-gross_wt = wa_lips-brgew.
   item_data-net_weight = wa_lips-ntgew.
   item_data-unit_of_wt = wa_lips-gewei.
   item_data-volumeunit = wa_lips-voleh.
   item_data-sales_unit = wa_lips-vrkme.
   item_data-base_uom = wa_lips-meins.
   item_data-stock_type = wa_lips-insmk.
   item_data-val_type = wa_lips-bwtar.
   item_data-insplot = wa_lips-qplos.
   item_data-volume = wa_lips-volum.
  APPEND item_data.

   item_control-deliv_numb = wa_lips-vbeln.
   item_control-deliv_item = wa_lips-posnr.
   item_control-chg_delqty = 'X'.
  APPEND item_control.
ENDSELECT.


CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
  EXPORTING
    header_data      = str_header_data
    header_control   = str_header_control
    delivery         = v_del
  TABLES
    header_deadlines = it_header_deadlines
    item_data        = item_data
    item_control     = item_control
    return           = it_return.
COMMIT WORK.


*& 更改拣配数量
DATA:vbkok_wa TYPE vbkok,
     vbpok_tab TYPE vbpok OCCURS 0 WITH HEADER LINE,
     xlips TYPE lips OCCURS 0 WITH HEADER LINE .
CLEAR: vbkok_wa, vbpok_tab, xlips.
REFRESH: vbpok_tab, xlips.

vbkok_wa-vbeln_vl = p_del.


SELECT * FROM lips INTO TABLE xlips
WHERE vbeln = vbkok_wa-vbeln_vl.

LOOP AT xlips.
   CLEAR: vbpok_tab.
   vbpok_tab-vbeln_vl = xlips-vbeln.
   vbpok_tab-posnr_vl = xlips-posnr.
   vbpok_tab-vbeln = xlips-vbeln.
   vbpok_tab-posnn = xlips-posnr.
*vbpok_tab-vbtyp_n = 'Q'.
   vbpok_tab-pikmg = xlips-lfimg.
   vbpok_tab-meins = xlips-meins.
   vbpok_tab-ndifm = 0.
   vbpok_tab-taqui = ' '.
   vbpok_tab-charg = xlips-charg.
   vbpok_tab-matnr = xlips-matnr.
   vbpok_tab-orpos = 0.
  APPEND vbpok_tab.
ENDLOOP.

CALL FUNCTION 'SD_DELIVERY_UPDATE_PICKING'
EXPORTING
vbkok_wa = vbkok_wa
synchron = 'X'
* NO_MESSAGES_UPDATE = ' '
* NICHT_SPERREN = ' '
* AUFRUFER_T = ' '
* IF_ERROR_MESSAGES_SEND = 'X'
TABLES
vbpok_tab = vbpok_tab
.

COMMIT WORK AND WAIT.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChampaignWolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值