壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11686|回复: 100

Oracle EBS核心功能之Distribution流程

    [复制链接]
发表于 2008/9/19 18:11:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
1.1.        基础业务学习
总体说明
物料是系统最重要的主数据之一,其属性控制着各个模块能否对某个物料进行事务处理。Item的属性有300多个,如何才能掌握?其实这个是Oracle的一个“缺陷”,因为对特定企业来说,可能80%以上的属性很少用。
所以掌握Item,关键是掌握其体系和主要属性。
核心内容
1、        主组织与本组织:Item都是定义在具体的库存组织上,在使用时也是要指明是哪个组织的Item,包括所有的SQL;初学者唯一要额外注意的是,Item首先要在库存主组织定义,然后统一分配给需要的组织后,再根据各组织自身要求修改一些属性。每个库存的主组织在组织参数上定义。
2、        属性控制层次:对物料的管理要确保准确、统一,才能保证ERP运行的质量,因此最理想的是在主组织统一设定Item属性,这样维护的工作量小,而且保证数据的统一;然而这样不符合实际工厂千差万别的需要,为此就得允许一些属性可在各组织再做“客户化”。所以Oracle设计了“属性控制”,允许各企业根据需要,设置到底哪些属性必须在主组织统一控制,哪些属性可以让各组织自行修订。
3、        事务处理控制:Item是用来做事务处理(采购、销售、制造、计划、设计等)的,然而并非所有Item都可以做所有事务,所以需要定义一个Item到底可以用来做什么;在系统中,是由物料的一系列Flag控制的,这些Flag进一步由“物料状态”统一控制。
4、        物料类别和类别集:物料当然是需要分类,这个符合物料本身管理的需要,也可实现诸如类别采购等“按类别”做事务处理的实际业务。Oracle的设计比较灵活,允许对一个物料进行多维度分类,即从不同角度看,物料从属于不同的分类,这个和一个大学既属于“财经院校”、又属于“教育部直属”是一个道理。这个“不同角度”系统中叫“类别集”。一个物料,在每个类别集下,均可定义一到多个类别(通常是一个)。
 楼主| 发表于 2008/9/19 18:11:53 | 显示全部楼层
1.2.        核心功能流程
学习流程
Prerequisite                参考《深入浅出Oracle EBS之全模块设置详例》设置Inv
   ↓                        
Review Setup                回顾Item弹性域、Category弹性域、Category Code维护
   ↓                        同样请参考上述文档。
Review Category Sets        回顾类别集定义
   ↓                        
Review Attribute Control        回顾属性控制层次
   ↓
Review Status                回顾物料状态设置
   ↓
Review Catalog        回顾目录册,其实就是附加属性,比弹性域更直观
   ↓
Review Item Type        回顾用户物料类型
   ↓
Review Template        回顾模版
   ↓
Review Profile                回顾重要的Profile设置
   ↓
Define Master Item        定义主组织物料
   ↓                        
Define Item Category        定义物料类别,不要和“用户物料类型”混淆
   ↓                        
Define Item Catalog        定义物料目录册
   ↓                        
Assign Item To Org        分配物料给需要的组织
   ↓                        
Define Org Attribute        定义本组织物料属性、类别
 楼主| 发表于 2008/9/19 18:12:01 | 显示全部楼层
1.3.        Review Category Sets
类别集
N: INV/Setup/Items/Categories/Category Sets

Flex Structure:指定类别集使用的Category弹性域的哪个结构
Controlled At:该类别集的控制层次,和属性控制层次一样,分主组织和本组织
Multiple Assign:对于一个物料来说,是否允许分配多个该类别集下的类别
Enforce List:是否只能分配下面List中指定的类别给一个物料
 楼主| 发表于 2008/9/19 18:12:11 | 显示全部楼层
1.4.        Review Attribute Control
属性控制
N: INV/Setup/Items/Attribute Controls

分组和Item界面的Tab页一致。这里可以详细设置每个属性,到底在哪个层次控制,加上“类别集”上的设置,就是Item“属性控制层次”的全部内容了。
当然了,有些控制可能Oracle写死了,比如主单位,虽然这里设置为“组织层”控制,可实际在本组织还是无法修改。
 楼主| 发表于 2008/9/19 18:12:30 | 显示全部楼层
1.5.        Review Status
状态设置
N: INV/Setup/Items/Status Codes
每个企业都应当仔细规划物料状态码,与产品的生命周期相呼应,提高物料维护的科学性和统一性。
这里举几个状态为例。首先是“Active”,允许所有事务处理:

再看看“Inactive”,不允许任何事务处理:

