SAP SD:VA02批量修改销售订单BAPI_SALESORDER_CHANGE

VA02修改销售订单拒绝原因的BAPI:BAPI_SALESORDER_CHANGE

摘要:该代码片段展示了使用SAP BAPI_SALESORDER_CHANGE修改销售订单拒绝原因的过程。首先定义了必要的结构体变量(i_hdr, i_hdrx)和内表(i_ret, i_itm, i_itmx),然后从VBAP表中查询指定订单号的项目数据。通过设置拒绝原因字段为'Z1',并调用BAPI函数进行更新。最后,使用UPDATE标志'U'来指示修改操作,并通过内表传递项目级别的修改内容。整个过程实现了通过BAPI批量更新销售订单项目拒绝原因的功能。

销售订单修改BAPI:BAPI_SALESORDER_CHANGE

*&---------------------------------------------------------------------*
*&      Form  rechazar
*&---------------------------------------------------------------------*
FORM rechazar .
 DATA: i_hdr  TYPE bapisdh1,
       i_hdrx TYPE bapisdh1x,
       i_ret  TYPE bapiret2 OCCURS 0 WITH HEADER LINE,
       i_itm  TYPE bapisditm OCCURS 0 WITH HEADER LINE,
       i_itmx TYPE bapisditmx  OCCURS 0 WITH HEADER LINE.


 REFRESH: i_itm, i_itmx, i_ret.
 CLEAR: i_hdr, i_hdrx.
 i_hdr-sd_doc_cat  = 'C'.
 i_hdrx-updateflag = 'U'.


 SELECT * FROM vbap
  WHERE vbeln = i_listado-vbeln.


   i_itm-itm_number = vbap-posnr.
   i_itm-reason_rej = 'Z1'.


   i_itmx-updateflag = 'U'.
   i_itmx-itm_number = vbap-posnr.
   i_itmx-reason_rej = 'X'.


   APPEND i_itm.
   APPEND i_itmx.
 ENDSELECT.


 CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
   EXPORTING
     salesdocument     = i_listado-vbeln
     order_header_in   = i_hdr
     order_header_inx  = i_hdrx
     behave_when_error = 'P'
   TABLES
     return            = i_ret
     order_item_in     = i_itm
     order_item_inx    = i_itmx.


ENDFORM.                    " rechazar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

墨码书生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值