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
343

被折叠的 条评论
为什么被折叠?



