客户物料信息数据的批量导入(VD51) .

为了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

你可能感兴趣的:(客户物料信息数据的批量导入(VD51) .)