最后看看“OnlyBOM”,只能在BOM模块进行操作:
 楼主| 发表于 2008/9/19 18:12:38 | 显示全部楼层
1.6.        Review Catalog
目录册
N: Inv/Setup/Items/Catalog Groups
有些企业物料附加的属性很少,采用直接启用弹性域的方法。有些企业产品繁多,属性各异,则可以启用Catalog来详细记录Item信息。

这里可以定义无限多组Catalog,每个Catalog也可以定义无限多个属性。
 楼主| 发表于 2008/9/19 18:12:51 | 显示全部楼层
1.7.        Review Item Type
用户物料类型
N: Inv/Setup/Items/Item Types


1.8.        Review Templates
模板
N: Inv/Setup/Items/Templates
模版其实就是一套预设的属性值,比如单位、状态等;这样创建物料时,如果选择应用某个模版,就会把模版上有效的值覆盖到Item上,仅此而已。
Oracle自带了一些常用的模版,如Purchased Item:

许多企业为提高物料维护的效率,减少手工一各个属性设置的错误率,都纷纷创建了一系列适合本企业的模版,如:
 楼主| 发表于 2008/9/19 18:13:00 | 显示全部楼层
1.9.        Review Profile
预制文件
N: Sys/Profiles/System
重点关注如下几个Profile的设置值:
Profile Name        Description
        
INV: Default Item Status        创建新物料时默认状态
INV: Default Primary Unit of Measure        创建新物料时默认单位
INV: Updateable item name        用户是否有修改物料描述的权限
 楼主| 发表于 2008/9/19 18:13:11 | 显示全部楼层
1.10.        Define Master Item
主组织物料
N: INV/Items/Master Items
比较重要的属性如下:
Attribute Name        Description
        
Main主要属性
Item Code        物料编码
Description        物料描述
Primary UOM        主单位
User Item Type        用户物料类型
Item Status        状态
Inventory库存属性
Inventory Item        是否库存物料
Stackable        是否可存储
Transactable        是否可以做出入库等事务
Reservable        是否可以保留,通常是为销售订单保留
Lot Expiration Control        无控制、固定保质期、或者在接收时输入
Shelf Life Days        保质期或者保存期限
Lot Control        是否启用批次控制,没有现有量时该属性可改
Serial Control        是否启用序列号控制
Locator Control        是否启用货位控制;组织参数或子库参数的优先级比这个高
Revision Control        是否启用版本控制,如果是,出入库时需要指定版本,现有量也是按照版本计算,没有现有量时该属性可改
Restrict Subinventories或Locators        限制物料只能在特定的子库和货位操作,勾选该属性后需要在子库界面设置Item和子库或货位的关联
Bill of Material物料清单属性
BOM Allowed        是否可以为其创建BOM
BOM Item Type        创建何种类型的BOM
Costing成本属性
Costing Enabled        是否记录成本
Inventory Asset Value        是否记录库存价值
SOGS Account        销售成本账户
Standard Lot Size        成本计算标准批量默认值
Purchasing采购属性
Purchased        是否是采购件
Purchasable        现在是否可以做采购订单
Use Approved Supplier        是否只能向ASL(审批通过的供应商)采购
Allow Description Update        接收入库接口可否修改物料描述
Receipt Required        发票匹配需要有“接收”,否则发票挂起
Inspection Required        发票匹配需要有“检验”,否则发票挂起
General Planning计划属性
Inventory Planning Method        库存计划方法
Planner        计划员
Make or Buy        计划采购还是计划制造
MPS/MRP Planning MRP属性
Planning Method        计划方法
Forecast Control        预测消耗方式
Lead Times提前期属性,单位都是天
Preprocessing        处理前时间,用于采购准备、制造准备
Processing        处理时间,用于采购执行、实际制造
Post processing        处理后时间,仅指采购接收至入库的时间
Fixed        固定提前期,与数量无关,仅用于制造,比如安装和拆卸时间
Variable        可变提前期,生产每单位装配件需要的时间,仅用于制造
Lead Time Lot Size        
Purchasing Lead Time        采购提前期,=Preprocessing+Processing+Post
Manufacturing Lead Time        本层装配件的制造时间,=Processing?
=Fixed + Variable * Qty?
Cumulative Manufacturing        累计制造提前期,仅用于制造,可以手工输入,也可以由系统自动计算,其应当等于纯粹的制造时间:从最底层组件开始到本装配件为止,关键生产路径的时间之和,不包括材料的采购时间
Cumulative Total Lead Time        Cumulative Manufacturing + 材料采购时间
Work In Process WIP属性
Build in WIP        是否在WIP模块制造
Supply Type        默认供料方式
Supply Subinventory        默认供料子库
Overcompletion        默认超量完工控制
Order Management OM属性
Customer Ordered        是否为销售件
Customer Order Enabled        现在是否可以开销售订单
Shippable        是否可以发运
OE Transactable        
Pick Components        是否为PTO
Assembly to Order        是否为ATO
Check ATP        是否检查ATP(Available To Promise)可承诺量
Ship Model Complete        发运时,是否要求组件完整性
Default SO Source Type        默认的SO来源类型
Returnable        是否可以做销售退回
RMA Inspection Required        销售退回时是否需要做检验
Invoice发票属性
Invoice able Item        是否可开票
Invoice Enabled        现在是否可以开票
Sales Account        销售收入账户
        
