通过分析SAP 系统中物料主数据的业务逻辑、数据含义,对这段 ABAP 代码与对应物料价格 / 单位相关配置的关联关系进行详细拆解,说明代码如何处理单位转换与价格计算:
一、业务背景与基础概念
在 SAP 物料管理(MM)模块中,物料主数据 记录了物料的单位(MEINS)、价格(NETPR)、价格单位(PEINH)等核心信息:

MEINS(基本单位):物料日常业务中使用的基本计量单元(如EA个、KG公斤、PC件等)。NETPR(净价):物料的实际采购或成本价格,需结合单位、价格单位理解其真实价值。PEINH(价格单位):表示价格对应的 “计量基数”,即NETPR对应的数量单位(如PEINH=1000表示NETPR是 1000 个单位的价格)。
这段代码的核心目的是 处理单位转换时的价格同步调整,确保不同单位体系下价格计算的准确性(比如从 “个” 转 “千个” 时,价格需同步放大 1000 倍)。
二、代码逐段解析 + 与物料主数据的关联
1. 单位管控及转换逻辑
abap
IF itab1-meins EQ 'EA' OR itab1-meins = 'PC' OR
itab1-meins EQ 'ST' OR itab1-meins EQ 'SET' OR
itab1-meins EQ 'PCS' OR itab1-meins EQ 'G'.
itab1-meins = l_meins.
IF l_meins = 'KEA' OR l_meins = 'KPC' OR l_meins = 'KG'.
itab1-netpr = itab1-netpr * 1000.
ENDIF.
ELSEIF itab1-meins EQ 'KEA' OR itab1-meins = 'KPC' OR itab1-meins = 'KG'.
itab1-meins = l_meins.
IF l_meins = 'EA' OR l_meins = 'PC' OR l_meins = 'G'.
itab1-netpr = itab1-netpr / 1000.
ENDIF.
ELSEIF itab1-meins = '' .
itab1-meins = l_meins.
ENDIF.
业务逻辑与物料主数据关联:
- 条件判断:根据物料当前单位(
itab1-meins)判断是否需要转换。- 若当前单位是
EA/PC/ST
- 若当前单位是

2259

被折叠的 条评论
为什么被折叠?



