使用其他收货地址创建外向交货

时间:2019-03-11 14:45:09

标签: abap

我已经搜索了几天,却一无所获。我的问题是,我必须从质量管理报告中创建退货交货。一切正常。

但是,客户希望手动更改收货地址。

流量: QM02(QM-Report)=>带有res = res.map(o => o === "hello" ? "string" : o); 的退货单(不同的地址可以正常工作)=>带有function summation() { sum=0 for((i=m; i<=n; i++)) { sum=$((sum+i)) } echo $sum } read m n; summation $m $n 的交货单(与PO不同的地址不起作用)

我的问题: 是否可以更改外向交货的交货地址?我必须实施BADI还是有一个简单的解决方案?

如果有什么遗漏,我将更新问题。

2 个答案:

答案 0 :(得分:1)

功能BAPI_OUTB_DELIVERY_CREATE_STO允许您从PO创建交货,但是您不能处理许多交货字段。

创建交货后,应使用WS_DELIVERY_UPDATE_2函数更新任何字段。

这不是BAPI,因此没有足够的文档记录,但已广泛用于这些更改。

最诚挚的问候

更新

这是一个片段:

ls_vbkok-vbeln_vl = <delivery number>.
ls_partners-vbeln_vl = ls_vbkok-vbeln_vl.
ls_partners-parvw = 'WE'.
ls_partners-parnr = <partner number>.
ls_partners-updkz_par = 'U'.
ls_partners-stras = <new street address>.
append ls_partners to lt_partners.

call function 'WS_DELIVERY_UPDATE_2'
  exporting
    vbkok_wa          = ls_vbkok
    synchron          = 'X'
    commit            = 'X'
    delivery          = ls_vbkok-vbeln_vl
  tables
    vbpok_tab         = lt_vbpok
    it_partner_update = lt_partners
    prot              = lt_prot.

if lt_prot[] is not initial.
  " handle error message here
endif.

答案 1 :(得分:0)

如果您需要进行提交,并且可以在'WS_DELIVERY_UPDATE_2'之后进行提交,请尝试在新任务中调用它。 例如:

import itertools
d=dict(zip(df2.column3,df2.column4))


l=[set(itertools.chain(*[d[y] for y in x ])) for x in df1.column2.tolist()]
df1['New']=l
 

call function 'WS_DELIVERY_UPDATE_2' STARTING NEW TASK task
  PERFORMING return_fm ON END OF TASK
  exporting
    vbkok_wa          = ls_vbkok
    synchron          = 'X'
    commit            = ' '
    delivery          = ls_vbkok-vbeln_vl
  tables
    vbpok_tab         = lt_vbpok
    it_partner_update = lt_partners
    prot              = lt_prot.


*your code
WAIT UNTIL get_executed <> space.

相关问题