可以手工创建物料,然后一一指定属性,这样效率很低,容易出错,通常可以基于模版或者其他Item创建。
Tools/Copy From…从模板创建Item,我们只需输入Item编号和描述。请创建如下Item,然后仔细观察上述属性的不同点。
Item        Description        Item Type        Template
                        
910001        Purchased Item 1        P        Purchased Item
910002        Purchased Item 2        P        Purchased Item
910003        Purchased Item 3        P        Purchased Item
910004        Purchased Item 4        P        Purchased Item
920001        ATO Option Class 1        AOC        ATO Option Class
920002        ATO Option Class 2        AOC        ATO Option Class
920003        ATO Option Class 3        AOC        ATO Option Class
930001        PTO Option Class 1        POC        ATO Option Class
930002        PTO Option Class 2        POC        ATO Option Class
930003        PTO Option Class 3        POC        ATO Option Class
940001        Phantom Item 1        PH        Phantom Item
940002        Phantom Item 2        PH        Phantom Item
940003        Phantom Item 3        PH        Phantom Item
950001        Outside Processing Item 1        OP        Outside Processing Item
950002        Outside Processing Item 2        OP        Outside Processing Item
950003        Outside Processing Item 3        OP        Outside Processing Item
960001        Finished Good 1        FG        Finished Good
960002        Finished Good 2        FG        Finished Good
960003        Finished Good 3        FG        Finished Good
960004        Finished Good 4        FG        Finished Good
980001        PTO Model 1        PTO        PTO Model
980002        PTO Model 2        PTO        PTO Model
980003        PTO Model 3        PTO        PTO Model
990001        ATO Model 1        ATO        ATO Model
990002        ATO Model 2        ATO        ATO Model
990003        ATO Model 3        ATO        ATO Model
 楼主| 发表于 2008/9/19 18:13:21 | 显示全部楼层
1.11.        Define Item Category
物料类别
N: INV/Items/Master Items/../Tools/Categories
默认是在类别集中定义的类别,根据需要修改即可:


1.12.        Define Item Catalog
目录册
N: INV/Items/Master Items/../Tools/Catalog
选择需要的Catalog Group,填写各个附加属性的实际值即可:

一个Item只能分配一个Catalog,并且,不分组织!
 楼主| 发表于 2008/9/19 18:13:30 | 显示全部楼层
1.13.        Assign Item To Org
组织分配
N: INV/Items/Master Items/../Tools/Organization Assignment


1.14.        Define Org Attribute
组织属性
N: INV/Items/Organization Items
定义本组织不同于主组织的物料属性。设置同Master,略过。
 楼主| 发表于 2008/9/19 18:13:41 | 显示全部楼层
1.15.        其他重要问题
如何写Item Category SQL
SELECT mst.segment1 item_number,
       mst.description,
       mcs.category_set_name,
       cat.concatenated_segments
  FROM apps.mtl_system_items_b_kfv mst,
       inv.mtl_item_categories     mic,
       apps.mtl_categories_kfv     cat,
       apps.mtl_category_sets_vl   mcs
WHERE mst.organization_id = mic.organization_id
   AND mst.inventory_item_id = mic.inventory_item_id
      
   AND mic.category_id = cat.category_id
   AND mic.category_set_id = mcs.category_set_id
      
      --Filters
   AND mst.organization_id = 445
   AND mst.concatenated_segments LIKE '4%'
   AND mcs.category_set_name IN ('Inventory')
