源码:

function zcf_ut_unit_conversion.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(MATNR_IMP) LIKE  MARA-MATNR DEFAULT SPACE
*"     VALUE(MEINS_IMP) LIKE  MARA-MEINS DEFAULT SPACE
*"     VALUE(UNIT_NEW_IMP) LIKE  T006-MSEHI
*"     VALUE(UNIT_OLD_IMP) LIKE  T006-MSEHI
*"     VALUE(VALUE_OLD_IMP) TYPE  MENGE_D
*"  EXPORTING
*"     VALUE(VALUE_NEW_EXP) TYPE  MENGE_D
*"  EXCEPTIONS
*"      OVERFLOW
*"----------------------------------------------------------------------

* Lokale Vereinbarungen
  data value_meins_tmp type f.

if matnr_imp is initial.
    call function 'UNIT_CONVERSION_SIMPLE'
         exporting
              input                = value_old_imp
              round_sign           = 'X'
              unit_in              = unit_old_imp
              unit_out             = unit_new_imp
         importing
              output               = value_new_exp
         exceptions
              conversion_not_found = 01
              division_by_zero     = 02
              input_invalid        = 03
              output_invalid       = 04
              overflow             = 05
              type_invalid         = 06
              units_missing        = 07
              unit_in_not_found    = 08
              unit_out_not_found   = 09.
     if sy-subrc = 5.
       raise overflow.
     endif.
  else.
*   Umrechnung in Basismenge
    call function 'MATERIAL_UNIT_CONVERSION'
         exporting
              matnr                = matnr_imp
              input                = value_old_imp
              meinh                = unit_old_imp
              kzmeinh              = 'X'
              meins                = meins_imp
         importing
              output               = value_meins_tmp
         exceptions
              conversion_not_found = 01
              input_invalid        = 02
              material_not_found   = 03
              meinh_not_found      = 04
              meins_missing        = 05
              no_meinh             = 06
              output_invalid       = 07
              overflow             = 08.
     if sy-subrc = 8.
       raise overflow.
     endif.
*   Umrechnung auf neue Alternativmengeneinheit
    call function 'MATERIAL_UNIT_CONVERSION'
         exporting
              matnr                = matnr_imp
              input                = value_meins_tmp
              meinh                = unit_new_imp
              kzmeinh              = space
              meins                = meins_imp
         importing
              output               = value_new_exp
         exceptions
              conversion_not_found = 01
              input_invalid        = 02
              material_not_found   = 03
              meinh_not_found      = 04
              meins_missing        = 05
              no_meinh             = 06
              output_invalid       = 07
              overflow             = 08.
     if sy-subrc = 8.
       raise overflow.
     endif.
  endif.

endfunction.

form frm_changeunit  changing value(p_1) value(p_2) value(p_3) .
  data : ls_mgvgw type menge_d."plfh-mgvgw.
  data : ls_meins type mara-meins.
  data : ls_value_new_exp type menge_d."LIKE plfh-mgvgw.
  clear : ls_meins,ls_value_new_exp.
  select single meins
  into ls_meins
  from mara
  where matnr = p_1.
  ls_mgvgw = p_2.
  call function 'ZCF_UT_UNIT_CONVERSION'
    exporting
      matnr_imp     = p_1
      meins_imp     = ls_meins
      unit_new_imp  = ls_meins
      unit_old_imp  = p_3
      value_old_imp = ls_mgvgw
    importing
      value_new_exp = ls_value_new_exp
    exceptions
      overflow      = 1
      others        = 2.
  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.
  if not ls_value_new_exp is initial.
    p_2 = ls_value_new_exp.
  endif.
  p_3 = ls_meins.
endform.

perform frm_changeunit changing wa_mseg-matnr wa_mseg-menge wa_mseg-meins .

