【ABAP】物料单位转换

本文介绍了在ABAP中进行物料单位转换的方法,包括查询单位转换关系、从表MARM获取转换数据及使用函数MD_CONVERT_MATERIAL_UNIT进行转换的详细步骤。
摘要由CSDN通过智能技术生成

物料单位转换

单位转换关系查询

MM03->附加数据->计量单位

单位转换关系取数

表:MARM
字段:MEINH,UMREZ,UMREN

    SELECT
	  MATNR,
	  MEINH,
	  UMREZ,
	  UMREN
  FROM MARM
  INTO TABLE @DATA(LT_MARM)
  FOR ALL ENTRIES IN @LT_MARA
  WHERE MATNR = @LT_MARA-MATNR
  AND MARM~UMREZ <> MARM~UMREN.
   SORT LT_MARM BY MATNR.

“物料单位转换率
  GS_MARA-KLJSL =  LS_MARM-UMREN /  LS_MARM-UMREZ.

单位转换函数

MD_CONVERT_MATERIAL_UNIT

 CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
      EXPORTING
        I_MATNR  = LS_IN-MATNR
        I_IN_ME  = LS_IN-VRKME
        I_OUT_ME = LS_OUT-MEINS
        I_MENGE  = LS_IN-MENGE
      IMPORTING
        E_MENGE  = LS_out-MENGE
      EXCEPTIONS
        ERROR_IN_APPLICATION       = 1
        ERROR    = 2
        OTHERS   = 3
              .
      IF SY-SUBRC <> 0.
		CONCATENATE '没有物料' lv_matnr '的转换因子和计量单位' into ls_out-message.
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,您可以使用ABAP语言来编写一个程序,用于将物料主数据批量导入系统。具体步骤如下: 1. 创建一个程序,设置输入和输出参数,并确定相应的数据结构。 2. 创建一个SQL语句,从Excel文件中读取物料主数据,并将其转换ABAP内部表。 3. 使用ABAP指令将物料主数据从内部表中读取,并将其存储在系统中。 4. 使用ABAP指令检查物料主数据的正确性。 5. 将物料主数据成功导入系统后,使用ABAP指令将其保存到相应的文件中。 ### 回答2: 使用ABAP语言编写物料主数据批量导入程序可以使用SAP内置的功能模块和数据对象来实现。 首先,我们可以创建一个ABAP报表程序,在其中定义所需的变量和数据对象。例如,我们可以使用内置的数据对象LFA1来表示供应商主数据,以及信息记录对象MAKT来表示物料描述。 接下来,我们可以使用内置的功能模块如BDC_OPEN_GROUP和BDC_INSERT来打开一个BDC(事务数据转换)会话组,并插入事务数据。 在导入过程中,我们可以使用内置的函数模块如LSMW_OBJECT_READ、LSMW_DATA_READ和LSMW_DATA_WRITE来读取、处理和写入数据。 对于物料主数据批量导入,我们可以先使用每个物料的一般信息(如物料号、物料类型、基本计量单位等)创建一个转换对象。然后,通过设置字段映射和转换规则来映射输入数据和SAP系统中物料主数据字段之间的关系。最后,将导入的数据写入SAP系统中。 在整个导入过程中,我们可以使用内置的函数模块如BDC_CLOSE_GROUP来关闭BDC会话组,并提交数据。 另外,我们还可以使用BAPI_MATERIAL_SAVEDATA或BAPI_MATERIAL_MAINTAINDATA等内置的BAPI(业务应用编程接口)函数模块来实现物料主数据的批量导入。这些函数模块可以通过传递参数和结构体来实现物料主数据的创建、修改和删除等操作。 总之,通过使用ABAP语言编写物料主数据批量导入程序,我们可以利用SAP内置的功能模块和数据对象来实现高效、可靠和准确的物料主数据导入。 ### 回答3: ABAP语言可以用来写一个物料主数据批量导入的程序。 首先,我们可以利用ABAP的数据导入技术,使用OPEN DATASET语句打开一个文本文件。然后,通过读取该文本文件的每一行,我们可以逐行解析物料主数据的信息。在解析过程中,我们可以使用字符串操作函数和正则表达式来提取需要的字段,如物料编码、物料描述、价格等。 接下来,我们可以使用INSERT语句将解析到的物料主数据插入到物料主数据表中。在插入之前,我们可以使用SELECT语句检查物料主数据表中是否已存在相同的物料编码,以避免重复插入。 除了插入物料主数据,我们还可以在导入过程中进行一些额外的逻辑处理。例如,我们可以使用条件语句判断物料主数据是否符合一些特定条件,如价格是否大于一定阈值、描述是否包含特定关键词等。根据判断的结果,我们可以选择不插入或者标记异常的物料主数据。 在导入完成后,我们可以关闭文本文件,并进行一些后续处理。例如,我们可以输出导入结果的日志信息,统计成功和失败的记录数等数据。此外,我们还可以将导入结果保存到一个报表或者发送邮件给相关人员。 综上所述,使用ABAP语言编写一个物料主数据批量导入的程序可通过数据导入、解析、插入和逻辑处理等步骤完成,同时可以进行后续处理和结果输出。这样的程序可以大大提高物料主数据导入的效率和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值