关于各个报表中单位换算的问题,如果要进行换算,需要维护为同一类。
实例:万发(WF) 换算为TON。
tcode: CUNI
如上维护的话,虽然前台MM01/MM02可以正常维护换算关系,但是调用系统代码的时候,会报错BM311:不同维数的单位不能转换.
假如将单位WF也维护至MASS批量里,才可以换算成功。
说明:
如果使用上述维护的话,可以确保代码逻辑简洁,执行速度也会快一点。系统代码可以换算不同维度的单位,具体如下:
虽然系统可以换算不再同一类型的单位,但是实现起来稍微麻烦一些。根据系统代码逻辑如下:
1.根据物料号,基本单位,找到其所有相关单位(同一维度中的所有单位+ 物料主数据中维护换算关系的单位),得到其所有的比例对应关系
2.进行单位换算
推荐,先调用函数“UNIT_CONVERSION_SIMPLE”换算,失败(返回消息为BM311)的话,再调用系统代码这里的逻辑来搞定。