基本单位的转换函数:

UNIT_CONVERSION_SIMPLE  - 基本单位间的转换(如:1MIN = 60S)

物料单位转换的两个函数:

1) MD_CONVERT_MATERIAL_UNIT  -  计量单位之间转换(如:每PCS 等于多少 SET)

2) MATERIAL_UNIT_CONVERSION  - 每基本单位等于多少计量单位(如:KG),如果KZMEINH = ‘X’ 则为每计量单位等于多少基本单位

1). MD_CONVERT_MATERIAL_UNIT 函数示例:

*&---------------------------------------------------------------------*
*&      Form  FRM_UT_UNIT_CONVERSION
*&---------------------------------------------------------------------*
*       物料转换基本单位
*----------------------------------------------------------------------*
FORM frm_ut_unit_conversion  USING  value(pv_matnr)     value(pv_meins)
                                    value(pv_in_meins)  value(pv_input)
                          CHANGING  ch_output TYPE ekpo-menge.
  DATA: lv_matnr      TYPE mara-matnr,
        lv_in_meins   TYPE mara-meins,
        lv_out_meins  TYPE mara-meins,
        lv_in_value   TYPE menge_d,
        lv_out_value  TYPE menge_d.
  lv_matnr     = pv_matnr.
  lv_in_meins  = pv_meins.
  lv_out_meins = pv_in_meins.
  lv_in_value  = pv_input.
  CLEAR lv_out_value.
*** 直接转换为物料计量单位,如:每PCS等于多少SET
  CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
    EXPORTING
      i_matnr              = lv_matnr
      i_in_me              = lv_in_meins
      i_out_me             = lv_out_meins
      i_menge              = lv_in_value
    IMPORTING
      e_menge              = lv_out_value
    EXCEPTIONS
      error_in_application = 1
      error                = 2
      OTHERS               = 3.
ENDFORM.                    " FRM_UT_UNIT_CONVERSION


2). 自定义函数(ZFM_UT_UNIT_CONVERSION)封装上面几个函数:

FUNCTION zfm_ut_unit_conversion.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(IP_MATNR) LIKE  MARA-MATNR DEFAULT SPACE
*"     VALUE(IP_MEINS) LIKE  MARA-MEINS DEFAULT SPACE
*"     VALUE(IP_UNIT_IN) LIKE  T006-MSEHI
*"     VALUE(IP_UNIT_OUT) LIKE  T006-MSEHI
*"     VALUE(IP_VALUE_IN) TYPE  MENGE_D
*"  EXPORTING
*"     VALUE(EP_VALUE_OUT) TYPE  MENGE_D
*"  EXCEPTIONS
*"      OVERFLOW
*"----------------------------------------------------------------------
  DATA lv_value_meins TYPE f.
  IF ip_matnr IS INITIAL.
* 计量单位转换
    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
      EXPORTING
        input                = ip_value_in
        round_sign           = 'X'
        unit_in              = ip_unit_in
        unit_out             = ip_unit_out
      IMPORTING
        output               = ep_value_out
      EXCEPTIONS
        conversion_not_found = 1
        division_by_zero     = 2
        input_invalid        = 3
        output_invalid       = 4
        overflow             = 5
        type_invalid         = 6
        units_missing        = 7
        unit_in_not_found    = 8
        unit_out_not_found   = 9
        OTHERS               = 10.
    IF sy-subrc = 5.
      RAISE overflow.
    ENDIF.
  ELSE.
*--------------------------------------------------------------------*
* 这一部分也可以通过 MD_CONVERT_MATERIAL_UNIT 函数换算
*--------------------------------------------------------------------*
* 物料计量单位转换:取出每计量单位等于多少基本单位
    CLEAR lv_value_meins.
    CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
      EXPORTING
        input                = ip_value_in
        kzmeinh              = 'X'
        matnr                = ip_matnr
        meinh                = ip_unit_in
        meins                = ip_meins
      IMPORTING
        output               = lv_value_meins
      EXCEPTIONS
        conversion_not_found = 1
        input_invalid        = 2
        material_not_found   = 3
        meinh_not_found      = 4
        meins_missing        = 5
        no_meinh             = 6
        output_invalid       = 7
        overflow             = 8
        OTHERS               = 9.
    IF sy-subrc = 8.
      RAISE overflow.
    ENDIF.
* 物料计量单位转换:通过基本单位换算计量单位
    CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
      EXPORTING
        input                = lv_value_meins
        kzmeinh              = space
        matnr                = ip_matnr
        meinh                = ip_unit_out
        meins                = ip_meins
      IMPORTING
        output               = ep_value_out
      EXCEPTIONS
        conversion_not_found = 1
        input_invalid        = 2
        material_not_found   = 3
        meinh_not_found      = 4
        meins_missing        = 5
        no_meinh             = 6
        output_invalid       = 7
        overflow             = 8
        OTHERS               = 9.
    IF sy-subrc = 8.
      RAISE overflow.
    ENDIF.
  ENDIF.
ENDFUNCTION.


3). 定义Subroutine调用函数:
*&---------------------------------------------------------------------*
*&      Form  FRM_UNIT_CONVERSION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->VALUE(PV_MATNR)  物料
*      -->VALUE(CH_MENGE)  待转换数量
*      -->VALUE(CH_MEINS)  待转换计量单位
*----------------------------------------------------------------------*
FORM frm_unit_conversion USING value(pv_matnr)
                      CHANGING value(ch_menge) value(ch_meins) .
  DATA :
         lv_in_meins    TYPE mara-meins,
         lv_out_meins   TYPE mara-meins,
         lv_in_menge    TYPE menge_d,
         lv_out_menge   TYPE menge_d.
  CLEAR : lv_in_meins,lv_out_meins, lv_in_menge, lv_out_menge.
