小李飞刀系列之Oracle EBS期间平均成本(PAC)--生产成本计算(三)资源成本计算

来源:互联网 发布:三菱plc脉冲输出编程 编辑:程序博客网 时间:2024/05/17 04:13

在前面一篇文章介绍了资源的设置,本篇文章将介绍在PAC中资源成本是如何计算的。PAC只需要运行4个系统标准请求,即可自动对采购成本、生产成本(包括生产的材料成本、资源成本、制造费用)等进行计算,最终算出物料的单位成本。但在系统界面上我们只能查到最终算出的物料单位成本,至于其背后的运算逻辑,在系统界面上是无法查到的,因此要想明白PAC的运算逻辑,必须借助其后台运算过程中用到的表,通过表中记录相关字段的值的变化来理解PAC运算的逻辑。在本系列文章中,都将会通过相关后台表变化来说明PAC的运算逻辑。

资源成本计算过程中有3个非常重要的表:

  • wip_transactions
  • wip_pac_actual_cost_details
  • wip_pac_period_balances

系统中所有的资源事务处理都存在表wip_transactions中,当PAC请求计算资源成本时(由系统标准的”定期成本处理程序”完成),会从此表中将各工单各个工序的资源投入的记录取出。根据相应资源的投入数量与资源费率,”定期成本处理程序”计算资源的成本,并将计算得出的各资源成本的明细记录插入到表wip_pac_actual_cost_details中,将各工单各工序耗用的资源成本汇总后,会将汇总值更新到表wip_pac_period_balances里。

当工单存在部分完工的情况时,除了计算该工单投入的资源成本,我们还需要通过一定的逻辑计算投入的资源成本有多少该结转到成品里。这一过程中的计算逻辑也需要通过wip_pac_period_balances表来体现。

实际上,对生产成本而言,wip_pac_period_balances可以说是PAC计算过程中最重要的表,下面先对其作重点介绍:

在wip_pac_period_balances表中,按工单ID(WIP_ENTITY_ID)和工序序号(OPERATION_SEQ_NUM)来记录成本值。带IN的字段记录该工单该工序记入的成本。带OUT的字段记录因为生产完工或者报废结转的成本。带VAR的字段记录在工单关闭时IN和OUT的差异。带TL的字段表示本层(This Level),带PL的字段表示前一层(Previous Level)OPERATION_COMPLETED_UNITS字段指该工序已完成的数量,RELIEVED_ASSEMBLY_UNITS字段指的是因为工单完工或工序报废导致的该工单最终要完工的装配件数量的减少数量(如一个工单要完工100个装配件,当前完工10个,报废1个,则减少数量为11)。wip_pac_period_balances表的部分字段如下图所示:
图 1. wip_pac_period_balances表的字段

下面我们通过一个例子看一下当工单存在部分完工的情况时,系统是如何结转投入的资源成本到成品里的。

假设有如下业务场景:有一个零件,需要工人先将钢管切成段,再打磨成需要的形状。每切割一段预计需要0.5工时,而打磨一个零件预计需要1工时,每工时工人的工资为20元。假设有一个生产10个该零件的任务,某工人操作较熟练,切割4段仅耗用1.5工时,切割完成后耗用1工时打磨生产出一个零件,那产出的这一个零件结转的工时资源的成本该是多少呢?

我们在系统里通过以下步骤做测试:

  1. 新建所需要的基础数据,包括:

    • 物料编码:零件编码为001,钢管编码为002
    • 资源:GS(工时)
    • 部门:CJ(车间)
    • 标准工序:QG(切割)、DM(打磨)
    • 零件001的工艺路线和物料清单(工序中资源的计费类型都为”人工”)
      图 2. 零件001的工艺路线
  2. 新建零件001的工单,数量为10,工单号为JOB001;

  3. 对JOB001做移动事务处理,将其从工序10的”排队”状态移动到”移动”状态,数量为4;

  4. 对JOB001做移动事务处理,将其从工序10的”移动”状态移动工序20的”移动”状态,数量为1;

  5. 对JOB001 做资源事务处理,在工序10投入资源’GS’数量1.5,在工序20投入资源’GS’数量1;

  6. 对JOB001做完工事务处理,完工数量为1。

  7. 运行系统标准的”定期成本处理程序”,查看wip_pac_period_balances表的结果,如图3所示:
    图 3. wip_pac_period_balances表的结果
    由图3可以看出,该工单在工序10投入的资源成本=资源投入数量*资源费率=1.5*20=30,工序20投入的资源成本=1*20=20。

在工序10结转的成本为7.5,工序20结转的成本为20。

而工序10完成的数量为4,装配件减少的数量为1,则工序20完成的数量为1,装配件减少的数量为1。

由此可以推断出结转的资源成本=(装配件减少数量/工序完成数量)*投入的资源成本。

并且通过表3可以看出Oracle在计算生产成本时,是按各工序分别计算成本,而不是把上一道工序耗用的成本带到下一道工序,即不是通过逐道工序成本累积的方式来计算整个工单的成本。

0 0
原创粉丝点击