ORDER BY 1, 3
Revision
N: Tools/Revision
Item是可以创建Revision(修订号)的,系统允许为不同修订号Item维护不同的属性。修订号以ASCII排序,修订号间时间范围不能重叠。
添加附件如产品图、文档等
附件是Oracle的标准功能,实际上任何Form,我们都可能为其定义Attachment,然后点击工具栏上的“附件”上传任意文件。
如何删除Item
N: Inv/Items/Delete Items
统一通过删除组删除,这样可以统一检查是否已有事务处理等约束条件,没有的话方可删除。
可选内容:如何定义产品线Product Family
待进一步研究,大约是定义一组类似的产品到Product Family BOM中,并设置百分比,供计划(预测、MPS)使用;Product Family BOM比较特殊,仅是单层的。
 楼主| 发表于 2008/9/19 18:13:50 | 显示全部楼层
2.        INV: Transactions基本库存事务处理
应用:Inventory
职责:Inventory
 楼主| 发表于 2008/9/19 18:13:59 | 显示全部楼层
2.1.        基础业务学习
总体说明
库存模块的核心是如实记录入库和出库的品种和数量,反应库存的当前价值。
正如GL是ERP的账务处理核心,所有模块的会计分录,最后都要过到GL;同样,INV是ERP的物料处理核心,所有模块的物料事务处理都要在INV中体现。
采购接收入库和退货、销售发运出库和RMA退回、WIP组件发料和退回、WIP装配件完工和退回、工厂内的仓库库间物品调拨、工厂间的物品调拨、低值易耗品杂项领料、盘点产生的盈亏、项目合同领料、成本更新导致的库存价值变动、内部请购/内部销售产生的物品转移,这些事务虽然操作界面分散在各个模块中,但最终都要及时在库存中做记录,以反映企业最新的存货数量和价值状况。那么这么多种业务在库存系统中如何区分呢?Oracle的设计思路是:用“事务处理类型”来区分。
 楼主| 发表于 2008/9/19 18:14:14 | 显示全部楼层
事务处理类型
事务处理类型(Type):乃“事务处理来源”、“事务处理动作”的组合;除了在库存直接做事务处理或者通过开发Interface导入数据外,各标准模块该用哪个“类型”,Oracle实际上是写死的,——“来源”和“动作”当然也固定下来了。
SELECT mtp.transaction_type_id,
       mtp.transaction_type_name,
       mtp.transaction_source_type_id,
       mtp.transaction_action_id
  FROM inv.mtl_transaction_types mtp
WHERE mtp.user_defined_flag = 'N'
ORDER BY 2;
事务处理来源(Source):类似总账的Journal Source,系统的各标准模块,都有各自的Source代码,由此得以区分各模块数据,如Source“Job or Schedule”代表WIP的库存事务。
SELECT tst.transaction_source_type_id, tst.transaction_source_type_name
  FROM inv.mtl_txn_source_types tst
WHERE tst.user_defined_flag = 'N';
事务处理动作(Action):Source仅区分出来源模块,并未标志到底发生了什么动作——入库还是出库。为此Oracle引入了“事务处理动作”,并且对出入库进行了更加细致的划分,这个实际上才是系统内部区分库存事务的关键代码,如Action“Assembly completion”代表WIP完工入库。Action不允许自定义!
SELECT lov.lookup_code, lov.meaning
  FROM mfg_lookups lov
WHERE lookup_type = 'MTL_TRANSACTION_ACTION'
ORDER BY 1;
此外,为更好的进行追溯和查询,库存系统还把相关模块的单据ID保留在inv.mtl_material_transactions.transaction_source_id字段上。
 楼主| 发表于 2008/9/19 18:14:23 | 显示全部楼层
库存组织结构
仅从库存角度看,组织结构如下:

核心逻辑:库存组织用来屏蔽各类制造数据,Item/BOM/Routing等定义在库存组织上,WIP/MRP等跑在库存组织上;而库存事务处理则以子库为中心,要么从某个子库出,要么从某个子库入;每个子库可以启用货位,也可以不启用,如果启用了,则事务处理时还必须选择货位。在不同的库存内,子库代码可以重复;在不同的子库内,货位代码也可以重复。
也就是说,Oracle仅仅是提供了这样的一个模型,至于如何和实际业务对应,就非常灵活了。比如:库存是个组织的概念,其比较“虚”,可指一个工厂或者独立的办事处、分公司这样的实体;而子库则通常代表一个真正的物理仓库,也可指仓库或车间的一块区域,还可以是虚拟的;货位可用来代表仓库的某一处空间或者货架,也可指车间的一个块区域。
而从Oracle ERP的多组织角度看,库存“挂”在OU下:
Set of Books→Legal Entities→Operating Units→Inventory Organizations
仍然站在库存立场看,Oracle的核心逻辑是这样的:
1、        反向:各个库存组织出、入库所产生的会计分录,根据这个“关系链”,传到相应的SOB,即仅仅是财务关系。
2、        正向:SO和PO接收入库、发货时,除Drop Ship外,必须选本OU下的库存组织。
 楼主| 发表于 2008/9/19 18:14:34 | 显示全部楼层
