使用者回報當中間半品數量不為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.
在展開的内表中查找 XTLTY (上層半品的BOM類型) = STLTY 且 XTLNR(上層半品的BOM清單号) = STLNR (該物料的所在BOM的清單号)
如果多層都需要考慮的話,
就先從第2層開始,将所有第二層的用量計算清楚。
再從第3層,将所有第三層的用量計算清楚。
以此類推,直到最後一層。