首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用不同的发货地址创建出站交货

使用不同的发货地址创建出站交货
EN

Stack Overflow用户
提问于 2019-03-11 22:45:09
回答 2查看 935关注 0票数 1

我找了好几天,什么也没找到。我的问题是,我必须从QM报告中创建一个退货交付。一切都很好。

但是,客户希望手动更改递送地址。

流程: QM02 (QM报告)使用BAPI_PO_CREATE1的=>退货订单(不同地址可以正常工作)使用BAPI_OUTB_DELIVERY_CREATE_STO的=>交付(与PO不同的地址不起作用)

我的问题是:是否有可能更改外发的发货地址?我是必须实现BADI,还是有一个简单的解决方案?

如果遗漏了什么,我会更新问题。

EN

回答 2

Stack Overflow用户

发布于 2019-03-12 00:18:30

Function BAPI_OUTB_DELIVERY_CREATE_STO允许您从PO创建交付,但您不能处理许多交付字段。

在创建交付之后,您应该使用WS_DELIVERY_UPDATE_2函数来更新任何字段。

这不是一个BAPI,因此没有很好的文档记录,但被广泛用于这些更改。

诚挚的问候

更新

下面是一段代码:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2019-03-13 21:41:43

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

代码语言:javascript
复制
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.

代码语言:javascript
复制
FORM return_fm   USING i_taskname.
*your code
  get_executed = 'X'.
ENDFORM.                     

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55104424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档