Professional Documents
Culture Documents
E-BUSINESS SUITE
核心功能流程详解
Manufacturing应用模块
Author: 黄建华Jianhua.Huang
MSN: huajhua@hotmail.com
Creation Date: April 12, 2005
Last Updated: April 2, 2007
Document Ref: <Document Reference Number>
Version: DRAFT 1A
Approvals:
<Approver 1>
<Approver 2>
Document Control
Change Record
5
Reviewers
Name Position
Distribution
Note To Holders:
If you receive an electronic copy of this document and print it out, please write your
name on the equivalent of the cover page, for document control purposes.
If you receive a hard copy of this document, please write your name on the front
cover, for document control purposes.
Contents
1. INV: Items..................................................................................................................2
1. INV: Items
参考《深入浅出Oracle EBS之核心功能(DIS)》。
2. INV: Transactions基本库存事务处理
参考《深入浅出Oracle EBS之核心功能(DIS)》。
职责:Bills of Material
3.1. 基础业务学习
总体说明
BOM(物料清单)最终解决的问题是生产过程中用料和用量的标准化。准确度要求在
98%以上,要不断与现场比对,逐步达到100%。
BOM是制造型企业的业务驱动核心,WIP、OPM、COST、MPS/MRP等是直接跑在
BOM的基础上,没有稳定清晰的BOM就没有ERP。
BOM是产品的组成结构图,定义了生产特定物料所需的零件及数量。每一个零件也可
能有他们的BOM结构,由此产生多层的产品结构树。
下图是个简单的“自行车组成结构图”,一个车轮需要两个轮辋的自行车还是比较少
见的哦!可以看出,生产一部自行车,需要轮辋 2 * 2个:
A型自行车 车轮
960001 1部 960002 1个
其它零部件 车把 车轮 车胎 轮辋 其它零部件
…… 910001 * 1付 960002 * 2个 910003* 1个 910002 * 2个 ……
BOM的维护和变更实际至少涉及如下部门:工程部/研发中心、计划部、制造部、财
务部。
从不同角度看,BOM有不同的分类。
从设计与制造角度 据bom_bill_of_materials.assembly_type分
1、 工程BOM 在工程模块维护
工程BOM基本上是反应工程图纸上的BOM,如CAD设计出来的BOM。
而实际在EBS中的维护,和制造BOM没什么大的差异;主要差别在于工程BOM不能用
于生产,维护时可以选择工程物料、其他工程BOM作为组件。
2、 制造BOM 在BOM模块维护或者由工程BOM“实施”——转产而来
制造BOM反应的是当前用于车间实际生产的BOM,即在产品生产过程中,按照标准应
当投入的零部件规格及其数量。
1、 普通件 供应类型除Phantom外的组件
WIP组件需求按照正常逻辑计算:仅看一层BOM的零部件。
2、 虚拟件 供应类型为Phantom的组件
WIP组件需求,跳过虚拟件,把其下的组件直接作为WIP的需求;忽略虚拟件的工艺
路线。
虚拟件只是从其父件的角度出发区分出来的,其本如果直接开Job,和其他装配件没有
任何差异。
从产品类型角度 据mtl_system_items_b.bom_item_type分
1、 标准BOM
最常见的普通BOM,理论上组件都是必须的,数量也是标准耗用量。
WIP、CST等模块使用的就是标准BOM,OM实际执行的也是标准BOM。
2、 模型BOM
企业事先定义了一个产品的模型,其中的组件,有些是必须的(Mandatory),有些
是可选的(Optional);在上述两种组件中,可能又定义一个类别(Option Class),
只要在这个类别中选一个或多个就行了。模型BOM如果嵌套定义,就非常复杂了。
客户根据模型,最终选定一个满意的组成方案;我们根据客户的方案开SO下单执行。
SO会根据选配结果创建一个Item及其BOM。因为这种Item我们通常设置为采用“<原
物料编码>*<序列号>”的方式生成,所以也叫“星号Item”;对应的BOM叫“配置
BOM”,其和标准BOM没有任何差别。
3、 选项类BOM
用于模型BOM的组件,参考上面说明。
比如计算机模型中的显示器,就可以作为选项类,公司可以提供多个型号供客户选
择。
有时候会觉得“选项类BOM”和“模型BOM”类似嘛,这就对了,差别在于前者只能
作为后者的组件,不独立供客户订购了。^o^!
4、 计划BOM
计划BOM和标准BOM的差别在于其组件使用量都有百分比,这样在做Forecasts展开
的时候,MPS会逐层乘以百分比,得出扩展计划数量。
计划类型的Item不能定义Routing、BOM没有产出率、不卷积成本、不需要供应/发运
等等信息,总之计划BOM仅仅关心数量!
1、 主BOM
最常用的产品结构,在各模块使用中默认都是主BOM,如成本卷积、开JOB、MRP运
算、OM模型BOM等;成本卷积、开JOB可以手工选择替代BOM。
2、 替代BOM
创建主BOM之后,就可以建立平行配方——替代BOM了,意思是同样一个产品,还可
以用其他的配方(不同物料、不同数量)生产,这样比用替代料来得更加直接、更加
好控制。
在做工程BOM的时候,通常可以创建一系列替代BOM,来比较其组成、工艺、成本。
3.2. 核心功能流程
标准BOM学习流程
预制文件
N: Sys/Profiles/System
重点关注如下几个Profile的设置值:
Profile Name Description
BOM: Model Item Access 是否有权访问模型BOM和选项类BOM
BOM: Planning Item Access 是否有权访问计划BOM
BOM: Standard Item Access 是否有权访问标准BOM
BOM: Configuration Item Delimiter 创建星号项目的时候使用的分隔符
BOM: Configuration Item Type 创建星号项目的时候使用哪个Item Type
主BOM
N: BOM/Bills/Bills
EBS中BOM是分层独立定义的,但顺序不分先后,如上述“自行车组成结构图”,可
以先定义自行车的BOM,再定义车轮的BOM;也可以反过来定义。最终都一样组成一
棵产品结构树,相对的,父节点叫“装配件”或“父件”,子节点叫“组件”或“子
件”。
上图,装配件为“960001”,组件有“910001”、“960002”。
上图,装配件为“960002”,组件有“910002”、“910003”。
常用字段详细说明,粗体部分是必须要掌握的:
Attribute Name Description
Header属性
Item 装配件物料编码
Alternate 替代号,主BOM为空
Revision 修订号,和Item共享;Routing则是单独创建修订号
Date 查询条件,显示有效日期大于该日期的组件
Display 查询条件,显示当前还是将来BOM
Implemented Only 查询条件,显示已实施的组件还是未实施的
Components::Main属性
Item Seq 组件序号,同一有效期内不能重复
工序号,表示组件在哪道工序被消耗。工艺路线未定义的话都是
Operation Seq
1,如果定义了工艺路线,这里要选择相应的工序。
Component 组件物料编码,当然不能和装配件相同
Revision 组件修订号
UOM 单位,只能是主单位
组件数量,负的代表副产品。当然有些类型的组件不允许负数,
Quantity
比如Check ATP的组件
Engineering Item 是否工程物料
Auto Request Material 缺料是否自动创建Move Order或者Purchase Order
Components::Date Affectivity属性
From 生效日期,序号+工序号+组件+生效日期,是潜在的主键
To 失效日期
Components::ECO属性
Implemented ECO是否已经实施
ECO ECO编号
Components::Component Detail属性
Planning% 计划百分比,标准BOM必须是100%
Yield 产出率
Enforce Integer Req
Include In Cost Rollup
Components::Material Control属性
WIP供应类型,从Item属性带过来,又默认带到WIP组件需求;
Supply Type
详细参考WIP Discrete Job章节
Subinventory/Locator 默认供应子库、货位
Components::Order Management属性
Check ATP 是否检查物料的可承诺量,即未被保留的现有量
Optional 是否可选件
Mutually Exclusive 选件是否互相排斥
Min、Max 选件最小、最大量?
Components::Shipping属性
Shippable 是否可发运
我们本章练习定义的BOM数据如下:
装配件 替代号 序号 组件 数量
960001 10 960002 2
960001 20 910001 1
960002 10 910003 1
960002 20 910002 2
替代号
N: BOM/Setup/Alternates
定义替代号HUAJHUA:
替代BOM
N: BOM/Bills/Bills
和Primary BOM唯一的差别在于需要在“装配件”下加定义替代号,假定配方
HUAJHUA的数量和主配方不一样。
960001的HUAJHUA:
我们本章练习定义的BOM数据如下:
装配件 替代号 序号 组件 数量
Manufacturing应用模块 BOM: Bills of Material物料清单 9 of 93
File Ref: 深入浅出Oracle EBS之核心功能(MFG).doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 2, 2007
装配件 替代号 序号 组件 数量
960001 HUAJHUA 10 960002 3
960001 HUAJHUA 20 910001 1
960002 HUAJHUA 10 910003 2
960002 HUAJHUA 20 910002 2
多级清单
N: BOM/Bills/Indented Bills
如上面所讨论的那样,BOM定义的时候是分层独立定义,而完整的BOM应当是棵结构
树,Indented Bills就是以缩进方式展示了这棵树,叫“BOM多级清单”。
“BOM多级清单”是从装配件的角度看,递归使用了哪些物料来生产。
首先进入查询界面,我们先查主BOM:
这个查询界面数据含义是:展开当前960001主BOM,看直接、间接使用了哪些组件,
最多10层。结果是(点击左下角+号展开),是一棵正立的树:
这里重点关注Quantity和Extended Quantity,后者是由前者逐层递乘出来。
定义960002替代配方后:
EBS在展开多级清单的时候遵循如下规则:以顶层的替代号为准,首先用子层中相同
替代号的BOM展开,如果没有则用主BOM,直到叶结点(没有定义BOM的物料)。
物料使用处
“物料使用处”是从组件的角度看,到底被哪些装配件使用,可以递归至顶层装配
件!
须改组件
N: BOM/Bills/Bills
对于组件的修改,比如修改数量、供应方式、产出率等,可以直接修改相应行,这样
简单、直接,但是无法保留痕迹。建议的做法有2:一是“拷贝”一行进行修改,失效
原行;二是通过ECO(Engineering Change Order工程更改单)来做。
这里用方法1,先查出要改的BOM,在要修改的行填入“失效日期”,保存后;新增
一条记录,录入同序号及新的组件信息。
这样实际上产生了新版本(Version)的BOM,如此例,27-OCT-2006 16:43:05及之前
是一个版本,27-OCT-2006 16:46:40及之后是另外一个版本;严格说,这两个时间的空
档内,又是一个版本。
3.10. 其他重要问题
虽然没有标记版本号,前面的“Modify Component”因为有有效时间范围进行区
分,使BOM在不同时点具有不同的Version(版本);另一方面,Item是可以创建
Revision(修订号)的,以不同修订号的Item创建的BOM,其版本当然也不同。
所以,总的来说,可以通过这两种方式维护不同的BOM版本。
如何写BOM SQL
1、 在Form和包中
应当使用系统标准API来展开:apps.bompexpl.exploder_userexit,可以展开任意级的
多级清单,含指定类型的成本。我们不需要自己写展开BOM的函数,也不需要用SQL
直接取,这样可以保证最大的代码健壮性和兼容性。
2、 在日常的SQL中,也要参考该标准API来书写,下面是取当前时点(Sysdate)单
层BOM的例子,尚缺考虑Revision:
可选阅读:不同类型BOM允许的组件类型
可选阅读:不同类型BOM允许的组件属性
N: Tools/Copy or Common
一个组织的BOM,可以共享给同一主组织下的其他组织,甚至可以共享给同一组织的
其他物料,只要物料的BOM Item Type相同。这样可以减少维护工作量,XXX公司的
BOM就是在同一组织维护,然后Common给整个集团!
永远注意:共享仅共享一层BOM,其组件的BOM需要再做共享;跨组织的话供应子库
/货位无法共享;要保证组件和替代物料在目标组织存在,否则无法共享。
共享有两种方式:一是拷贝,这样拷贝过去后,可以修改,独立维护;二是参考,也
叫Common,BOM仍然在原组织/原物料维护,目标组织/目标物料BOM不能再维
护,系统规定Common BOM不能再被其他Item Common,否则程序找起来很费劲。
另外,对于CTO销售企业来说,BOM在普通的组织维护,而SO的验证组织通常是
Master组织,所以必须把BOM Common到主组织。
替代物料
N: Button/Substitute
标准BOM可以设置替代物料(不要和替代号混淆),即组件可以用其他物料来替代,
数量不需要相等;这个仅影响MRP,不影响WIP。
避免BOM循环定义
定义BOM的时候,实际上仅关注一层,并不关心组件本身的BOM定义,如果A用了
B,B用了C,C用了A,如果用多级清单展开的话,实际上是个死循环,为此系统提供
了该检查功能,防止循环的出现。
BOM维护监控
BOM或其组件,创建、修改、删除的没一次动作,系统在后台记录了Business
Event,如果需要监控的话,只要定义订阅即可达到监控目的,比如数量修改了,则发
个通知给特定的人员,感觉是不错的功能。
批量修改
N: BOM/Bills/Mass Change
提高维护效率的手段,可以独立于ECO使用。
可以定义一系列条件——要改的BOM范围,然后设置Action——修改内容,比如增加
组件B、删除组件A等丰富的修改方式。
比较两个BOM
N: BOM/Bills/Comparison
可以比较任意组织、任意BOM,看其在用料和用量上有哪些差异
N: BOM/Delete Groups
统一通过删除组删除,这样可以统一检查是否已有事务处理等约束条件,没有的话方
可删除。
约束条件
N: BOM/Setup/Constraint
设置BOM删除时的约束条件,默认的足矣!
4. BOM: Routing工艺路线
应用:Bills of Material
职责:Bills of Material
4.1. 基础业务学习
总体说明
Routing(工艺路线)最终解决的问题是生产过程中加工顺序、资源和用量的标准化。
准确度要求在98%以上,要不断与现场比对,逐步达到100%。
与BOM一样,Routing亦是制造型企业的业务驱动核心,WIP、OPM、COST、
MPS/MRP等是直接跑在Routing的基础上,没有稳定清晰的Routing就没有ERP。
Routing是产品/半成品的生产步骤图,定义了生产特定物料所要经历的工序、加工部
门(工作中心)、提前期、耗用的资源及其额定数量。
以“自行车组装”为例,下面是其预定工艺路线表:
装配件 替代号 序号 部门 资源序号 资源 计费基准 使用量
总装中心 10 初级工 物料 0.2
10
总装中心 20 机器 物料 0.05
960001
20 包装部门 10 初级工 物料 0.1
30 测试部门 10 测试工 物料 0.1
960002 10 车轮部门 10 初级工 物料 0.2
960002 AAA 10 车轮部门 10 特级工 物料 0.1
其中960001,经过3道工序,在第一工序即“总装中心”,使用了两种资源进行组装。
Routing的维护和变更实际至少涉及如下部门:工程部/研发中心、计划部、制造部、
财务部。
Oracle中的Routing,不仅仅是技术意义上的施工标准步骤,其还承担了工、费归集的
成本职能;使得我们结合BOM可以准确算出一个装配件的成本——料、工、费。因为
加入了成本因素,使得Routing稍显复杂。
从不同角度看,Routing也有不同的分类,不过没有BOM那么复杂。
从设计与制造角度 据bom_operational_routings.routing_type分
1、 工程Routing 在工程模块维护
工程Routing基本上是反应工程设计上的Routing原型;而实际在EBS中的维护,和制
造Routing没有差异。
2、 制造Routing 在BOM模块维护或者由工程Routing“实施”——转产而来
制造Routing反应的是当前用于车间实际生产的Routing,即在产品生产过程中,按照
标准应当历经哪些工序,经由哪些部门,耗用多少该部门的资源生产。
1、 主Routing
最常用的工艺路线,在各模块使用中默认都是主Routing,如成本卷积、开JOB、MRP
提前期运算;成本卷积、开JOB可以手工选择替代BOM。
2、 替代Routing
创建主Routing之后,就可以建立替代Routing了,意思是同样一个产品,还可以用其
他的步骤和方法(不同工序、不同部门、不同资源、不同数量)生产。
在做工程Routing的时候,通常可以创建一系列替代Routing,来比较其组成、工艺、
成本。
替代Routing的意义还在于表明,使用不同等级的技能工或者不同科技水平的机器,其
效率是不一样的。比如主Routing是用新设备加工,需要0.1机时;替代Routing AAA
使用旧设备加工,需要0.3小时。
可选内容:从工艺是否固定角度
1、 标准Routing
通常我们说的都是标准Routing,工序、部门、资源及定额数量都固定。
Dynamic Routings(动态工艺路线)的含义:生产过程并非事先固定,而是根据前工
序的结果,决定后面的工序是什么,比如10工序测试结果值<60%,那么转30工序,否
则进入20工序。
所以初始定义是一个复杂的Routing Network,类似含分支判断的程序流程图。
4.2. 核心功能流程
标准Routing学习流程
资源定义
N: BOM/Routings/Resources
Oracle中资源的含义比较丰富,主要包括人工、机器,此外还包括时间、货币、数
量、杂项。定义资源的时候需要定义一系列成本参数:账户和费率。
费率即单位成本、单价的意思。
我们创建如下资源:机器、初级工、测试工、特级工并设置费率分别为
10/10/11/20。这里也可以直接定义资源和制造费用的关系。
点击Rates定义费率,初次定义可以直接定义Frozen的:
资源定义关键字段:
Attribute Name Description
Header属性
Resource 资源代码
Type 资源类型
Charge Type 计费类型
UOM 计费单位
Basis 默认的计费基准
Costs属性
Costed 是否计费
Activity 计费活动
是否使用标准费率
Standard Rate 否:用资源上定义的Rate或采购价计费,不算差异,所以不用差异账户
是:外协件时,把采购差异部分吸收到差异账户
Absorption Account 吸收账户,类似库存科目
Variance Account 差异账户
Rates属性
成本类型。实际执行的都是Frozen,其他的类型都是用来准备、模拟
Cost Type
或者备份的。
费率,即单价、单位成本,针对上面定义的资源单位来说的,如每小时
Unit Cost
多少“钱”,这里“钱”的单位是本为币。
我们本章练习定义的数据如下:
组织ID 资源代码 描述 成本要素 资源类型 计费基准 费率
104 HR01 初级工 Resource Person Item 10
104 HR02 测试工 Resource Person Lot 11
104 HR03 特级工 Resource Person Item 20
104 MS01 机器 Resource Machine Item 10
制造费用定义
N: CST/Setup/Sub-Elements/Overheads
任何除物料间接费用外的间接费用,如水、电、煤、现场管理费等,都可以定义为
Overhead(制造费用)。Overhead纯属成本概念,并不影响Routing的定义和使用;
Oracle通过其与Resource的关联,实现自动计算成品/半成品的单位成本、生产成本的
目的。
我们创建如下资源:Water、Coal并设置其与HR01/MS01、HR01/HR02/HR03相关
联。这里也可以直接定义制造费用在各部门的费率。
制造费用定义关键字段:
Attribute Name Description
Header属性
Overhead 费用代码
Cost Element 费用类型,包括制造费用、物料费用
Absorption Account 吸收账户,类似库存科目
默认的计费基准
Item 每工单消耗的数量=完工的装配件数量
Default Basis Lot 每工单消耗的数量=1,与移动数量、移动次数无关!
Resource Unit 每工单消耗的数量=消耗的资源数量
Resource Value 每工单消耗的数量=消耗的资源数量 * 资源自身的费率
Activity 默认的计费活动
Resource属性
成本类型。实际执行的都是Frozen,其他的类型都是用来准备、模拟
Cost Type
或者备份的
关联的资源。也就是说,当关联的资源被消耗时,此费用也被消耗。那
Resource Associate 么如何被消耗呢?要看费用计费基准,得到消耗量;那么如何计算
“钱”呢?要根据消耗量*费率得到本位币金额
我们本章练习定义的数据如下:
组织ID 制造费用 描述 成本要素 默认计费基准 资源
104 Coal Overhead Resource Units HR01
104 Coal Overhead Resource Units HR02
104 Coal Overhead Resource Units HR03
104 Water Overhead Resource Units HR01
104 Water Overhead Resource Units MS01
104 Coal Overhead Resource Units HR01
部门
N: BOM/Routings/Departments
这里的部门,可以等价于工作中心、加工中心、成本中心,并不是我们所说的财务、
市场、计划部门。
1、 定义部门和资源的关系,即部门拥有什么资源
2、 定义部门费率,想定多少就定多少^o^~^o^,不过不能定义Frozen的
部门定义关键字段:
Attribute Name Description
Header属性
Department 部门代码
Location 用于外协工序PO的收货地址
Resources属性
Resource 部门拥有的资源
Available 24 Hours 是否24小时可用,仅供资源计划使用
Units 本部门有多少“份”该资源
Rates属性
成本类型。实际执行的都是Frozen,其他的类型都是用来准备、模拟
Cost Type
或者备份的
Overhead 制造费用
Basis 计费基准,默认从Overhead那里带过来
Rate or Amount 针对计费基准的计费数量,注意不是金额!
我们本章练习定义的数据如下:
组织ID 制造费用 描述 成本要素 计费基准 部门 费率
104 Coal Overhead Item Assembling 1.2
104 Coal Overhead Lot Packing 1.1
104 Coal Overhead Resource Units Testing 1.3
104 Coal Overhead Resource Value Wheeling 1
104 Water Overhead Resource Units Assembling 1
104 Water Overhead Resource Units Packing 1
104 Water Overhead Resource Units Testing 1
104 Water Overhead Resource Units Wheeling 1
标准工序
N: BOM/Routings/Standard Operations
标准工序相当于一份工序模版,通常代表每个加工中心最常用的生产工序。
Manufacturing应用模块 BOM: Routing工艺路线 21 of 93
File Ref: 深入浅出Oracle EBS之核心功能(MFG).doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 2, 2007
每个部门都可以定义若干标准工序,然后在定义实际工艺路线的时候,可以直接引用
这些标准工序,视情况加以修改即可,提高Routing维护的效率和准确性。
这里我们定义一个“总装部门”标准的“装配工序”,详细字段参考下节:
主Routing
N: BOM/Routings/Routings
前面的设置都是为Routing准备的。
这里我们逐一创建前面介绍的“自行车组装”的工艺路线,资源只能选与工序中的部
门有关联的,即只能选择本部门拥有的资源;其中10工序引用标准工序:
常用字段详细说明,粗体部分是必须要掌握的:
Attribute Name Description
Header属性
Item 装配件物料编码
Alternate 替代号,主Routing为空
Revision 修订号,单独创建修订号;与Item分开维护的
Date 查询条件,显示有效日期大于该日期的组件
Display 查询条件,显示当前还是将来Routing
Implemented Only 查询条件,显示已实施的工序还是未实施的
Operations::Main属性
Item Seq 工序序号,同一有效期内不能重复
Code 引用的标准工序代码
Referenced 是否保持引用,如果是,那么本Routing的工序无法修改
Department 加工部门
可选工序,与选项BOM对应。
如果这里选N,那么由模型BOM生成对应的Configuration Routings
Option Department 时,该工序会被加入。
如果选Y的话,那就要看对应的组件是否包含在最终的Configuration
BOM里面,有的话该工序会被加入,否则的话不加入
本工序之前的所有工序,占装配件整个制造提前期的%比,用于MRP
Lead Time% 比如装配件的提前期为10天(在Item上定义),本工序前面还有2道工
序,其总共需要2天,那么这里就是输入20%
Operations::Date Affectivity属性
Effective Date 生效日期,工序号+生效日期,是潜在的主键
Disable Date 失效日期
Operations::WIP属性
Count Point 参考“WIP: Discrete Jobs/基础业务学习/计数点、自动计费”
Autocharge 参考“WIP: Discrete Jobs/基础业务学习/计数点、自动计费”
Backflush 参考“WIP: Discrete Jobs/基础业务学习/物料倒冲”
Min Transfer Qty 工序移动事务处理的最小移动量。0代表无限制,即移动时不警告
Operations::Operation Yield属性,Routing Network的属性,待研究
Yield
CUM Yield
Operations::ECO属性
Implemented ECO是否已经实施
我们本章练习定义的Routing数据如下:
装配件 替代 完工库 序号 部门 资源号 资源 基准 使用量
960001 FSG1 10 Assembling 10 HR01 1 0.2
960001 FSG1 10 Assembling 20 MS01 1 0.05
960001 FSG1 20 Packing 10 HR01 1 0.1
960001 FSG1 30 Testing 10 HR02 2 0.1
960002 10 Wheeling 10 HR01 1 0.2
替代号
N: BOM/Setup/Alternates
替代号定义是和BOM共享的,所以可以使用已有的,或者定义新的AAA:
替代Routing
N: BOM/Routings/Routings
差别仅仅在于多一个替代号。这里不再详述,请读者自行练习。
我们本章练习定义的Routing数据如下:
装配件 替代 完工库 序号 部门 资源号 资源 基准 使用量
960002 AAA 10 Wheeling 10 HR03 1 0.1
修改工序
N: BOM/Routings/Routings
对于工序或者其下资源的修改,比如修改部门、资源、使用量等,可以直接修改相应
行,这样简单、直接,但是无法保留痕迹。建议的做法有2:一是“拷贝”一行进行修
改,失效原行;二是通过ECO(Engineering Change Order工程更改单)来做。
这里用方法1,先查出要改的Routing,在要修改的行填入“失效日期”,保存后;新
增一条记录,录入同序号工序;因为资源是和工序相关联的,所以必须重新录入新的
资源信息。
这样实际上产生了新版本(Version)的Routing,如此例,08-NOV-2006 13:05:59及
之前是一个版本,08-NOV-2006 13:06:59及之后是另外一个版本;严格说,这两个时
间的空档内,又是一个版本。
资源使用处
N: BOM/Routings/Resource WhereUsed
4.12. 其他重要问题
虽然没有标记版本号,前面的“Modify Operation”因为有有效时间范围进行区分,
使Routing在不同时点具有不同的Version(版本);另一方面,Routing是可以创建
Revision(修订号)的,不同Revision的Routing,其版本当然也不同。
所以,总的来说,可以通过这两种方式维护不同的Routing版本。
如何写Routing SQL
Routing的SQL写法相对简单,但也要注意有效日期、类型的限制。下面是取当前时点
(Sysdate)Routing的例子,尚缺考虑Revision:
如何写Resource及其费率 SQL
比较简单,注意成本类型即可:
SELECT res.organization_id,
res.resource_code,
res.description,
lov_cse.meaning cost_element,
CASE
WHEN res.cost_element_id IN (3, 4) THEN
decode(res.functional_currency_flag,
1,
'Currency',
lov_brt.meaning)
ELSE
lov_cse.meaning
END resource_type,
lov_dbs.meaning default_basis_type,
crc.resource_rate
FROM bom.bom_resources res,
apps.fnd_lookup_values_vl lov_cse,
apps.fnd_lookup_values_vl lov_dbs,
apps.fnd_lookup_values_vl lov_brt,
bom.cst_resource_costs crc
WHERE res.cost_element_id = lov_cse.lookup_code
AND 'CST_COST_CODE_TYPE' = lov_cse.lookup_type
AND res.default_basis_type = lov_dbs.lookup_code
AND 'CST_BASIS' = lov_dbs.lookup_type
AND res.resource_type = lov_brt.lookup_code
AND 'BOM_RESOURCE_TYPE' = lov_brt.lookup_type
AND res.resource_id = crc.resource_id
ORDER BY 1, 2, 3, 4;
如何写制造费用、关联的资源、费率SQL
实际上,Oracle把各成本子要素的定义都存储在bom_resources表中,所以写SQL的时
候需要注意自连接的使用,不要混淆。
制造费用关联的资源:
SELECT owh.organization_id,
owh.resource_code overhead_code,
owh.description,
lov_cse.meaning cost_element,
lov_dbs.meaning default_basis_type,
res.resource_code resource_code
FROM bom.bom_resources owh,
apps.fnd_lookup_values_vl lov_cse,
apps.fnd_lookup_values_vl lov_dbs,
bom.cst_resource_overheads cro,
bom.bom_resources res
WHERE owh.cost_element_id = lov_cse.lookup_code
AND 'CST_COST_CODE_TYPE' = lov_cse.lookup_type
AND owh.default_basis_type = lov_dbs.lookup_code
AND 'CST_BASIS' = lov_dbs.lookup_type
AND owh.resource_id = cro.overhead_id
AND cro.resource_id = res.resource_id
制造费用的部门费率:
SELECT owh.organization_id,
owh.resource_code overhead_code,
owh.description,
lov_cse.meaning cost_element,
lov_dbs.meaning default_basis_type,
dept.department_code,
cdo.rate_or_amount
FROM bom.bom_resources owh,
apps.fnd_lookup_values_vl lov_cse,
apps.fnd_lookup_values_vl lov_dbs,
bom.cst_department_overheads cdo,
bom.bom_departments dept
WHERE owh.cost_element_id = lov_cse.lookup_code
AND 'CST_COST_CODE_TYPE' = lov_cse.lookup_type
AND owh.default_basis_type = lov_dbs.lookup_code
AND 'CST_BASIS' = lov_dbs.lookup_type
AND owh.resource_id = cdo.overhead_id
AND cdo.department_id = dept.department_id
如何删除Routing
N: BOM/Delete Groups
统一通过删除组删除,这样可以统一检查是否已有事务处理等约束条件,没有的话方
可删除。
制造提前期及其累计
制造提前期累计。
职责:Cost Management
5.1. 基础业务学习
总体说明
物料成本就是一个Item的成本,所以也有公司叫单品成本、产品成本、单位成本。
与实际业务一样,EBS系统中有关物料的事务处理,均以Item为基础,进一步,其成
本核算都是基于“物料成本”计算的。
在系统中,采购、库存事务、WIP也与物料成本息息相关,如PO算采购价差/发票价
差、INV算库存价值及交易成本、WIP算生产成本及其差异等也是直接以物料成本为
基础的。
那么“物料成本”怎么来的呢?其一当然是手工输入,直接定义;不过实际使用中,
一般都是由系统根据相应的成本方法自动计算。为此需要先了解一些Oracle中的成本
概念。
成本结构:Oracle提供的成本模型
库存组织:成本模块和其他制造模块一样,都是基于“库存组织”来定义、记录、屏
蔽基础数据和业务数据;此外,与BOM的Common一样,成本也可以从其他组织
Share过来,不过Share仅限于标准成本法,并且Share组织不能启用WIP功能;Share
组织叫“成本子组织”,相应的,被Share的组织的叫“成本主组织”,大部分企业应
用中,都不使用Share功能,所以组织的“成本主组织”通常也是自己。
成本方法:系统支持永续成本法(每笔事务处理实时核算成本)、期间成本法(以期
间为单位核算事务处理成本)。前者是主要的核算方法,具体分标准、移动加权平
均、FIFO、LIFO,一个库存组织只能使用并且必须使用一种永续成本法,通常由经营
特性或者行业法规确定;后者通常作为补充,具体分PAC期间平均成本、期间LIFO,
亦是由法规、会计准则规定。一个库存组织,同时使用永续成本法和期间成本法时,
“对于同一项成本事务,可以产生多套成本会计分录。 但可以选择只将某一套会计分
录传送到总帐,使得成本处理符合法规的规定”,这个通过选择不同的过账程序来实
现。
通常制造企业采用标准成本法,分销/零售企业采用平均成本法。
成本要素:比较重要,参见下面说明。
基准类型:比较重要,参见下面说明。
物料成本在系统中具体细分为5大要素的成本:Material、Material Overhead、
Resource、Outside Processing、Overhead。与实际成本分析中的“料、工、费”对
应。
这5大要素是整个成本核算的重要基础,也是我们理解系统成本计算和流转的关键。库
存价值账户、WIP估价账户、WIP差异账户、各要素吸收账户、库存成本分录、WIP
资源分录、WIP成本差异、物料成本卷积等等,都是基于此来处理的——从技术角度
看,其成本相关的程序代码,Oracle都是写死处理这5大要素的。
1、材料Material:材料成本,通常是BOM最底层的组件的直接采购成本。
2、材料间接费Material Overhead:材料的管理费。
3、资源Resource:直接制造成本,通常指直接消耗的人工、设备、场地、杂项费用。
4、外协Outside Processing:委外加工费,可与Item关联以便通过采购接收管理。
5、制造费用Overhead:资源消耗和外协处理过程中的间接费用。
系统中,如果要使用上述任一要素,必须至少定义一个对应的子要素Sub Element,
这实际上提供了一个灵活、细致的平台,用户可以根据自己的成本核算特点“随意”
设置。
材料子要素:如不细分,设一个笼统的“原材料”子要素即可;也可细分如胶料、钢
构、化学品、土豆等等。
材料间接费子要素:设置材料管理费明细,诸如采购费、运费、税款等等。
资源子要素:可设置各类实际资源,如车床1、硫化机1、普通人工、技工等等。
外协子要素:设置委外加工类型,也可按供应商设置,也可与Item关联。
制造费用子要素:即设置制造费用明细,如水、煤、电。
从成本要素看,物料成本的构成如下:
物料成本
材料 材料间接 资源 外协 管理费
…… …… …… …… ……
EBS处处使用自动化计算功能,成本核算亦不例外。自动化既要处理好“何时算、如
何算”的问题,也要明确“多少量、多少钱、以什么账户借贷”的问题。基准类型,
是用来确定“如何算数量”的。
回顾之前的Routing章节,制造费用、资源都有涉及计费基准的设置,归纳起来是:
基准类型 公式说明 使用子要素
单Item消耗的数量=1
物料Item 每WIP消耗的数量=移动或完工的装配件数量 所有
每PO消耗的数量=接收的物品数量?待验
单Item消耗的数量=1/Item Cost上定义的批量
批次Lot 每WIP消耗的数量=1,与移动数量、移动次数无关 所有
每PO消耗的数量=接收数量/Item上定义的标准批量?待验
单Item消耗的数量=0,直接定义
资源使用量 物料管理费
单Item消耗的数量=Routing资源使用量,卷积
Resource Unit 制造费
每WIP消耗的数量=消耗的资源数量
单Item消耗的数量=0,直接定义
资源使用金额 物料管理费
单Item消耗的数量=Routing资源使用量*资源费率,卷积
Resource Value 制造费
每WIP消耗的数量=消耗的资源数量*资源费率
单Item消耗的数量=除材料间接费外的成本总和,直接定义
总价值
物料管理费
Total Value
单Item消耗的数量=活动数 / 每活动Item数,直接定义
活动Activity 物料管理费
注:“单Item消耗”用于“物料成本”自动计算和卷积;“每WIP消耗”用于“在制
品成本”自动计算,“每PO消耗”用于“采购成本”计算。
成本卷积Rollup:根据BOM、Routing、各种费率及基准类型计算装配件成本
成本卷积应用于装配件,其成本=下层的组件成本 + 自身加工成本。从下往上观察下
图,可直观看出自行车的成本为何=170.00。
物料: 自行车
卷 积 上 来 的 成 本 : 1 7 0 .0 0
其中
下 层 材 料 成 本 : 1 2 0 .0 0
下 层 工 费 成 本 : 2 0 .0 0
本 层 工 费 成 本 : 3 0 .0 0
物料: 车架 x 1
卷 积 上 来 的 成 本 : 1 1 0 .0 0
物料: 车轮 x 2
其中:
成 本 : 1 5 .0 0
下 层 材 料 成 本 : 9 0 .0 0
本 层 工 费 成 本 : 2 0 .0 0
注:此图改选自汉得《CST_Function_Training.ppt》
成本的Level和Source
从成本卷积的角度看,各种成本又可分为:
本层-非卷积:直接定义在本物料上的成本,如上述把手、车座的成本。
本层-基于卷积:由本物料的Routing计算而来的成本,如上述车架、自行车的“本层
工费成本”。
下层-基于卷积:由本物料的BOM卷上来的成本,如上述车架的“下层材料成本”、自
行车的“下层材料成本”和“下层工费成本”。
这里的“下层”,有些文档叫“上层”,这是翻译的问题!对应的英文其实叫
“Previous”,所以用英文反倒不会歧义。
成本类型Cost Type:保存各个版本的成本数据
系统中使用Cost Type来保存各个版本的成本数据:现行的成本、备份的成本、准备使
用的成本、模拟的成本等。所以如果要取一个物料的成本,必须指定是哪个成本类型
下的。
因为可以建立无数个成本类型,实际上就可以保存任何有意义的成本版本,如每年保
留一份历史成本。
现行成本使用的成本类型是“内置”的,即Oracle写死的,且不同的成本方法不同:
标准成本法使用“Frozen”、平均成本法使用“Average”、FIFO成本法使用
“FIFO”、LIFO成本法使用“LIFO”。
除非初始定义,不然不允许直接定义或者卷积这些“内置”成本类型下的物料成本甚
至各种费率,必须先在其他成本类型(通常是Pending)里面把成本数据准备好——手
工定义+卷积,最后同过Cost Update程序更新到现行成本类型上。
成本分录:重要!
成本相关分录非常多,并且不同成本方法下有些不同,尤其是差异的计算,这里仅讨
论成本核算最常用的分录,全面内容请参考《深入浅出Oracle EBS之分录、物流、单
据流》。
系统中的成本分录都是基于成本要素的——5大要素及其子要素。
首先看下主要的帐户设置(界面自己去复习):
1、 INV库存设有5大“库存价值账户”——对应5大要素,也设有各种“差异账户”。
2、 INV子库存设有5大“库存价值账户”。
3、 WIP工单类型设有5大“估价账户”、4大“差异账户”(物料的两个用同一个)。
4、 除“Material”外的4种子要素都设有1个“吸收账户”,资源设有“资源差异账
户”。
再看下各种事务处理的具体分录,以标准成本为例:
借/贷 账户 金额 备注
采用应计制时,采购入库;如果是采购从库存退货,借贷相反即可
实际是有成本不为0的要素
借 5大子库科目 标准成本 * 入库数量
科目,不一定是5大,下同
采购接收科目 采购价格 * 入库数量 如果采购价大于标准成本,
贷
PPV科目 上述两者差额 采购价格差异在借方
账户或账户别名杂项入库;如果是出库,借贷相反即可
借 5大子库科目 标准成本 * 入库数量
贷 杂项科目 标准成本 * 入库数量
子库转移,分录仅产生在转出子库的事务处理行上
借 转入方5大子库科目 标准成本 * 转移数量
贷 转出方5大子库科目 标准成本 * 转移数量
假定无运费和溢价,并且不考虑FOB,组织间转移之转出方
借 组织间应收科目 标准成本 * 转移数量
贷 转出方5大子库科目 标准成本 * 转移数量
假定无运费和溢价,并且不考虑FOB,组织间转移之转入方
借 转入方5大子库科目 标准成本 * 转移数量
贷 组织间应付科目 标准成本 * 转移数量
销售发运出库
借 销售成本科目 标准成本 * 出库数量
贷 5大子库科目 标准成本 * 出库数量
WIP组件发料;如果是WIP组件退料,借贷相反即可
借 5大WIP估价账户 标准成本 * 发料数量 相当于把成本归集到在制品
贷 5大子库科目 标准成本 * 发料数量
WIP资源事务(包含资源、外协、制造费,下同),如果发生资源退回,借贷相反即可
借 5大WIP估价账户 吸收的数量 * 费率 相当于把成本归集到在制品
贷 各要素吸收账户 吸收的数量 * 费率 吸收账户类似“库存价值”
WIP装配件完工;如果是WIP装配件退回,借贷相反即可
借 5大子库科目 标准成本 * 完工数量
贷 5大WIP估价账户 标准成本 * 完工数量 相当于把成本从在制品转出
WIP装配件报废;如果是对已入库的装配件报废,相当于多做了一次WIP装配件退回而已
借 输入的报废科目 标准成本 * 报废数量
贷 5大WIP估价账户 标准成本 * 报废数量 相当于把成本从在制品转出
WIP关闭差异,假定估价账户余额在借方,如果是余额在贷方,借贷相反即可
借 4大WIP差异账户 本工单估价账户余额
贷 5大WIP估价账户 本工单估价账户余额 把余额全部转入差异
成本更新之库存价值,针对成本有变、有现有量的Item;如果成本变小,借贷相反即可
借 5大子库科目 成本差额 * 现有量
贷 成本更新差异科目 成本差额 * 现有量
成本更新之WIP价值,针对未关闭工单的已投入组件和资源;如果成本变小,借贷相反即可
借 5大WIP估价账户 成本差额 * 已投入量
贷 成本更新差异科目 成本差额 * 已投入量
5.2. 核心功能流程
Item Cost学习流程
菜单排除设置
N: Sys/Security/Responsibility/Define
下面列出Function,至于要应用到哪些职责,根据实际需要设置。
Function/Menu 说明
可使得物料清单模块、工程模块的相关职责没有维护资源成
Privilege to Maintain Cost
本、定义资源管理费的权限
可使得物料清单模块、工程模块的相关职责没有查看资源、资
Privilege to View Cost
源管理费成本信息的权限
成本子要素
N: CST/Sub-Elements/Material
Manufacturing应用模块 CST: Item Cost物料成本 34 of 93
File Ref: 深入浅出Oracle EBS之核心功能(MFG).doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 2, 2007
定义Rubber、Steel两个物料子要素,分别基于Lot和Item。
N: CST/Sub-Elements/Overhead
定义Purchasing等6个物料间接费子要素,分别基于6个计费基准,并都与HR01关联。
材料间接费这里无须定义费率,其应当在Item Cost中直接定义。
测试数据的Frozen成本如下:
成本要素 子要素 基于资源 基准类型
Material RUBBER Lot
Material STEEL Item
Material Owh Duty Lot
Material Owh Purchasing Item
Material Owh Import1 Res Units
Material Owh Import2 Res Value
Material Owh Import3 Ttl Value
Material Owh Import4 Activity
物料成本
直接定义采购件的Frozen成本,这里是91开头的物料,具体是点击Costs按钮,然后按
照子要素输入成本,可以自己研究下主界面的成本如何计算出来。
关键字段说明:
Attribute Name Description
Header属性
Item 物料编码
Cost Type 成本类型
Based on Rollup 成本基于卷积,通常装配件是Yes,最底层采购件是No
Include In Rollup 装备件卷积时,本组件包含在其中,一般都是Yes
Lot Size 计算成本用的批量
Unit Cost 单位总成本,只读
Material 物料的总成本,只读
Material Overhead 物料间接费要素的总成本,只读
Resource 资源的总成本,只读
Outside Processing 委协的总成本,只读
Overhead 制造费用的总成本,只读
User Def Item Costs属性
Cost Element 成本要素
Sub-Element 成本子要素
Activity 活动
Basis 基准类型
Rate or Amount 单位成本
Unit Cost 根据批量、基准类型、单位成本计算而来,是Header上各成本的来源
Rollup Item Costs属性,同User Def
测试数据的Frozen成本如下:
物料 成本要素 子要素 基于资源 基准类型 卷积来源 层次 费率 基准 成本
910001 Material RUBBER Lot User def This 10 0.125 1.25
910001 Material STEEL Item User def This 10 1 10
910001 Material Owh Duty Lot User def This 0.1 0.125 0.0125
910001 Material Owh Purchasing Item User def This 0.1 1 0.1
910001 Material Owh Import1 Res Units User def This 0.1 0 0
910001 Material Owh Import2 Res Value User def This 0.1 0 0
910001 Material Owh Import3 Ttl Value User def This 0.1 11.25 1.125
910001 Material Owh Import4 Activity User def This 0.1 0.5 0.05
910002 Material RUBBER Lot User def This 10 0.125 1.25
910003 Material STEEL Item User def This 10 1 10
910004 Material STEEL Item User def This 5 1 5
成本类型
N: CST/Setup/Cost Types
可以新定义,也可以直接使用系统提供的Pending:
标准成本法内置的成本类型Frozen:
其中的Snapshot Bills的用途,在于把运行卷积时的所有BOM,快照到一个替代项;
Default Cost Type指如果在本Cost Type下物料没有成本,则从Default Cost Type取。
成本卷积
关键参数说明:
Attribute Name Description
Cost Type 欲把成本卷积到哪个成本类型
Rollup Option 卷积单层,还是全部
Range 是所有物料,还是指定物料类别和范围,也可卷积0成本物料
Include
是否包含未实施的ECO
Unimplemented ECOS
Alternate Bill 可指定用哪个BOM替代号卷积,默认用主BOM
Alternate Routing 可指定用哪个Routing替代号卷积,默认用主Routing
Engineering Bills 是否用工程BOM来卷积
物料成本
测试数据的Frozen成本如下:
物料 成本要素 子要素 基于资源 基准类型 卷积来源 层次 费率 基准 成本
960001 Material Item Rolled up Previous 36.25 1 36.25
960001 Material Owh Item Rolled up Previous 1.2875 1 1.2875
成本更新
物料成本
可以看到,Frozen里面有成本了,并且和Pending一致,图略。
事务处理
具体Transactions操作参考其他章节,关键是核对下成本分录是否正确,比如:
查看库存事务处理及其分录:
N: INV/Transactions/Material Transactions
查看WIP资源事务处理及其分录:
N: WIP/Resource Transactions/View Resource Transactions
查看WIP值汇总及其分录,查看差异的地方:
N: WIP/Discrete or Repetitive/WIP Value Summary
所有Cost相关的事务处理,都在:
N: CST/View Transactions下面
5.12. 其他重要问题
每次执行标准成本更新,系统都会保留一份物料的历史成本(不包含子要素明细),
以供日后查看;当然了,用户也可以手工把现行成本考虑到某个成本类型,同样达到
备份的作用,而且有子要素明细记录。
成本数据成批编辑:从其它成本类型拷贝、按百分比增加成本、修改成本相关账户、
修改成本控制参数(基于卷积、包含在卷集中、批量)。
如何写Item成本SQL
物料成本主要涉及两个表:头表保存汇总过的5大要素成本和总成本,行表保存各子要
素的明细成本。
物料成本是分组织屏蔽的,同时也要注意按照成本类型区分。物料成本SQL如下:
SELECT mst.organization_id,
mst.segment1,
cct.cost_type,
cic.item_cost,
cic.material_cost,
cic.material_overhead_cost,
cic.resource_cost,
cic.outside_processing_cost,
cic.overhead_cost,
cic.lot_size,
cic.based_on_rollup_flag,
cic.defaulted_flag
FROM inv.mtl_system_items_b mst,
--Filter
AND mst.organization_id = 104
AND mst.segment1 LIKE '9%'
AND cct.cost_type = 'Frozen';
测试数据的Frozen成本如下:
物料编码 物料成本 材料成本 材料间接 资源成本 外协费用 制造费用 批量
910001 12.5375 11.25 1.2875 8
910002 1.25 1.25 8
910003 10 10 8
910004 5 5 8
960001 55.6535 36.25 1.2875 9.72 8.396 5
960002 18.8 12.5 3 3.3 5
960003 0 0 0 0 0 0 5
960004 0 0 0 0 0 0 5
物料明细成本SQL如下:
SELECT mst.organization_id,
mst.segment1,
cct.cost_type,
cce.cost_element,
res1.resource_code sub_element,
res2.resource_code base_resource,
lu1.meaning basis,
lu2.meaning rollup_source_type,
lu3.meaning level_type,
cicd.usage_rate_or_amount,
cicd.basis_factor,
cicd.net_yield_or_shrinkage_factor,
cicd.item_cost
FROM inv.mtl_system_items_b mst,
bom.cst_item_cost_details cicd,
bom.cst_cost_types cct,
bom.cst_cost_elements cce,
mfg_lookups lu1,
mfg_lookups lu2,
mfg_lookups lu3,
bom.bom_resources res1,
bom.bom_resources res2
WHERE mst.organization_id = cicd.organization_id
AND mst.inventory_item_id = cicd.inventory_item_id
AND cicd.cost_type_id = cct.cost_type_id
AND cicd.cost_element_id = cce.cost_element_id
AND lu1.lookup_type = 'CST_BASIS'
AND lu1.lookup_code = cicd.basis_type
AND lu2.lookup_type = 'CST_SOURCE_TYPE'
AND lu2.lookup_code = cicd.rollup_source_type
AND lu3.lookup_type = 'CST_LEVEL'
AND lu3.lookup_code = cicd.level_type
AND cicd.resource_id = res1.resource_id(+)
AND cicd.basis_resource_id = res2.resource_id(+)
--Filter
AND mst.organization_id = 104
AND mst.segment1 LIKE '9%'
AND cct.cost_type = 'Frozen';
6. CST: 成本方法对比
应用:Bills of Material
职责:Cost Management
6.1. 基础业务学习
总体说明
待续
6.2. 核心功能流程
xxx学习流程
6.3. 其他重要问题
职责:Work in Process
7.1. 基础业务学习
制造方法概述
离散式:用于装配件的分组或成批制造。通常将生产成本记入任务,并按任务来分
析、报告成本和差异。
项目式:用于大宗生产合同或项目,一般根据特定合同或特定客户合同组来编制。在
Oracle中可以与Project模块紧密集成。
ATO:用于客户可配置的产品制造模式。在Oracle中通常与OM和Shipping模块集成
使用。
重复式:用于在预定的时间间隔内,在生产线上连续或半连续生产装配件。在Oracle
中生产线和装配件是多对多的关系;通常将生产成本计入装配件和生产线,在期间关
闭过程中按装配件和生产线来分析并报告成本。
流水式:采用“及时”(JIT) 思想进行排产,能够使生产和客户需求同步。在Oracle中
可以与INV看板集成。
WIP解决的问题
WIP支持的制造环境:离散式、重复式、混流式、按订单装配式、基于项目式或者是
各种形式的组合。
WIP负责记录生产相关信息:“生产什么”——工单制定、下达;“生产步骤”——
工序及其移动;“投入什么”——组件需求和投料、资源投入和费用吸收。
WIP负责生产成本的归集和差异分析:“投入多少”——投入多少组件、投入多少资
源、吸收多少制造费用;“产出多少”——完工多少装配件、报废多少装配件;“差
异及其原因”——投入 - 产出可以算出差异,系统还提供明细差异信息。
WIP在ERP中的地位
WIP是Oracle的生产信息管理系统,同时与BOM、INV、OM、PO、MRP、QA、
CST、GL等模块紧密集成。
BOM:是WIP的组件需求来源;同时BOM也是成本卷积的基础,决定装配件的成本。
INV:装配件和组件都是库存物料,同时物料属性中控制是否可“Build in WIP”属
性,还有其他一些默认设置;此外投料、完工、报废都会产生MMT库存事务处理。
OM:ATO销售方式可自动创建配置BOM、自动创建WIP;WIP的完工反过来会推动
SO发运。
PO:外协工序自动创建请购单接口数据,然后应用标准的PO流程,接收后回到WIP,
根据设置自动或手工推动WIP工序移动。
MRP:WIP工单作为MRP的供应,其组件需求作为MRP的需求。
CST:投料、完工、报废、资源、制造费的成本计算都是使用现行成本。
GL:WIP的库存分录、资源分录、制造费分录、差异分录最终需要传至GL生成凭证。
供应控制,针对投料
供应控制默认顺序:制定WIP工单的时候默认从BOM上带过来,然后可以修改;而定
义BOM的时候默认从Item上带过来,同样可以改。具体类型为:
注:不管何种方式,都可以通过手工发料,在发料界面选“Specific”即可。
物料倒冲(Backflush)
物料倒冲,即WIP移动工序时执行自动投料或退料。
投料的范围:本拉式工序及前工序未Backflush的组件。
投料的条件:组件供应类型为Operation Pull。
投料的数量:WIP移动的数量*每单位组件需求量。
投料的时机:跨过或Move到本工序的To Move。
退料的时机:移动回拉式工序的Queue或前工序。
计费类型,针对资源何时自动消耗
计费类型默认顺序:制定WIP工单的时候默认从Routing上带过来,然后可以修改;而
定义Routing的时候默认从Resource上带过来,同样可以改。具体类型为:
计费类型 具体描述
WIP Move WIP移动出工序时计费
Manual 需要手工做Resource Transaction,即使Autocharge=Yes
PO Receipt 外协PO接收后计费,但WIP本身需要手工移动
外协PO接收后计费,同时自动移动WIP至下工序的Queue;如果本工序是最
PO Move
后一道工序,那么移动至To Move
计费基准,针对资源、费用以何基础计算
计数点、自动计费
计数点(Count Point)控制是否需要显式做工序移动。在实际应用中计数点工序主要
是指那些需要严格控制组件消耗,和装配件移动的重要工序。
设置值 具体描述
Yes 工序移动需要移入该工序;移动时该工序会作为To的默认值
No 工序移动可不移入该工序;移动时该工序不会作为To的默认值
Manufacturing应用模块 WIP: Discrete Jobs离散任务 46 of 93
File Ref: 深入浅出Oracle EBS之核心功能(MFG).doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 2, 2007
自动计费(Autocharge)控制是否只有显式移入移出该工序才对资源进行计费。
设置值 具体描述
Yes 不管WIP工序移动是否显式移入移出该工序,其资源都要被计费
No 只有WIP工序移动显式移入移出该工序,其资源才被计费
“计数点”与“自动计费”的组合如下:
计数点 自动计费 具体描述
No Yes 需要计费,但不需要明确监控;用于非瓶颈工序如检查工序
No No 只在某些情况下才移入本工序,才消耗资源;用于返工工序
需要计费,并且需要明确监控;用于瓶颈或需要关心的工序。最后
Yes Yes
一道工序必须是这个
Yes No 系统不允许这种组合
内部工序
对每一工序(Operation),可以进一步细分,考察“物品A”经过“工序X”加工后
成为“物品B”这个过程,至少经历:准备“A”即从车间库放到机台旁、加工
“A”、完成后把“B”放置在产出区。WIP模块具体用下列内部工序来详细记录:
内部工序 具体描述
Queue 排队,准备加工,如备料、换模、初始化设备状态等
Run 正在加工,如装配、硫化、打磨等
To Move 加工完毕,等待判定:完工或报废。触发工序拉式组件的倒冲
不合格,等待判定是否真的需要报废,不能在完工界面做完工单可以在
Reject
工序移动界面做完工。不触发倒冲
报废,可以报废至指定账户从而把成本从工单转出或者仅仅减少工单剩
Scrap
余数量。触发工序拉式或装配拉式组件的倒冲
工单状态
典型的WIP工单,其周期通常是Unreleased制定->Released下达->Complete完成-
>Closed关闭。实际上还有很多由系统控制的状态,一一描述如下:
1、 投入成本
投入组件的成本 = 投入组件①材料成本②材料间接费③资源成本④外协成本⑤制造费
2、 产出成本
装配件的成本 = 装配件的①材料成本②材料间接费③资源成本④外协成本⑤制造费
7.2. 核心功能流程
回顾主数据设置
N: INV、BOM、CST
没有BOM和Routing的物料,是无法下达标准离散工单的,为此需要参考“INV:
Item”、“BOM: Bills of Material”、“BOM: Routing”章节进行设置;同时为核算
生产成本,也必须参考“CST: Item Cost”章节设置装配件、组件、资源和制造费用的
成本。
预制文件
N: Sys/Profiles/System
重点关注如下几个Profile的设置值:
Profile Name Description
WIP:Job Name Updatable 是否可以修改工单名称
TP:WIP Completion Transaction Form 完工处理模式
工单类型
设置工单的生产成本归集账户,必须分不同的生产类型(标准离散、非标费用、非标
资产、重复制造)进行设置;此外,因为不同加工中心的成本中心段不同,在同一生
产类型下,也会置不同的工单类型(Accounting Classe)。以下是创建的“总装”工
单类型的示例:
可以看到,主要设置3类账户:估价账户、差异账户、平均成本更新差异账户。
估价账户用来归集5大生产成本,作用类似库存价值账户:
1、 当发生投料、消耗资源时借记估价账户。
2、 当装配件完工或者报废时贷记估价账户。
3、 离散工单在关闭时、重复生产任务在库存期间关闭时,上述两者差异借记或贷记
差异账户。
4、 标准成本更新时,差异借记或贷记差异账户。
工单制订
N: WIP/Discrete/Discrete Jobs
制定标准离散任务,输入核心内容:任务名称(工单号)、生产类型、装配件、工单
类型、生产数量、开工时间或完工时间。创建工单:
其中More页面可以设置是否允许超量:
保存后,系统将根据基础数据,自动计算如下内容:
1、 根据制造提前期,自动算出完工时间或开工时间。
2、 根据BOM,自动展开标准组件需求。点击Components:
其中910001每单位需要1PCS、960002每单位需要2PCS,由于目前还没有发料,所以所
有Required数量都处于Open;由于头上的Supply Type为“Based On Bill”,供应类
型信息也是默认从BOM带过来:
3、 根据Routing,自动安排标准生产工序。点击Operations:
注:如果需要对组件需求、工序和资源做些补充修改,需要分别通过菜单N:
WIP/Job/Schedule Details下的Material Requirements、Operations。
下达
N: WIP/Discrete/Discrete Jobs
下达实际上非常简单,没有审批控制,直接在上述界面把状态改为Release即可:
普通投料
注:All Material的含义为“发放本工单组件需求中的所有物料,并且不能发放其他
物料”;Specific Component的含义为“可发放任意组件,甚至包含装配件本身”。
这里集中处理WIP的投料事务,要求准确记录每个WIP任务的投料情况。
首先是主界面:
输入工单号,系统自动带出装配件,并默认时间、投料类型——WIP component
issue;我们也可输入Subinventory/Locator作为接下来的默认子库/货位。
而Criteria里面的字段,都是查询条件,控制Continue后的数据范围,如发哪些工序、
哪些供应库的物料。
总的来说这里的内容都是用来控制查询范围和默认值的,实际事务处理行需要点击
Continue后录入:
输入子库、工序、实际投入数量,如果物料有批次控制,则需要点击Lot/Serial输入批
次,类似库存事务处理;之后点击Done完成WIP投料事务。
普通退料
退料的含义是投放到任务的组件超过任务的实际需求或者投料错误,需要把多余的或
错误的物料退回仓库。
其他投料事务
针对需求量为负数的组件来说——通常是副产品,投料和发料时,WIP要求用WIP
Neg Comp Issue和WIP Neg Comp Return来完成。
对于供应类型为拉式(装配拉式或者工序拉式)来说,系统自动根据工序以东和完工
情况完成投料,而对于大量式、补充供应的组件,需要通过杂项发出,一般是发到
WIP的差异账户。
移动
工序移动的本质是跟踪加工进程:有多少装配件在等待加工或正在某一工序的机台上
加工、有多少装配件已经进入下一工序、有多少装配件已加工完毕、有多少装配件报
废了或需要返工。
这里主要处理工序移动事务,也可以在移动的同时直接处理装配件完工和退回。
输入Job号,选择From、To工序和步骤,输入移动的Quantity(如果超过任务可移动
数量,需要勾选Overcompletion):
上述界面的含义是有90PCS的960001已经生产完毕,等待入库。点击Save记录工序移
动信息,同时系统“酌情”自动化处理如下动作,大大减少手工处理量:
1、 为工序拉式的组件触发投料事务。
2、 记录资源、制造费用的消耗。
此外,
3、 如果上述界面选择Complete,则触发装配件完工入库,并为装配拉式的组件触发
投料事务(即Backflush),无需再手工作完工操作。
4、 如果上述界面选择了Return,则触发装配件从库存退回WIP,无需再手工作退回
操作。
资源事务处理
WIP移动会自动触发资源的消耗,进一步,系统也自动消耗与资源关联的制造费用。
如果实际加工过程中,发生了额外的资源投入,可以通过“资源事务处理”手工添加
资源及其数量:
Continue:
装配件完工
注:除非超量完工,否则完工数量必须小于等于处于最后一道工序To Move的装配件
数量。
可以看到,现在有90PCS的960001可以入库了;同样,如果超过可处理量完工,需要
勾选Overcompletion。Continue:
输入入库的数量后,点击Done保存即可。也可以输入多行,完工到多个子库;如果有
批次控制,需要在这里输入批次信息。
因为910001组件为“装配拉式”,所以完工会触发Backflush:
而910001有批次和序列控制,所以需要选择批号和序列号:
装配件退回
如果发现已入库的装配件有问题,需要退回车间进行再加工,那么通过此界面执行
WIP Assembly Return,操作类似“装配件完工”,并且对于“装配拉式”的组件,
触发反向Backflush。
注:如果退回时,To Step是“Scrap”,相当于做了一次普通退回+一次报废操作。
装配件报废
报废和完工对于WIP工单来说,效果是等价的,都是从在制品转出,即贷记估价账
户;但完工是入到库存,借记的是库存价值账户,而报废需要借记一个我们在执行报
废时输入的账户。
报废操作和“移动完工”类似,差别在于,需要选择“Move”、To Step选择
“Scrap”、输入报废账户:
点击Save,完成报废。当然如果有拉式物料,这里同样会触发“Backflush”。
注:WIP Parameter上可以设置报废账户是否必须,只有设置了“必须”,这里才会
要求输入账户,才会产生报废会计分录,否则不会,相当于“人间蒸发”了。也就是
说有报废账户的“报废”,成本从估价账户转出到指定账户;而没有报废账户的“报
废”,成本仍然留在估价账户中,工单关闭时将转入差异账户。
查看物料相关事务处理和分录
操作同“INV: Transactions”,输入事务处理来源和工单号:
可以查到10002工单的物料事务处理:
第6行是“Material Issue/Return”手工做的投料,第4行是“ASM
Completion/Retrun”完工时倒冲得投料,第1、3行是“Assembly Scrap”两次报废
时倒冲的投料。分录都类似,以第一行为例:
第5行为“ASM Completion/Return”做的装配件入库,分录如下:
第2行为“Assembly Scrap”做的报废事务(另外一次报废因当时没启用报废账户而没
有形成库存事务),分录如下:
注:报废虽然有MMT库存事务,但不影响现有量。
查看工序移动事务处理
移动事务处理查询比较简单,如下是上述操作的结果:
(续)
查看资源事务处理
输入工单号10002作为查询条件后结果如下:
这个界面表示的资源消耗数量,其将作为制造费用、资源本身成本的计算基准量;其
中“Rerource”为空的行,代表的是基于Item或Lot的制造费用的计算基准量。
注:如果完工X次,这里会出现X笔相应数量的记录,但只有一笔数量为1的记录,前
者用于基于Item的制造费用的计算,后者用于基于Lot的制造费用的计算。
点击Distribution,可以看到成本明细,包括资源成本、制造费用成本。
1、 Coal基于Item:
2、 Water及HR01本身基于Resource:
3、 Coal还基于Lot:
4、 此外,资源和制造费用的分录类似:
说明
N: WIP/Discrete/Discrete Jobs
Manufacturing应用模块 WIP: Discrete Jobs离散任务 64 of 93
File Ref: 深入浅出Oracle EBS之核心功能(MFG).doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 2, 2007
经过上述各种事务处理,我们回过来可以看到,状态自动为“Complete”,完工90
个,报废10个:
关闭工单
完工之后的工单,可以关闭以便核算成本,结转差异。关闭可以通过请求批量关闭,
也可以通过Forms一个个关闭,输入工单号10002后查询:
打开工单
同上,点击菜单Tools,选择Unclose即可重新打开工单。
WIP值汇总和差异
输入工单号后查询结果如下:
点击Distribution可以查看所有分录,包括投料、完工、资源、制造费用的分录明细,
和本章前面“View XXX”小节的内容一样。
点击Value Summary可以查看工单的5大成本要素的总投入、总转出(完工)、总差
异:
至于Level页,是分本层、下层(卷积上来)进一步分析差异原因。
7.18. Transfer to GL
说明
N: INV/Request
详细内容及后续步骤,参见“INV: Transactions章节”。
7.19. 其他重要问题
批次和序列号
WIP支持组件和装配件的序列号控制。
但需要完工入库时才可以为装配件指定批次。
至于装配件序列号,可以在任务下达后指定,但接下来需要通过Mobile模块进行移动
事务处理,局限性比较大。
这对于那些在生产过程中就需要跟踪序列号的行业而言,显然需要客户化开发或借助
其他系统如MES等来完成。
非标离散工单
首先理解下5大事务处理的基本需求,有助于区别标准工单和非标工单:
1、 因为系统有“Specific”投料,所以实际上投料无限制
2、 没有装配件、没有数量、没有工序均不能做工序移动
3、 没有工序、工序上没有资源不能做资源事务
4、 没有装配件、最后一道工序To Move无数量不能做完工
非标工单和标准工单的区别:
比较项目 标准离散工单 非标离散工单
针对非正常的生产作业或偶发生产作业
适用业务 正常的车间生产 的。如返工、现场服务维修、升级、拆
卸、维护和工程原型
工单名称 必须 必须
任务类型 标准 非标准
可选,如果需要处理工序移动、完工则必
装配件 必须,且必须有BOM和Routing
须
工单类型 必须 必须
状态 必须 同“标准离散工单”
必须,可以为0;如果需要输入数量,则
数量 必须,且大于0
必须指定装配件
MRP净值 必须 必须,可为0
必须,如果有参考Routing则同“标准离
起止日期 必须,输入一个系统自动算另一个
散工单”,否则必须都输入
必须,如果是MRP下达的订单,默
冻结 不可选且为“否”
认“是”,否则默认“否”
由装配件自身决定;当然也可手工 与装配件无关,如需要则必须通过参考
BOM 添加,不能指定装配件本身作为组 BOM或者手工添加,也可指定装配件本身
件需求 作为组件需求
Routing 逻辑同同BOM 逻辑同BOM
投料事务 可以 可以
工序移动 可以 仅当工单有装配件、工序、数量时方可
资源事务 可以 仅当工单有工序及资源时方可
Manufacturing应用模块 WIP: Discrete Jobs离散任务 68 of 93
File Ref: 深入浅出Oracle EBS之核心功能(MFG).doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 2, 2007
比较项目 标准离散工单 非标离散工单
完工和报废 可以 仅当工单有装配件、工序、数量时方可
任务关闭 可以,结转差异 同“标准离散工单”
对资产类非标工单无影响;自动关闭费用
期间关闭 无影响
类非标工单
对费用类非标工单无影响;重估资产类非
成本更新 重估已投入的成本
标工单已投入的成本
工单差异SQL
按照差异账户列出:
SELECT mtp.organization_code,
oap.period_name,
wie.wip_entity_name,
lov.meaning status,
decode(cce.cost_element_id, '2', 'Material', cce.cost_element) cost_element,
decode(cce.cost_element_id,
'1',
gcc_mtl.concatenated_segments,
'2',
gcc_mtl.concatenated_segments,
'3',
gcc_res.concatenated_segments,
'4',
gcc_osp.concatenated_segments,
'5',
gcc_owh.concatenated_segments) account_code,
SUM(decode(cce.cost_element_id,
'1',
wpb.pl_material_in,
'2',
wpb.pl_material_overhead_in,
'3',
wpb.pl_resource_in + wpb.tl_resource_in,
'4',
wpb.pl_outside_processing_in +
wpb.tl_outside_processing_in,
'5',
wpb.pl_overhead_in + wpb.tl_overhead_in)) in_amount,
SUM(decode(cce.cost_element_id,
'1',
wpb.pl_material_out + wpb.tl_material_out,
'2',
wpb.pl_material_overhead_out +
wpb.tl_material_overhead_out,
'3',
wpb.pl_resource_out + wpb.tl_resource_out,
'4',
wpb.pl_outside_processing_out +
wpb.tl_outside_processing_out,
'5',
wpb.pl_overhead_out + wpb.tl_overhead_out)) out_amount,
SUM(decode(cce.cost_element_id,
'1',
wpb.pl_material_var + wpb.tl_material_var,
'2',
wpb.pl_material_overhead_var +
wpb.tl_material_overhead_var,
'3',
wpb.pl_resource_var + wpb.tl_resource_var,
'4',
wpb.pl_outside_processing_var +
wpb.tl_outside_processing_var,
'5',
wpb.pl_overhead_var + wpb.tl_overhead_var)) var_amount
FROM inv.mtl_parameters mtp,
inv.org_acct_periods oap,
wip.wip_period_balances wpb,
wip.wip_discrete_jobs wdj,
wip.wip_accounting_classes wac,
wip.wip_entities wie,
apps.fnd_lookup_values_vl lov,
apps.gl_code_combinations_kfv gcc_mtl,
apps.gl_code_combinations_kfv gcc_res,
Manufacturing应用模块 WIP: Discrete Jobs离散任务 69 of 93
File Ref: 深入浅出Oracle EBS之核心功能(MFG).doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 2, 2007
apps.gl_code_combinations_kfv gcc_osp,
apps.gl_code_combinations_kfv gcc_owh,
bom.cst_cost_elements cce
WHERE mtp.organization_id = oap.organization_id
AND oap.organization_id = wpb.organization_id
AND oap.acct_period_id = wpb.acct_period_id
AND wpb.wip_entity_id = wdj.wip_entity_id
AND wdj.organization_id = wac.organization_id
AND wdj.class_code = wac.class_code
AND wdj.wip_entity_id = wie.wip_entity_id
AND wdj.status_type = lov.lookup_code
AND lov.lookup_type = 'WIP_JOB_STATUS'
AND wac.material_variance_account = gcc_mtl.code_combination_id
AND wac.resource_variance_account = gcc_res.code_combination_id
AND wac.outside_proc_variance_account = gcc_osp.code_combination_id
AND wac.overhead_variance_account = gcc_owh.code_combination_id
GROUP BY mtp.organization_code,
oap.period_name,
wie.wip_entity_name,
lov.meaning,
decode(cce.cost_element_id,
'1',
gcc_mtl.concatenated_segments,
'2',
gcc_mtl.concatenated_segments,
'3',
gcc_res.concatenated_segments,
'4',
gcc_osp.concatenated_segments,
'5',
gcc_owh.concatenated_segments),
decode(cce.cost_element_id, '2', 'Material', cce.cost_element)
ORDER BY 1, 2, 3
8. WIP: Repetitive重复制造
应用:Work in Process
职责:Work in Process
8.1. 基础业务学习
总体说明
待续
8.2. 核心功能流程
xxx学习流程
8.3. 其他重要问题
职责:Work in Process
9.1. 基础业务学习
什么是外协
外协:因为外协商具有更专业的生产水平、更低的生产成本,或利用外协商的生产力
可提高本企业的产能,将装配件的一部分工序或全部工序交给外协商来完成。
外协不仅涉及企业自身的生产流程,也涉及与外协商的关系:外协采购、外协发票、
外协接收等。
外协件、外协组件、外协资源的关系
外协件:在进行外协加工时,系统是通过采购来与外协商发生“买卖”关系,为此需
要一个实际或虚拟的Item,可能是供应商加工时提供的实际组件,也可能仅仅是个加
工服务,其采购属性为Yes,外协属性为Yes。外协件通常无需维护成本,Costing属性
应为No,另外其通常也无需做库存事务处理。
外协组件:为了在BOM中完整的反应制造配方的详细信息,可以选择将外协件维护到
装配件的BOM中,供应类型选择“Supplier”,这样除非通过“Specific”,否则不会
将该料发到Job上。此外,通常外协件仅维护List Price,无成本信息,所以不影响成本
卷积,不影响工单差异。当然也可以不维护入BOM。
外协资源:必须从工艺路线的角度指出生产过程中,哪一道工序需要利用外协商进行
加工,系统是通过含有外协资源的“外协工序”来区分,系统是通过在资源上加“外
协”标志位来指示其为外协资源。外协资源可以关联到某个特定的外协件,这样系统
将自动以该Item开请购单,否则其余普通资源并无两样。
此外,系统并不限制外协资源关联的外协件必须与外协组件一致;甚至可以将装配件
自身作为外协资源关联的外协件。
外协价格、成本
1、 外协件通常不启用成本,所以即使维护到BOM中,也不会影响卷积和差异;但系
统并不强制Costing为No,所以如果启用了成本,则对成本卷积和差异的影响通普
通组件一样。
2、 装配件成本卷积时,乃以外协资源的费率进行计算,和计算普通资源一样。
3、 外协件采购入库时,直接入到WIP,其成本将作为外协资源的成本,也就是WIP吸
收的是外协件的采购成本,而非以外协资源的费率为基础。
外协件的PO价格、数量
2、 Resource 吸收的资源数量就是PR的数量,要求外协件的单位和外协资源的一致
9.2. 核心功能流程
外协加工学习流程
预制文件
N: Sys/Profiles/System
重点关注如下几个Profile的设置值:
Profile Name Description
WIP:Enable Outside Processing Workflows 是否启用外协流程,需要设置为Yes
设置外协件
N: INV/Items/Master Items
将外协件加入BOM
N: BOM/Bills/Bills
注意外协件的供应类型为Supplier:
定义外协资源
N: BOM/Routings/Resources
我们创建外协资源OSP4、OSP5分别与外协件950004、950005关联:
资源关联到部门
N: BOM/Routings/Departments
部门的Location将作为PO收货行的Ship-To地址。
设置外协工序
N: BOM/Routings/Routings
在工艺路线的工序中使用外协资源,20工序使用OSP4,0.5单位,30工序使用OSP5,
1.25单位:
成本卷积和更新
可以看到,这里卷积的结果中不含BOM中外协组件的成本(因期无成本,Item定义上
的Costing为No),并且也不含外协资源关联的外协件的成本(其通常河BOM中的组
件是同一个物料),仅按照外协资源自身的费率进行计算:
设置PO行类型
N: PO/Setup/Purchasing/Line Types
注意需要有Outside Processing打勾的行。
WIP参数
N: WIP/Setup/Parameters
其他字段请根据字面含义理解即可。
创建并下达
N: WIP/Discrete/Discrete Jobs
移动
导入PR
N: PO/View/Request
移动至外协工序的Queue后,系统自动产生PR接口数据,并自动提交“Requisition
Import”请求:
查看PR
N: PO/Requisitions/Requisition Summary
可以查到PR信息,在Line上可以看到数量为10(等于工序移动的数量,这是因为外协
件的Unit Type是Assembly),单价为1.3(等于Item上定义的List Price),通过Folder
的Show Filed功能可以看到隐藏的Job号:
9.14. AutoCreate&Approve
从PR创建PO
N: PO/AutoCreate
先查出PR(可用“其他重要问题”中的SQL查出PR号):
点击Automatic,输入供应商:
点击Create后系统自动创建并打开PO:
点击Approve提交审批,后续操作参考《深入浅出Oracle EBS之核心功能(DIS)》的
“PO: Purchase Order”。
PO上的任务信息
在PO的Distribution行,同过Outside Services按钮可以查看关联的任务信息:
9.15. Receiving
接收入库
N: Sys/Profiles/System
和正常接收一样,具体需要经过哪几个步骤由接收路线决定,差别在于最后的
Delivery,其Detination Type为Shop Floor:
并且Outside Services页显示工单信息:
待定移动事务处理
采购接收的数据,系统自动传到移动事务处理接口表:
处理待定事务
如果没有计划的话,需要手工提交移动事务处理器:
查看工序移动事务处理
查看资源事务处理
这里主要关注如何将进行成本吸收,数量虽然是资源的使用量5,但费率并不是外协资
源自身的费率,而是等于采购金额/数量,即10 * 1.3 / 5 = 2.6:
因为上面过程中,已经自动移入第三道工序的Queue,该工序又是外协,所以需要重
复“Requisition Import”后的步骤,这里不再详细说明,但请注意PR的数量为12.5,
为何不同,进一步因为采购数量和资源消耗量相同,所以资源吸收的费率=采购价,同
样不是资源自身的费率。
其他处理如完工、投料、关闭、差异结转,完全同标准Discrete Jobs,这里不再详细说
明。
9.21. 其他重要问题
WIP修改后如何影响PO
WIP参数界面可以设置,JOB修改后自动更新PO,包括数量和时间,User Guide如是
说:
Job date, status, and quantity changes can be passed to related purchasing
documents. You can choose to have these changes fully automatic, automatic subject
to approval, ormanually created. The Purchase Order Approval and Requisition
workflows are launched to initiate these changes to Purchasing. To support quantity
increase or decrease changes, the purchase order or requisition quantity is updated—
For date changes to jobs, these workflows are only initiated if preset tolerance value
set in the Work in Process Parameters window, are exceeded. This feature is
applicable to discrete jobs, repetitive schedules, and maintenance work orders.
Need-By Date Tolerance values are used to initiate the workflow for automatic job
date changes. These values are used by the Update OSP Need-by Date concurrent
program. If the concurrent program is not submitted, these values are ignored. The
concurrent program initiates the workflow for automatic job date changes when the
number of days set in the Days Early field and Days Late field is exceeded.
PO部分接收
如果是部分接收,那么系统也仅自动触发等量的工序移动;如果一个PO发运行对应多
个JOB(有多个PO分配行,多个外协工单产生数据到PR接口,导入时被合并为一个PR
行;或者多个PR行自动创建为一个PO行),又是部分接收,那么系统将要求手工指定
每个Job的数量,而不是自动分配。
Charge Type
1、 一个工序中仅允许一个PO Move类型的资源。
2、 PO Receipt可用于有序列号控制的装配件,因为可能必须手工输入序列号。
连续外协的处理
A外协商加工完,交与B外协商,该如何设置?可参考User Guide的“Consecutive
Outside Processing Operations”章节。
外协工作流
1、 在连续外协中,有同志第二外协商的工作流
2、 WIP修改后,也是通过工作流修改PO
从WIP查PR和PO
SQL入下:
SELECT wie.wip_entity_name,
prl.wip_operation_seq_num operation_seq,
prl.wip_resource_seq_num resource_seq,
prh.segment1 pr_num,
prl.line_num,
poh.segment1 po_num,
por.release_num,
pol.line_num,
pll.shipment_num,
pod.distribution_num
FROM wip.wip_entities wie,
po.po_requisition_lines_all prl,
po.po_requisition_headers_all prh,
Manufacturing应用模块 WIP: Outside Processing外协加工 85 of 93
File Ref: 深入浅出Oracle EBS之核心功能(MFG).doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 2, 2007
po.po_distributions_all pod,
po.po_headers_all poh,
po.po_releases_all por,
po.po_lines_all pol,
po.po_line_locations_all pll
WHERE wie.wip_entity_id = prl.wip_entity_id(+)
AND prl.requisition_header_id = prh.requisition_header_id(+)
AND prl.wip_entity_id = pod.wip_entity_id(+)
AND prl.wip_operation_seq_num = pod.wip_operation_seq_num(+)
AND prl.wip_resource_seq_num = pod.wip_resource_seq_num(+)
AND pod.po_header_id = poh.po_header_id(+)
AND pod.po_release_id = por.po_release_id(+)
AND pod.po_line_id = pol.po_line_id(+)
AND pod.line_location_id = pll.line_location_id(+)
AND wie.organization_id = 104
AND wie.wip_entity_name = '10020'
职责:
10.1. 基础业务学习
总体说明
待续
10.2. 核心功能流程
xxx学习流程
10.3. 其他重要问题
职责:
11.1. 基础业务学习
总体说明
待续
11.2. 核心功能流程
xxx学习流程
11.3. 其他重要问题
When this deliverable is complete, any open issues should be transferred to the
project- or process-level Risk and Issue Log (PJM.CR.040) and managed using a
project level Risk and Issue Form (PJM.CR.040). In addition, the open items should
remain in the open issues section of this deliverable, but flagged in the resolution
column as being transferred.
Open Issues
Closed Issues