求BOM成本单价M_BOM主表
BILLID  GOODSID  QTY  PRICE  IBILLID IITEMNO
584     A001      1     0     NULL    NULL588     B001      1     0     584     1560     F001      1     0     588     2M_BOMD细表
BILLID GOODSID ITEMNO  QTY  PRICE
584    B001     1      1         (半成品)
584    C001     2      2     5    (原料)
584    D001     3      1     5   (原料)588    E001     1      1     3    (原料)
588    F001     2      2          (半成品)560    G001     1      1    2   (原料)
560    J001     2      2    2   (原料)条件:
上级的 M_BOM.BILLID=M_BOMD.BILLID  
上级的 m_bom.billid=下级的m_bom.ibillid  A001  由 B001、C001、D001组成
B001  由 E001、F001 组成
F001  由 G001、J001 组成
要求结果按物料清单最底层原料起计算推算出半成品、成品的单价。
M_BOM主表
BILLID  GOODSID  QTY  PRICE  IBILLID IITEMNO
584     A001      1     30     NULL    NULL  (1*15+2*5+1*5=30)588     B001      1     15     584     1  (1*3+2*6=15)560     F001      1     6    588     2   (1*2+2*2=6)
M_BOMD细表
BILLID GOODSID ITEMNO  QTY  PRICE
584    B001     1      1     15    (半成品) (1*3+2*6=15)
584    C001     2      2     5    (原料)
584    D001     3      1     5   (原料)  588    E001     1      1     3    (原料)
588    F001     2      2     6    (半成品) (1*2+2*2=6)560    G001     1      1    2   (原料)
560    J001     2      2    2   (原料)   

解决方案 »

  1.   

    原来已经有BOM数据了,就是没有从下层原料计算出半成品的单价,半成品的单价+其它原料+其它半成品=成品
    我想知道半成品的单价和成品的单价!
      

  2.   

    20分,还是谈一些思想吧。每个半成品和物料关系肯定是知道的。出个所有半成品实时价格表(可以用java写个bat文件每天定时执行更新价格,好比数据库job) : 
    数据如下: 
    半成品ID1 价格合计1
    半成品ID2 价格合计2
    半成品ID3 价格合计3
    再把所有半成品实时价格 价格更新到 M_BOMD细表对应的 半成品价格再出SQL就方便多了
      

  3.   

    zjcxc(邹建)有没有时间帮忙处理一下?
      

  4.   

    根据BOM的层次做多次出库核算第一次出库核算计算材料成本,同时更新BOM里面对应的材料成本,计算出半成品入库成本
    然后做出库核算,同时更新BOM里面对应半成品成本,这样就可以计算出库上一级半成品入库成本
    然后继续核算直到成品成本计算出来
      

  5.   

    liangCK
    (小梁 爱 兰儿 (梁爱兰))  兄弟有没时间帮我研究一下吗?
      

  6.   

    看一下以下网址。
    http://topic.csdn.net/u/20090813/15/780184d4-264d-46b4-946f-b3078602306c.html