* 取出物料基本计量单位
  SELECT SINGLE meins INTO lv_out_menge
    FROM mara
    WHERE matnr = pv_matnr.
  lv_in_menge = ch_menge.
  lv_in_meins = ch_meins.
  CALL FUNCTION 'ZFM_UT_UNIT_CONVERSION'
    EXPORTING
      ip_matnr     = pv_matnr         " 物料
      ip_meins     = lv_out_menge     " 物料计量单位
      ip_unit_in   = lv_in_meins      " 待转换 物料计量单位
      ip_unit_out  = lv_out_menge     " 转换为 物料计量单位
      ip_value_in  = lv_in_menge
    IMPORTING
      ep_value_out = lv_out_menge
    EXCEPTIONS
      overflow     = 1
      OTHERS       = 2.
  IF sy-subrc = 0.
    ch_menge = lv_out_menge.
  ENDIF.
  ch_meins = lv_out_meins.
ENDFORM.                    "FRM_UNIT_CONVERSION

SAP 基本单位与物料计量单位间的转换相关推荐

  1. SAP RETAIL 寄售模式公司间STO流程里收货过账不能基于外向交货单?

    SAP RETAIL 寄售模式公司间STO流程里收货过账不能基于外向交货单? 公司间STO流程里,如果是自有库存的STO,则收货方收货的时候,是可以基于STO单据来做的,更多的是应该基于发货方的out ...

  2. SAP RETAIL 寄售模式公司间STO收发货过账后的观察

    SAP RETAIL 寄售模式公司间STO收发货过账后的观察 公司间STO流程在项目实践中很常见.在零售行业项目里,公司间STO还可能是寄售模式.对于寄售模式,发货方和收货方分别完成发货过账和收货过账 ...

  3. SAP License:物料类型的划分标准

    客户描述了这么一种业务. 有一种物料,称为"吸附剂".它被灌装在机器设备的一部分里,在设备里流转的物料在经过这部分时,其中的水分(暂且定义是水分吧)会被这种吸附剂吸干. 有这么几个 ...

  4. SAP SD 客户物料主数据

    前言 在销售市场上两家公司在同一个物料上命名可能各不相同,举个栗子:贵公司有个物料叫"棒棒冰"反之同一个物料在客户的公司命名叫"冰冰棒".在打印销售订单或出货单 ...

  5. SAP中变更物料类型的处理实例

    近期收到技术部门需要处理物料类型转换的请求,需要将一个半成品转为原材料.通常物料类型的转换需要在没有库存,没有预留,没有采购文档的条件下进行.在遇到实际需求时,需要判断该物料当前所处的状态.比如该物料 ...

  6. SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code

    SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code 执行事务代码WG22,输入物料组代码 14030503,以及其上层的Merchandise Cate ...

  7. SAP变式物料的采购如何玩转?看看这篇你就明白了

    SAP变式物料的采购如何玩转?看看这篇你就明白了! 笔者有机会也有幸在一家汽车零配件公司的项目上工作,该公司过去生产"轮胎".任何行业的销售.采购和生产业务都存在变体,严重依赖于物 ...

  8. SAP LSMW 因物料描述里有换行符或者引号导致数据导入失败

    SAP LSMW 因物料描述里有换行符或者引号导致数据导入失败 近期,笔者所在的D项目进入第一轮主数据导入的阶段.导入物料主数据由笔者负责. 我的LSMW工具如下方式: 采用的是standard ba ...

  9. SAP LSMW 导入物料主数据报错 - You have not fully maintained the descriptions - 之分析

    SAP LSMW 导入物料主数据报错 - You have not fully maintained the descriptions - 之分析 近日,笔者忙于在D项目上的主数据导入.这是D项目上的 ...

最新文章

  1. c#_未将对象引用设置到对象的实例
  2. CentOS6.0_X86_64 oracle 11g R2 开机自动启动(linux)
  3. python document_python 处理document文档 保留原样式
  4. 【Java线程】线程协作实现多对多聊天
  5. java配置运行环境和配置
  6. MobileNetV1
  7. SELinux系列(十三)—默认安全上下文的查询和修改(semanage命令)
  8. linux selenium_Selenium的基本使用方法
  9. php的curl函数模拟post、get数据提交,速度非常慢的处理办法
  10. 洛谷 P1957 口算练习题 题解 字符串 C/C++
  11. Windows Server 2019 配置DHCP
  12. JDK8中Lambda 表达式语法糖脱糖[非原创]
  13. 1.类加载:什么是类加载???什么是类加载器???类加载器有哪三种类型???如何获取类加载器???
  14. 软件工程导论患者监护系统可行性研究
  15. 余额宝暴富记:为“草根”量身定做
  16. 文件资源管理器无法打开怎么办?
  17. 雷林鹏分享:Lua while 循环
  18. C#窗体绘制条形图投票
  19. 八爪鱼采集列表和详情信息
  20. 招行专业版无法登陆问题

热门文章

  1. python编程狮的在线编程_‎「Python编程狮-零基础学Python」をApp Storeで
  2. android apk 反编译及第三方加固脱壳
  3. videoJs实现手机视频播放功能
  4. 【转载】salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解...
  5. vue 微信支付的坑_Vue实现微信支付功能遇到的坑
  6. Informatica 初学日记全
  7. 《深度学习入门》(一)
  8. 如何利用markdown做出漂亮的笔记
  9. Plotly:最强Python可视化库,没有之一
  10. Tableau考试指南部分试题(用步骤,过程,考试内容说明)