ITPub博客

首页 > Linux操作系统 > Linux操作系统 > BOM多层展开,中间半品数量不为1的问题

BOM多层展开,中间半品数量不为1的问题

Linux操作系统 作者:DicksonJYL560101 时间:2015-04-24 12:51:45 0 删除 编辑
用户反馈当中间半品数量不为1时,半品下的物料展开时还是按一个半品的数量来展开的。
BOM展开内表有三个字段
MENGE  组件数量
MNGLG  以基本计量单位为准的已计算的组件数量
MNGKO 以组件计量单位为准的已计算的组件数量
所以多层展开时,应该使用MNGLG是没有问题的。
 
但是当将PC等单位本来应该是整数的单位当小数来用,就会发现展开的数量就变成了1或其它整数,结果就不对了。
 
解决办法:
张开函数中有STUFE 层次,如果层次不为1,可能就要考虑使用下面的办法来计算。
 
如果层次STUFE不为1,且固定数量FMENG不为X.
则这个物料的数量=他上层半品的展开数量   *  这个物料的数量 / 上层半品的基本数量
 
查找上层半品的展开数量的方法。
 READ TABLE l_i_stb2 WITH KEY xtlty = i_stb2-stlty xtlnr = i_stb2-stlnr.
        IF sy-subrc EQ 0.
          i_subit-menge = i_stb2-menge *  l_i_stb2-menge /  l_i_stb2-xmeng.
        ELSE.
          MESSAGE '查找上层半品用量没有找到' TYPE 'I'.
        ENDIF.
 READ TABLE l_i_stb2 WITH KEY xtlty = i_stb2-stlty xtlnr = i_stb2-stlnr.
在展开的内表中查找 XTLTY (上层半品的BOM类型) = STLTY  且 XTLNR(上层半品的BOM清单号) = STLNR (该物料的所在BOM的清单号)
 
如果多层都需要考虑的话,
就先从第2层开始,将所有第二层的用量计算清楚。
再从第3层,将所有第三层的用量计算清楚。
以此类推,直到最后一层。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29829936/viewspace-1595624/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
行万里路,读万卷书,阅无数人。 吃货一枚,爱吃湘菜,粤菜与杭帮菜,尝遍天下美食。 摄影爱好者,游遍名川大山,江河胡海,赏遍人间春色。 爱看电影,尤其是国产大片,好莱坞大片。英文名:Dickson Jin, 网名:风一样的BOY。精通SAP供应链咨询。2017年开始研习人工智能。

注册时间:2014-08-27

  • 博文量
    2598
  • 访问量
    4671643