Oracle平均成本计算流程

 

一、计算用到的几个表
1,MTL_CST_TXN_COST_DETAILS(CTCD)
记录每一笔事务处理的成本;对于每笔库存事务的记录,这个表中有
可能有记录,也有可能没记录;对于那些可以手工设定成本的事务处
理,在这个表中有记录,例如,录入成本的等
2,MTL_CST_ACTUAL_COST_DETAILS(CACD)
记录了库存物资成本变化的详细信息及平均成本计算的过程;是基于
每个成本组的(LAYER_ID)
3,CST_QUANTITY_LAYERS(CQL)
记录每个成本组的成本信息
4,CST_LAYER_COST_DETAILS(CLCD)
CQL的明细数据
5,CST_ITEM_COST_DETAILS物料成本明细数据,从CST_LAYER_COST_DETAILS
汇总而来,汇总到CST_ITEM_COSTS;不分成本组的成本明细
二、基本流程
1,成本处理器处理需要计算成本的库存事务,根据库存事务生成CTCD
数据
2,根据CTCD数据生成CACD数据
如果CTCD中存在数据则,
CACD.actual_cost = CTCD.transaction_cost
CACD.prior_cost   = 0
CACD.new_cost   = null
否则,使用默认成本(当前平均成本)
如果CLCD中有数据,取CLCD中的数据插入CACD表中
CACD.actual_cost = CLCD.item_cost
CACD.prior_cost  = CLCD.item_cost
CACD.new_cost    = CLCD.item_cost
如果CLCD中没有数据(第一次发生库存事务),插入一条记录到CACD中
CACD.actual_cost = 0
CACD.prior_cost  = null
CACD.new_cost    = 0这种情况一般不会发生
3,根据是否使用默认成本
如果否的话,对CACD中记录进行更新,计算CACD.new_cost物料新成本,
和CACD.variance_amount差异金额
如果是的话,平均成本无需重新计算,系统直接更新CQL中的数量
4,更新CST_ITEM_COSTS中数据,计算整个组织的平均成本

posted @ 2022-01-15 15:41  shu'sblog  阅读(322)  评论(0编辑  收藏  举报