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

相关推荐
ClouGence1 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将2 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils2 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波3 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_4 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_6 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab7 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence7 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神8 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据8 天前
数据服务化时代:企业数据能力输出的核心路径
数据库