笔者在网上搜了很多文章,发现批量做这个修改的都是用的BDC录屏,虽然录屏很简单,但是既然要作为教程写在这里,我想还是BAPI或者RFC好一点,这部,刚好让笔者找到了.
具体功能:
上传一个excel文档,文档里是要创建或者修改的数据,点击执行则执行完毕了

上传的格式如下


也可以写成在选择屏幕上给个按钮,下载模板的形式,这里只为了演示,所以不做(甚至连ALV输出都没写)。
程序提供了正式运行和测试运行两种方式,在代码里用一个标识 ZMARK 来判断.
具体代码如下,仅供参考:
*&---------------------------------------------------------------------*
*& Report ZCYCLE11
*&---------------------------------------------------------------------*
*& 测试 ME_INFORECORD_MAINTAIN
*1.因为函数ME_INFORECORD_MAINTAIN不允许同时有净价和条件,所以需要分两次调用来实现创建/修改;
*2.因为函数ME_INFORECORD_MAINTAIN报错不明显,返回的报错信息仅当参考,因为需要自己debug去看具体的报错原因,
* 比如:如果单位错了,函数会报一个不相干的错误;
*3.用RFC ZALSM_EXCEL_TO_INTERNAL_TABLE 来获取上传的excel文件
*&---------------------------------------------------------------------*
REPORT zcycle11.
DATA : BEGIN OF it_tab OCCURS 0,
zkey2 TYPE n, "行项目号
zmark TYPE c, "是否测试标志 , X 标识测试
matnr LIKE eina-matnr, "物料编码
werks LIKE eine-werks, "工厂
lifnr LIKE eina-lifnr, "供应商
ekorg LIKE eine-ekorg, "采购组织
esokz LIKE eine-esokz, "采购信息记录分类
ekgrp LIKE eine-ekgrp, "采购组
waers LIKE eine-waers, "货币码
mwskz LIKE eine-mwskz, "税码
aplfz LIKE eine-aplfz, "计划交货时间(天)
netpr LIKE eine-netpr, "净价
bprme LIKE eine-bprme, "采购单位
peinh LIKE eine-peinh, "价格单位
datab LIKE konh-datab, "有效期起始日
datbi LIKE konh-datbi, "有效期截至日
umrez LIKE eina-umrez, "单位转换分子
umren LIKE eina-umren, "单位转换分母
END OF it_tab.
DATA : BEGIN OF et_tab OCCURS 0, "结果记录表
zresult TYPE c,
message TYPE char100,
zkey TYPE n,
infnr LIKE eine-infnr, "采购信息记录号
END OF et_tab.
DATA : st_tab LIKE TABLE OF et_tab.
DATA:lv_mode TYPE c. " I 为新增 , M 为修改
DATA:ls_eina TYPE eina,
ls_eine TYPE eine.
DATA:ls_mara TYPE mara.
*-----------BAPI数据定义--------------------------
DATA:i_eina TYPE mewieina,
i_einax TYPE mewieinax,
i_eine TYPE mewieine,
i_einex TYPE mewieinex.
DATA:lv_test TYPE bapiflag-bapiflag.
DATA:lt_return2 TYPE mewi_t_return,
ls_return2 LIKE LINE OF lt_return2.
DATA:lt_con_vali TYPE TABLE OF mewivalidity,
ls_con_vali TYPE mewivalidity.
DATA:lt_condition

本文介绍如何通过RFC ZALSM_EXCEL_TO_INTERNAL_TABLE和BAPI ME_INFORECORD_MAINTAIN功能,上传包含物料、供应商等信息的Excel表格,实现采购信息记录的创建和修改。详细步骤包括数据验证、单位转换及处理测试与正式运行流程。
&spm=1001.2101.3001.5002&articleId=120269268&d=1&t=3&u=080566b63f48402d95cd2a5586569995)
2728

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



