SAP 基本单位与物料计量单位间的转换
基本单位的转换函数:
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 基本单位与物料计量单位间的转换相关推荐
- SAP RETAIL 寄售模式公司间STO流程里收货过账不能基于外向交货单?
SAP RETAIL 寄售模式公司间STO流程里收货过账不能基于外向交货单? 公司间STO流程里,如果是自有库存的STO,则收货方收货的时候,是可以基于STO单据来做的,更多的是应该基于发货方的out ...
- SAP RETAIL 寄售模式公司间STO收发货过账后的观察
SAP RETAIL 寄售模式公司间STO收发货过账后的观察 公司间STO流程在项目实践中很常见.在零售行业项目里,公司间STO还可能是寄售模式.对于寄售模式,发货方和收货方分别完成发货过账和收货过账 ...
- SAP License:物料类型的划分标准
客户描述了这么一种业务. 有一种物料,称为"吸附剂".它被灌装在机器设备的一部分里,在设备里流转的物料在经过这部分时,其中的水分(暂且定义是水分吧)会被这种吸附剂吸干. 有这么几个 ...
- SAP SD 客户物料主数据
前言 在销售市场上两家公司在同一个物料上命名可能各不相同,举个栗子:贵公司有个物料叫"棒棒冰"反之同一个物料在客户的公司命名叫"冰冰棒".在打印销售订单或出货单 ...
- SAP中变更物料类型的处理实例
近期收到技术部门需要处理物料类型转换的请求,需要将一个半成品转为原材料.通常物料类型的转换需要在没有库存,没有预留,没有采购文档的条件下进行.在遇到实际需求时,需要判断该物料当前所处的状态.比如该物料 ...
- SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code
SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code 执行事务代码WG22,输入物料组代码 14030503,以及其上层的Merchandise Cate ...
- SAP变式物料的采购如何玩转?看看这篇你就明白了
SAP变式物料的采购如何玩转?看看这篇你就明白了! 笔者有机会也有幸在一家汽车零配件公司的项目上工作,该公司过去生产"轮胎".任何行业的销售.采购和生产业务都存在变体,严重依赖于物 ...
- SAP LSMW 因物料描述里有换行符或者引号导致数据导入失败
SAP LSMW 因物料描述里有换行符或者引号导致数据导入失败 近期,笔者所在的D项目进入第一轮主数据导入的阶段.导入物料主数据由笔者负责. 我的LSMW工具如下方式: 采用的是standard ba ...
- SAP LSMW 导入物料主数据报错 - You have not fully maintained the descriptions - 之分析
SAP LSMW 导入物料主数据报错 - You have not fully maintained the descriptions - 之分析 近日,笔者忙于在D项目上的主数据导入.这是D项目上的 ...
最新文章
- c#_未将对象引用设置到对象的实例
- CentOS6.0_X86_64 oracle 11g R2 开机自动启动(linux)
- python document_python 处理document文档 保留原样式
- 【Java线程】线程协作实现多对多聊天
- java配置运行环境和配置
- MobileNetV1
- SELinux系列(十三)—默认安全上下文的查询和修改(semanage命令)
- linux selenium_Selenium的基本使用方法
- php的curl函数模拟post、get数据提交,速度非常慢的处理办法
- 洛谷 P1957 口算练习题 题解 字符串 C/C++
- Windows Server 2019 配置DHCP
- JDK8中Lambda 表达式语法糖脱糖[非原创]
- 1.类加载:什么是类加载???什么是类加载器???类加载器有哪三种类型???如何获取类加载器???
- 软件工程导论患者监护系统可行性研究
- 余额宝暴富记:为“草根”量身定做
- 文件资源管理器无法打开怎么办?
- 雷林鹏分享:Lua while 循环
- C#窗体绘制条形图投票
- 八爪鱼采集列表和详情信息
- 招行专业版无法登陆问题
热门文章
- python编程狮的在线编程_「Python编程狮-零基础学Python」をApp Storeで
- android apk 反编译及第三方加固脱壳
- videoJs实现手机视频播放功能
- 【转载】salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解...
- vue 微信支付的坑_Vue实现微信支付功能遇到的坑
- Informatica 初学日记全
- 《深度学习入门》(一)
- 如何利用markdown做出漂亮的笔记
- Plotly:最强Python可视化库,没有之一
- Tableau考试指南部分试题(用步骤,过程,考试内容说明)