为了VD51功能的批量处理,在网上找了很多的内容都没有详细的BAPI可以用?
后来查询到有一个函数“ RV_CUSTOMER_MATERIAL_UPDATE ”可以使用?
但是没有具体的用法?经过自己的总结如下:
*----------------------------------------------------------------------*
***INCLUDE ZRSD0042_FRM_INSER_DATAF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_INSER_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form frm_inser_data .
call function 'RV_CUSTOMER_MATERIAL_UPDATE'
tables
xknmt_tab = gt_xknmt "这个是需要Insert的物料表
yknmt_tab = gy_xknmt "这个是需要删除的物料
tcatalog_tab = gt_tcatalog. "文本信息
commit work.
endform. " FRM_INSER_DATA
使用这个函数时, updkz 这个更新标示要设置正确才可以。
否则会有错误。
*----------------------------------------------------------------------*
***INCLUDE ZRSD0042_FRM_FILL_TABLE_XKNF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_FILL_TABLE_XKNMT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_BOARD text
*----------------------------------------------------------------------*
form frm_fill_table_xknmt.
data:p_kdmat like knmt-kdmat.
loop at gt_board into gw_board.
gw_xknmt-vkorg = gw_board-vkorg.
gw_xknmt-vtweg = gw_board-vtweg.
gw_xknmt-kunnr = gw_board-kunnr.
gw_xknmt-matnr = gw_board-matnr.
gw_xknmt-kdmat = gw_board-kdmat.
gw_xknmt-postx = gw_board-postx.
* 判断是否有客户物料信息
select single kdmat into p_kdmat from knmt
where vkorg = gw_board-vkorg and vtweg = gw_board-vtweg and kunnr = gw_board-kunnr
and matnr = gw_board-matnr.
if sy-subrc eq 0.
gw_xknmt-updkz = 'U'. "Update
else.
gw_xknmt-updkz = 'I'. "Insert
endif.
append gw_xknmt to gt_xknmt.
* gw_xknmt-updkz = 'D'. "如果是需要删除数据,要设置成D
gw_xknmt-updkz = ' '. "如果是Update或者是Insert数据,需要设置为空。
append gw_xknmt to gy_xknmt.
clear gw_xknmt.
endloop.
endform. " FRM_FILL_TABLE_XKNMT