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中数据,计算整个组织的平均成本

相关推荐
xfhuangfu2 小时前
Oracle 19c中业务表的列发生变化时使用impdp
数据库·oracle
有想法的py工程师2 小时前
手工处理 Oracle Cloud ARM 实例在线 DD Rocky Linux 10报错
linux·arm开发·oracle
小何code3 小时前
【Python零基础入门】第10篇:Python列表方法与应用实例
数据库·人工智能·python
Flash.kkl3 小时前
C++基于websocketpp的多用户网页五子棋项目
开发语言·网络·数据库·c++·websocket·mysql
kong@react3 小时前
milvus(向量数据库)docker容器(升级1.0)
数据库·docker·milvus
流烟默3 小时前
国产数据库CERDB 数据库实战:核心概念与备份恢复全攻略
数据库·数据库备份·cerdb
jnrjian3 小时前
LOCAL_LISTENER 为空
oracle
计算机安禾3 小时前
【算法分析与设计】第44篇:随机化复杂度类:RP、BPP与去随机化猜想
java·数据结构·数据库·算法·机器学习
jnrjian3 小时前
Oracle 计算表 + LOBs 大小
oracle