批次控制
批次控制:入库、出库均需通过“批次/序列”指定批次,以此可跟踪每批物料流转信息和现有量,达到批次追踪的目的。
入库时可以指定一个新批次,或者一个已存在的批次,来表示数量合并,这个比较好理解;出库实际也是这样,系统并未限制在出库时必须选择已存在的批次,如果允许负库存,我们也可以指定一个新批次。
库存杂项、子库转移、组织间转移、采购或RMA接收入库/退货时、WIP投料/退料或者完工/退回时、SO保留/挑库或者出库、甚至盘点,因为都包含“入库、出库”动作,所以也需要指定批次,规则同上。
是否启用批次控制,是在Item属性上设置,改变的前提是该Item无现有量。
至于批次号的产生方式、唯一性控制层次,均可设为按组织或按Item。
遗憾的是WIP投料和产出的批次是断开的,不通过开发,标准功能无法追踪。比如投入物料A,其中01批10个、02批20个,最后产出物料B共30个,这样就没法区分到底哪些B是由01生产的,哪些B是由02批生产的,除非WIP每次生产一个B。
N: INV/Onhand, Availability/Lots可用来查看所有批次信息:批次号、保质期、是否有效、每个批次经历的事务处理、Onhand。
保质期控制方式在Item属性上定义:无、固定天数、输入批次时输入。过期的批次,不能保留,MRP计划、最大最小和重订货点库存计划也不考虑其数量,但其他地方照样可以用。
批次失效后,仅仅影响入库操作时,“批次”Lov不显示该批次。
WIP自动投料时(Backflush),会根据WIP参数上设置的方法自动选择批次。
 楼主| 发表于 2008/9/19 18:14:41 | 显示全部楼层
序列号控制
与批次不同,有多少个单位的Item,就需要多少个序列号,两者是一一对应关系;序列号控制的另一层含义则是,事务处理量必须是主单位的整数倍。可在三个时点产生序列号:
1、        SO发货时:仅在SO Ship Confirm时,通过“批次/序列”界面输入序列号,其他任何事务处理都不需要指定序列号。特殊情况是,做RMA接收需要指定和原始发货一致的序列号。
2、        INV收货时:在PO Receipt或其他途径入库时,通过“批次/序列”界面输入序列号,之后做任何出库事务处理都需要指定序列号,而且必须选择已有的序列号。注:批次只能在入库时指定,但序列号可以在接收时就指定。
3、        预先生成:首先物料属性或者组织参数一定要指定前缀和起始编号,其次要用“生成序列号”请求为该物料预先生成一定数量的序列号;入库时,通过“批次/序列”界面输入序列号,之后做任何出库事务处理都需要指定序列号,而且必须选择已有的序列号。
4、        无控制:任何时候都不需要指定序列号。
序列号的控制方式,是在Item属性上设置。如果要改变,除非是从1变为4或2变成3,其它情况要求该Item无现有量。
至于批次号的产生方式、唯一性控制层次,均可设为按组织或按Item。
N: INV/Onhand, Availability/Serial Numbers可用来查看所有序列号信息:序列号、状态、接收日期/发运日期、供应商、批次、每个序列号经历的事务处理、Onhand。
状态有:生成但未使用(Defined but not used)、在库存中(Resides in stores)、已发出(Issued out of inventory)、在途(Resides in intransit)。
此外,因为序列号和Item是一一对应的,所以有序列号的物料也叫Serialized Item。
 楼主| 发表于 2008/9/19 18:14:52 | 显示全部楼层
货位控制
货位控制:入库、出库均需在输入子库后再指定货位。货位的产生有两种方式:
1、        做库存相关事务处理(含SO保留,不含PO接收,下同)时指定,即动态录入。
2、        必须先设置好子库-货位的关系,做库存事务处理时只能选择子库下已有的货位。
货位控制通常在子库参数上设置,这里的优先级比Item属性上的高。
 楼主| 发表于 2008/9/19 18:15:00 | 显示全部楼层
单位、单位转换
每个物料都设有主单位,如“千克”,但是实际做出入库操作、做PO和SO,可能采用其它单位,比如大宗采购用“吨”更为合适,这个叫事务处理单位。
不过系统最终计算,都是先转成主单位后进行,比如销售成本计算如下:
销售数量 * 事务单位与主单位的转换率 * 每主单位的成本
实际上,Oracle的物料事务相关表中,基本都有3个字段:事务数量、事务单位、主数量。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 02:38 , Processed in 0.025035 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表