物料基本视图导入程序

物料基本视图导入程序

功能描述

从EXCEL文件中读取数据,使用标准bapi将物料基本信息excel中定义的数据导入到MARA表。

处理逻辑

先通过SMW0上传需要的模板。不能修改模板里字段的先后顺序,否则会导入失败。存在为修改,不存在为创建。导入行数默认控制为1000条。

使用bapi

写入修改物料:
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
文本对象函数:
 CALL FUNCTION 'SAVE_TEXT'
 CALL FUNCTION 'READ_TEXT'
事物提交:
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
        IMPORTING
          RETURN = RETURNMESSAGES.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          WAIT   = 'X'
        IMPORTING
          RETURN = RETURNMESSAGES.

总体流程

总体流程:
初始化对象->检查输入数据->获取文件路径->设置屏幕字段必输标识->检查屏幕必输字段->载入ALV需要显示的列->处理导入数据->使用ALV显示数据

1.初始化对象
设置下载按钮图标和文本

2.检查输入数据
下载模版->路径全部转换为大写->检查文件是否存在

3.获取文件路径

4.设置屏幕字段必输标识

5.检查屏幕必输字段

6.载入ALV需要显示的列
使用宏处理,顺序与输入,内表的字段一致

  1. 处理导入数据
    上传文件->将上传文件的内容转换为可处理格式->检查必输字段是否为空->调用BAPI保存数据
遇到的问题
  1. 没有前置0的数字物料号不能进行传输,前导0也不能直接使用alpha处理,需要去matnr域中查找相关FN。
  2. 处理长文本需要去mm02查看相关物料的长文本前台操作方式
  3. 物料基本视图1中的基本数据文本内,选择维护语言下方的笔,在弹出的基本数据文本框上房选择转到->表头,查看文本抬头信息得到文本标识。
  4. 注意bapi函数return的返回类型,可能是1可能是2,需要去函数的定义中查看。
  5. 在se09中新增工作台请求,在传输包的请求中输入生成的请求号。
  6. se93中将事务代码和程序关联。
  7. 使用语言输入字段为1个字符,'ZH’为‘1’
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值