BAPI_PO_CHANGE

BAPI_PO_CHANGE 其实理解为函数即可,系统内置函数,来修改一些记录信息

任何erp系统都不建议用update更新数据库,因为你不知道这个表是否和其他表有关联,触发器等,所以sap 通过内置bapi函数可以来触发一些修改

以下是以修改采购订单的供应商料号为例子

DATA:w_poheader TYPE bapimepoheader.
DATA:w_po_number TYPE bapimepoheader-po_number.
DATA:t_item TYPE STANDARD TABLE OF bapimepoitem WITH HEADER LINE,
w_item TYPE bapimepoitem,
t_itemx TYPE STANDARD TABLE OF bapimepoitemx WITH HEADER LINE,
w_itemx TYPE bapimepoitemx .
DATA:t_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE,
w_return TYPE bapiret2.

w_po_number = '0045180002'.
w_item-po_item = '00010'.
w_item-matl_group = '0050-06'.
w_item-vend_mat = '1111'.
APPEND w_item TO t_item.

w_itemx-po_item = '00010'.
w_itemx-po_itemx = 'X'.
w_itemx-vend_mat = 'X'.        --需要修改的数据,此处要 打 X
APPEND w_itemx TO t_itemx.
CLEAR:w_item,w_itemx.

CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = w_po_number
TABLES
return = t_return
poitem = t_item
poitemx = t_itemx.

READ TABLE t_return INTO w_return WITH KEY type = 'E'.
IF sy-subrc = '0'.
w_show-message = w_return-message.
w_show-result = w_return-type.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
.
ELSE.
READ TABLE t_return INTO w_return WITH KEY type = 'S'.
w_show-message = w_return-message.
w_show-result = w_return-type.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.

作者: 轻烟随风
当前文章地址: https://www.zyxpp.com/bapi_po_change/
来源: 轻烟随风的博客
文章版权归作者所有,欢迎转载
THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录