sap转换成基本订单单位相关推荐

  1. 数字转换成k,w单位

    function unitNumber(number) {return number >= 1e3 && number < 1e4 ? (number / 1e3).toF ...

  2. vscode怎么自动将px转换成vw_基于react/vue移动端适配之px自动转rem、vw

    作为一名前端开发,在做移动端适配时rem.vw是我们经常用到的单位,但是我们在实际开发过程中需要将设计稿上的px转换成rem,如果手动去计算,将是一个很耗时.费力的过程.这是就需要一个工具可以帮我们自 ...

  3. excel vba 如何将日期周几转换成文字_Excel 从精通到入门

    Excel 从精通到入门 引子 Excel? 这么简单的东西有学的必要吗?公式加减乘除,诶等等这个日期怎么变成 #### 了,虽然文本数字搞不清楚,但也算熟练使用 Excel 啦. WOW, Awso ...

  4. px自动转换成vw,vh

    一:安装依赖包 npm i postcss-px-to-viewport -D 二: 配置 postcss.config.js module.exports = {plugins: {autopref ...

  5. js和 ts 将大数字金额转换成带单位的数字金额,万,千万,亿,格式化金额数字,格式化成带单位的金额,附ts版代码

    js将大数字金额转换成带单位的数字金额,万,千万,亿, 第一个参数是在转换的数字, 第二个参数是返回的格式 不传第二个参数,返回数字和单位分开的,数组格式,传第二个参数后,返回数组和单位的字符串,这样 ...

  6. 文件大小 字节单位转换成KB,MB,GB,TB等单位

    方法1 /*** 字节单位转换成KB,MB,GB,TB等单位** @param $file_size** @return string** @author qinglin*/ function byt ...

  7. php 图片单位转换,php如何把图片转换成二进制字符串

    php把图片转换成二进制字符串的方法:首先通过"$_FILES['file']['tmp_name'];"方法获取临时文件名:然后通过base64EncodeImage函数将图片文 ...

  8. SAP中注意区分采购合同中的订单单位和价格单位

    在采购合同中,可以看到合同项目中有两个单位字段.其显示为OUn(order Unit)和OPU(Order price Unit),代表订单单位和订单价格单位: 下面笔者使坏的将两个单位的位置变动了一 ...

  9. 将数字转换成以万为单位显示

    private String toNumber(int number) {String str = "";if (number <= 0) {str = "&quo ...

最新文章

  1. MySQL面试题 | 附答案解析(一)
  2. tomcat乱码怎么解决_PDF转word乱码怎么办?解决方法如此简单!
  3. 委托、多播委托(MulticastDelegate)
  4. Java 快速排序算法实现-----面试
  5. vue-cli watch/timer
  6. (chap1 web网络基础) URI和URL
  7. php ci nginx 伪静态rewrite配置方法
  8. Codeforces 1025F Disjoint Triangles (计算几何)
  9. kerberos体系下的应用(yarn,spark on yarn)
  10. vue-router的hash模式和history模式,
  11. nginx配置php 9000,Nginx支持php配置
  12. 如何用append连接html文件,jquery append()怎么用?
  13. 威马披露2021全年交付智能纯电车44157辆
  14. 最长续航达19小时,Surface Laptop 4商用版发售
  15. 51nod 1292 字符串中的最大值V2(后缀自动机)
  16. 8.9 NOIP模拟测试15 建设城市(city)+轰炸行动(bomb)+石头剪刀布(rps)
  17. [译]Windows 服务用户帐户
  18. Linux常用命令——xargs
  19. 12. vim 编辑器
  20. 【1、雅思听力】B站听力中每单元的生词

热门文章

  1. 【pmcaff】人人黑产品经理,你中招了嘛!
  2. 谷歌利用OKR系统考核 脑力行业或可借鉴
  3. 团购硝烟慢慢散去之时:从团购身上我们可以学到什么?
  4. 世界卫生日:大数据解读抑郁症群体
  5. NodeJS Buffer(缓冲区)
  6. 搭建一个jupyter站点做数据分析吧
  7. Android Open Accessory (AOA)
  8. default argument given of parameter 的问题
  9. HDU 4832 Chess 排列组合 DP
  10. Linux之RPM 软件包管理