客户物料信息数据的批量导入(VD51)
2009-12-14 13:30
381 查看
为了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
后来查询到有一个函数“ 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
相关文章推荐
- SAP-批量修改主数据(客户、供应商、物料)
- 通过excel模板批量导入数据实现过程总结
- (总结) SQL Server Bulk Insert 批量数据导入
- Excel拼装Sql语句将数据批量导入数据库
- 以CSV文件导入MySQL的批量数据插入操作之Java操作
- mysql,oracle批量导入数据
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
- redis数据批量导入导出
- 批量数据的导入与导出
- asp.net批量导入execl数据,把整个execl里面的数据都导入数据库中
- 批量导入数据时:org.apache.catalina.core.StandardWrappe...
- android数据库批量导入数据
- sql sever2005中批量导入excel表格数据(Asp.net C#)
- 把excel中的数据批量导入到mysql数据中
- ms sql 批量导入文本数据
- 【学习笔记】mysql 快速批量导入测试数据
- UPOP数据统计系统中的批量导入数据功能
- oracle数据泵导入分区表统计信息报错(三)
- zimbra邮件系统批量导入账户信息,包括显示名,公司名称,姓,手机号码等
- mysql使用load file导出导入[大]批量数据