二维码

[BAPI] BAPI_SALESORDER_CHANGE修改销售订单计划行报错

Twilight发表于 2018-03-30 10:50xshuangdaxia 最后回复于 2019-09-11 09:05 [复制链接] 1776 7

修改销售订单BAPI:BAPI_SALESORDER_CHANGE
注意:修改销售订单行项目数量,需要修改计划行数量才能生效如果只修改计划行信息,那么行项目最好也赋值
修改一个行项目order_item_inx-updateflag = 'U',不要同时使用D和I,先删除再添加
该BAPI执行完需要BAPI_TRANSACTION_COMMIT

大致的赋值逻辑如下:
  1. order_header_inx-updateflag = 'U'.

  2. order_item_in-itm_number     =  posnr.
  3. APPEND order_item_in.

  4. order_item_inx-itm_number     =   posnr.
  5. order_item_inx-updateflag     =  'U'.
  6. APPEND order_item_inx.

  7. schedule_lines-itm_number = posnr.
  8. schedule_lines-sched_line = 1.
  9. schedule_lines-req_qty    = kwmeng. "数量
  10. schedule_lines-sched_type = 'ZN'.   "计划行类别
  11. APPEND schedule_lines.

  12. schedule_linesx-itm_number = posnr.
  13. schedule_linesx-sched_line = 1.
  14. schedule_linesx-updateflag = 'U'.
  15. schedule_linesx-req_qty    = 'X'.
  16. schedule_linesx-sched_type = 'X'.

  17. APPEND schedule_linesx.

  18. CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
  19.   EXPORTING
  20.     salesdocument    = vbeln
  21.     order_header_inx = order_header_inx
  22.   TABLES
  23.     return           = return1
  24.     order_item_in    = order_item_in
  25.     order_item_inx   = order_item_inx
  26.     schedule_lines   = schedule_lines
  27.     schedule_linesx  = schedule_linesx.
复制代码
但是测试时,有时任然报错:Field 'ETTYP' cannot be changed, VBEPKOM XXXXXX 0001 ready for input 等等,有的订单报错,有的就能成功。

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

Shallon.Zhou
有要留言啦?
回复 支持 反对

使用道具 举报

张云妮妮
留意。
回复

使用道具 举报

xiao
谢谢分享
回复

使用道具 举报

scofield1106
hello BAPI_SALESORDER_CHANGE
回复 支持 反对

使用道具 举报

scofield1106
hello BAPI_SALESORDER_CHANGE
回复 支持 反对

使用道具 举报

AlexJ
感谢分享


回复

使用道具 举报

xshuangdaxia
谢谢楼主分享!
回复 支持 反对

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表