1、得到一母项目号; 2、判断此母项目号在此BOM中是否存在子项; 3、if 不存在 then 报错退出; 4、取得第一层子件集合; 5、select sum() from ..where product_no=:xx;//取得本层总份数total1; 6、first; while not eof do begin 7、 qty/total1* 总数量 得到本子件的用量; 判断此子件是否存在子件,如不存在,继续处理9;存在,再从4的方法往后处理。 9、 next; end; 这样只是适合层数固定的BOM,如果对于层数不固定的BOM,就得使用递归的方法来完成以上的步骤了。
500公斤中
101 = 10/(10+20+25+5) * 500
他的子项1011 = 10/(10+20+25+5) * 500 * (5/(5+6))
另外第二层的1011 = 5 /(10+20+25+5) * 500
同理,请问怎样计算,程序?
2、判断此母项目号在此BOM中是否存在子项;
3、if 不存在 then 报错退出;
4、取得第一层子件集合;
5、select sum() from ..where product_no=:xx;//取得本层总份数total1;
6、first;
while not eof do
begin
7、 qty/total1* 总数量 得到本子件的用量;
判断此子件是否存在子件,如不存在,继续处理9;存在,再从4的方法往后处理。
9、 next;
end;
这样只是适合层数固定的BOM,如果对于层数不固定的BOM,就得使用递归的方法来完成以上的步骤了。