OPM全称Oracle Process Manufacturing,即Oracle流程制造,和离散制造(Discrete Manufacturing)不同,流程制造主要应用于制药,食品行业。
Process Manufacturing vs Discrete Manufacturing
流程式制造(Process Manufacturing)是通过一条生产线将原料制成成品,比如集成电路、药品及食品/饮料制造等。
流程式制造(Process
Manufacturing)特点:生产计划方面,计划制定简单,常以日产量的方式下达计划,计划也相对稳定;生产设备的能力固定;生产过程控制方面,工艺固定,工作中心的安排符合工艺路线。通过各个工作中心的时间接近相同;工作中心是专门生产有限的相似的产品,工具和设备为专门的产品而设计;物料从一个工作点到另外一个工作点使用机器传动,有一些在制品库存;生产过程主要专注于物料的数量、质量和工艺参数的控制;生产领料常以倒冲的方式进行。
离散式制造(Discrete Manufacturing)是将不同的现成元部件及子系统装配加工成较大型系统,例如电脑、汽车及工业用品制造等。
离散式制造最主要特征为:生产过程中基本上没有发生物质改变,只是物料的形状和组合发生改变,即最终产品是由各种物料装配而成,并且产品与所需物料之间有确定的数量比例,如一个产品有多少个部件,一个部件有多少个零件,这些物料不能多也不能少。
按通常行业划分属于离散行业的典型行业有机械制造业、汽车制造业、家电制造业等等。
功能区别
行业区别
Product Layout(Discrete)
Product Layout(Process)
Demo
以巧克力的流程制造为例,这里假设一个巧克力成品由两种原材料(Ingredient)组成,一个是巧克力糖浆(Chocolate Syrup),另外一个是水(Water)。
在Vision Demo里演示,登陆用户:PROCESS_OPS/WELCOME,职责:OPM ALL,组织:PR1
1.组织必须是Process Manufacturing Enabled.
(MTL_PARAMETERS.PROCESS_ENABLED_FLAG = Y)
2.物料的定义
首先定义巧克力这个制造的成品,继承Finished Good的模板
勾选流程制造的必要属性
然后定义,制造巧克力的所必须的原材料:巧克力糖浆(Chocolate Syrup),另外一个是水(Water)
(对于这两个原材料,也要在Process Manufacturing勾选中勾选那四个属性,否则定义Formula的时候选不到)
3.OPM Setups Overview
OPM所包含的点可以从下图看到
* 一个Routing(工艺路线)由一系列有序的Operation(工序)组成
* 每一个Operation又包含了若干个Activity(行动,动作)
* 每一个Activity又由若干的Resource(资源)组成
* Formula(配方)是由Ingredient(原料),Product,Byproduct(副产品)组成
* 最后Recipe把Formula和Routing连接起来
4.Resource的定义
Navigation:Process Engineer > Setup > Generic Resource
Resource是生产过程中所需要用到的资源,如,生产设备,劳动力等,具体到本例,我们要制造巧克力,那么我们需要一台巧克力搅拌机。
5.Operations的定义
Navigation: Process Engineer > Process Operations
定义Operation。像之前说的那样,一个Operation可以多个Activity,每个Activity包含多个Resource,这些关联关系就是在Process Operations绑定的。这里我们选择一个已经定义好的Activity:MIX(搅拌),然后点击Resource按钮,把我们上一步定义的 Resource:搅拌机绑定给MIX搅拌这个Activity。
(如果想定义新的Activity,路径是:Process Engineer > Setup > Activities)
保存之后,Operation的状态应该是Approved for General Use.(更改状态在菜单,Tools > Change Status)
这里只定义搅拌这一个Operation,你也可以定义多个Operation。
6. 工艺路线Routing的定义
Navigation: Process Engineer > Process Routings
一个Routing(工艺路线)由一系列有序的Operation(工序)组成
Table :
FM_ROUT_HDR:Routing Header Information
FM_ROUT_DTL:Routing details. Contains the operations that comprise a routing and their scaleability types.
7.设置组织为Plant 和 Laboratory
职责:Product Development Security Manager > Organization Parameters
勾选Plant和Laboratory,表示,当前组织可作为工厂和研究所。
Yield UOM为最终输出产品的计量单位。
8.Formula(配方)的定义
定义完Routing,Operation,Activity,Resource之后,就需要定义Formula。
Navigation: OPM All 职责> Formulator > Formulas
1 个巧克力成品 = 0.5 巧克力糖水 + 0.5 水
(注:之前Item的UOM定义的有点问题,定义成了Ea,应该定义成Lbs,而上边的Operation又使用的Lbs,所以需要需要在UOM Conversion里增加LB和Ea的一个转换率)
上图中Products:1表示生成品一个,By-Products:无,Ingredients:2表示原材料两个
接下来就要菜单中Action > Change Status,
Related Tables:
FM_FORM_MST_B:Formula header base table. Attach attributes to formula as a whole (e.g. classes).
FM_MATL_DTL:Formula material details. Product, ingredient, byproduct data for a formula.
FM_FORM_MST_B.FORMULA_ID <--> FM_MATL_DTL.FORMULA_ID
9.Recipe的定义
Recipe把Formula和Routing连接起来
然后同样,更改Recipe和Validity Rules的状态(两次Change Status),From New to Approved for General Use
10.Batch Numbering
Navigation:Production Supervisor > Setup > Parameter
Bach Numbering设置为Automatic
11.创建Batch
Navigation:Production Supervisor > Create Document
接下来就是真正的OPM的生产过程了,包括Batch的生成和Batch的执行,后续都是跟Batch打交道了。包含的主要步骤和状态有:
Process Batch Status
Create Document(Batch Creation) Pending
Batch Release WIP (Can revert back to Pending)
Complete the Batch Completed(Can revert back to WIP - Caution - Can lose the material transactions)
Close the Batch Closed (Final Close can NOT be reverted back)
Cancel the Batch Cancelled
我们这里需要生产10 Pounds的巧克力
点OK,因为第10步,我们设置了Document编码规则,然后会自动生成Document Number,记录下来这个号码,后边会用到。
12.查看刚生成的Batch
Batch在数据库级别对应的表分别是GME_BATCH_HEADER,GME_MATERIAL_DETAILS
GME_BATCH_HEADER:
Batch/FPO header. This table stores the header information for both Firm Planned Orders (FPOs) and Batches, including the plant, the validity rules, formula, and routing on which the batch was based, and the planned and actual start and completion dates.
BATCH_ID:PK
BATCH_NO:Batch or FPO number
RECIPE_VALIDITY_RULE_ID:Surrogate key to the Recipe Validity Rule Id the batch or FPO was based on.
FORMULA_ID: -->FM_FORM_MST_B.FORMULA_ID
ROUTING_ID:-->FM_ROUT_HDR.ROUTING_ID
GME_MATERIAL_DETAILS:
Batch
or FPO material details. This table contains data on the products,
ingredients, and by products of an FPO or batch, including the planned
and actual quantity.
Fields
MATERIAL_DETAIL_ID:Primary Key
BATCH_ID: Batch Identifier FK to the GME_BATCH_HEADER table
FORMULALINE_ID: FK to the Formular FM_MATL_DTL table
LINE_TYPE:-1 = Ingredient,1 = Product; The product on Line 1 is the primary product.2 = Byproduct
Related Queries:
--Batch Header Information
SELECT * FROM GME_BATCH_HEADER WHERE BATCH_NO = '120';
--Batch Lines
SELECT GMD.*
FROM GME_MATERIAL_DETAILS GMD,GME_BATCH_HEADER GBH
WHERE GMD.BATCH_ID = GBH.BATCH_ID
AND GBH.BATCH_NO = '120';
--Formula Lines
SELECT FMD.*
FROM FM_MATL_DTL FMD, GME_MATERIAL_DETAILS GMD
WHERE FMD.FORMULALINE_ID = GMD.FORMULALINE_ID
AND GMD.MATERIAL_DETAIL_ID = &MATERIAL_DETAIL_ID
13.Release the Batch
Release之后,Batch的状态变为了WIP
14.Misc Receipt Some Quantity Ingredient
后续要生产了,所以我们至少要保证原材料的数量是充足的,这里做杂收增加数量
15.Process Batch
Navigation:Production Supervisor > Batch Details > Click Transact Material Button
Transaction Type Item Type
----- -------
WIP Issue Ingredient
WIP Completion Finished Good
选择Ingredient,然后再把焦点放到Transaction Type,输入有库存量的子库,最后点Transact按钮
Transact之后,Batch主界面中的Actual Qty就相应的发生了变化
然后用户可以View Material Transaction,就可以看到我们对Ingredients或者Production做了哪些事务
这个时候Ingredient的数量都是充足的(巧克力糖水还多了5个),我们可以生产成品了。
完成后,查看Material Transactions,可以看到巧克力成品已经生产完成,并已入库
TRANSACTION_TYPE_ID:44
16.Complete the Batch
Status:WIP --> Completed
17.Close the Batch
Status: Completed --> Closed
References:
http://www.oracleappshub.com/beginner/discrete-process-manufacturing-in-erp/
http://ajayatre.blogspot.jp/2012/10/opm-setup-in-r12_29.html