ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Oracle EBS ASCP高级供应链计划实战:多工厂手机制造案例配置与验收

Oracle EBS ASCP高级供应链计划实战:多工厂手机制造案例配置与验收

简介:这份文档面向 Oracle EBS 供应链与计划模块的实施顾问、ERP 运维人员及学习高级计划排程的从业者,以一家手机制造企业的完整案例为线索,系统梳理 ASCP 方案的搭建与测试流程。内容从物料定义与组织分配、BOM 与工艺路线设置,到来源规则与分配清单、MDS 需求计划、供应链计划定义与运行,再到计划下达、采购、生产、入库与发运的执行环节,形成一条可对照操作的测试链路,帮助读者理解 ASCP 各步骤之间的数据依赖与配置要点。资源包共 1 个 doc 文件,约 1.43MB,以图文步骤说明为主,适合按章节顺序阅读或作为实施时的配置检查清单。目前已有 1958 人学习,可作为 ASCP 入门演练与方案验证的参考材料。

1. 从一张手机 BOM 说起:ASCP 方案到底要解决什么

多工厂、多分销中心、多供应商的供应链,最怕的不是没计划,而是计划各算各的。组装厂按自己的节奏排产,机身厂和机盖厂按自己的库存补货,分销中心再各自提需求,最后的结果往往是总装线等料、仓库里却压着一堆半成品。Oracle EBS 里的 ASCP(Advanced Supply Chain Planning,高级计划排程)就是冲着这个场景来的:把需求、供应、产能、来源规则放进同一个计划引擎里跑一遍,输出一份跨组织可执行的供应计划。

这套方案适合两类人:一类是在做 ERP 课程设计或毕业设计的学生,需要一个结构完整、步骤可复现的 ASCP 配置案例;另一类是要交付供应链计划方案的从业者,需要一份能照着搭、照着验的测试文档。下面这套方案以一个虚拟手机制造企业为背景,把物料定义、BOM 与工艺路线、来源规则、分配清单、MDS、计划定义、计划运行到计划执行八个环节串成一条完整链路,每一步都落到具体操作和参数上。

2. 测试场景建模:三工厂两分销中心的供应链怎么搭

2.1 企业与物料主数据设定

方案背景设定为一家生产翻盖手机的制造企业,生产基地分三处:M1 负责整机总装,M2 负责机身制造,M3 负责机盖制造,成品通过 D1、D2 两个分销中心发往市场。零部件全部外购:电池来自 S1,键盘来自 S2,电路板来自 S3,屏幕来自 S4。这个结构的关键在于 M2 和 M3 既是制造组织又是 M1 的供应方,跨组织供应关系必须在 ASCP 里显式建模,否则计划跑出来只会看到 M1 缺料,看不到料从哪来。

物料编码按「类别缩写-序号」的规则统一编排,成品 YY-SJ,机盖 YY-JG,机身 YY-JS,屏幕 YY-SC,电路板 YY-CB,键盘 YY-KB,电池 YY-BA。提前期和价格作为计划的基础参数一并维护,提前期直接影响计划订单的倒排日期,价格影响计划的价值汇总。产能参数按原文设定:三个工厂每周 5 天、每天 1 班、每班 8 小时,M1 每小时 5 千件,M2 每小时 0.1 千件,M3 每小时 5 千件。M2 的产能明显是瓶颈,这一点在后面的计划结果里会直接体现出来,也是这套案例值得跑一遍的原因——它能让计划员看到瓶颈工序如何把总装需求往后推。

物料编码提前期(天)来源
手机成品YY-SJ1M1 制造
机盖YY-JG1M2 制造
机身YY-JS1M3 制造
屏幕YY-SC1S4 采购
电路板YY-CB1S3 采购
键盘YY-KB1S2 采购
电池YY-BA1S1 采购

需求侧设定 2012 年 5 月两个预测点:5 月 2 日 10 千件,5 月 20 日 20 千件,分别落在 D1 和 D2 的 MDS 里。这个需求量相对 M2 的产能(每小时 0.1 千件、每天 8 小时约 0.8 千件)是明显超负荷的,计划跑出来一定会有能力例外,这正好用来验证例外管理和计划调整流程是否走得通。

2.2 组织间供应关系的建模思路

这套供应链的物料流向可以拆成三条线:S4 的屏幕和 S3 的电路板进入 M2 生产机盖;S2 的键盘和 S3 的电路板进入 M3 生产机身;M2 的机盖、M3 的机身加上 S1 的电池进入 M1 完成总装,成品再发往 D1、D2。建模时最容易翻车的地方是把「制造」和「采购」两个属性搞混——同一个物料在不同组织里的制造或采购属性可以不同,YY-JG 在 M2 是制造件,在 M1 就是采购件(实际是组织间转移),这个差异必须在组织物料属性里分别设置,否则来源规则会失效。

我一般会先把这张供应网络画成「组织 × 物料 × 来源类型」的矩阵,再逐格填来源规则,比直接在系统里点要快得多,也不容易漏。矩阵填完,后面定义来源规则和分配清单基本就是照抄,出错概率低很多。

3. 基础数据配置:物料、BOM 与工艺路线

3.1 物料定义与多组织分配

物料定义从主组织开始,以 YY-JG 为例:在主组织物料界面新建物料,复制自模板「子装配件」,这样单位、库存、成本等默认属性一次带出来,不用逐字段填。计划相关属性是重点:「MPS/MRP 计划」页签里计划方法设为「MRP/MPP 计划」,表示该物料参与物料需求计划运算;预测控制设为「冲减衍生」,让预测在消耗时按衍生关系冲减;追溯设为「总装、软发查」,保证计划结果能按需求优先级反查来源。「订单管理」页签启用「客户订购」,为后续可能的销售订单接入留口子。

定义完成后把 YY-JG 分配给 M1 和 M2 两个组织,再分别进各组织的物料属性里设置差异项。M1 侧「总计划」选计划员,「制造或采购」选「采购」——因为 M1 不造机盖,只从 M2 接收;M2 侧「制造或采购」选「制造」。两个组织的例外集都选 ASCP,这样计划运行产生的例外才能归集到统一的例外集里查看。

-- 物料多组织分配的核心字段示意(实际在 EBS 表单中维护,此处用于说明字段关系) -- item_master: 主组织物料定义 -- mtl_system_items: 组织级物料属性 SELECT organization_id, inventory_item_id, planning_make_buy_code, -- 1=制造 2=采购 mrpp_planning_code, -- 计划方法 forecast_control_code, -- 预测控制 exception_set_name -- 例外集 FROM mtl_system_items WHERE segment1 = 'YY-JG' AND organization_id IN (:m1_org_id, :m2_org_id);

这段查询用来在配置完成后核对两个组织的制造/采购属性和例外集是否按预期落库。实际配置在表单里做,但配置完用 SQL 抽查一遍是我习惯的收尾动作,比在界面上一个个点开看快,也不容易漏组织。参数上重点看planning_make_buy_code在 M1 应为采购、M2 应为制造,exception_set_name两处都应为 ASCP。

3.2 BOM 结构与工艺路线定义

BOM 按实验设计的商品结构搭建:成品 YY-SJ 下挂 YY-JS、YY-JG 和 YY-BA,YY-JS 下挂 YY-KB 和 YY-CB,YY-JG 下挂 YY-SC 和 YY-CB。注意 YY-CB 同时出现在机身和机盖两个子装配下,这种共用件在计划里会形成共享供应,是验证 ASCP 分配逻辑的好素材。BOM 在 M1 组织下定义成品结构,子装配的 BOM 在各自制造组织下定义,组织归属不能错。

工艺路线以 YY-JG 在 M2 为例,分三步。先定义资源 YY-M2-R1,去掉「24 小时可用」勾选,数量填 1,班次选白班、数量 1——这一步决定了资源的可用时间窗口,勾着 24 小时可用会让产能算出来虚高,是新手最常见的坑。再定义部门 YY-M2-1,输入地点 M2。最后定义工艺路线:物料选 YY-JG,部门选 YY-M2-1,在工序资源里选 YY-M2-R1,单位使用量填 10,表示 1 小时生产 0.1 千件;「计划」字段选「是」,让该工序参与能力计划。

-- 工艺路线资源用量核对:单位使用量 10 对应 1 小时 0.1 千件 SELECT r.resource_code, r.usage_rate_or_amount, -- 单位使用量 r.assigned_units, -- 分配单位数 o.operation_seq_num FROM bom_operational_routings o, bom_operation_resources r WHERE o.assembly_item_id = :yy_jg_item_id AND o.organization_id = :m2_org_id AND r.operation_seq_num = o.operation_seq_num;

单位使用量这个参数容易被当成「每小时产量」直接填 0.1,结果产能被放大 100 倍,计划跑出来一切正常,实际执行全线延期。正确理解是「生产 1 个资源单位对应的产品数量」,配合资源单位换算才是真实产能。配置完用上面这条查询核对一遍用量和工序号,能省掉后面排查产能异常的时间。

4. 计划逻辑配置:来源规则、分配清单与 MDS

4.1 来源规则与分配清单

来源规则回答的是「这个物料在这个组织里从哪来」。按组织分别定义:M1 里 YY-BA 的来源类型为「采购来源」;YY-JG、YY-JS 的来源类型为「传送自」,指向各自的制造组织;YY-SJ 的来源类型为「制造地点」,落在 M1。M2、M3 同理,外购件走采购来源,自制件走制造地点。来源规则定义错,计划要么找不到供应,要么把该转移的物料当成外购去下采购申请,这是跑计划前必须逐条核对的地方。

分配清单解决的是「同一个物料有多个来源时怎么分」。切换责任到供应链计划员,为 YY-SJ 定义分配清单,名称 YY-M1,接收组织依次输入 M1、D1、D2,每个接收组织选类型(制造地点或传送自)、输入来源组织 M1、分配比例 100%、级别 1。级别字段决定分配优先级,多来源场景下级别小的先分配,这里单来源所以填 1 即可,但字段不能空。

-- 分配清单核对:确认 YY-SJ 的三个接收组织与分配比例 SELECT a.assignment_set_name, a.destination_organization_id, a.source_organization_id, a.allocation_percent, a.rank FROM msc_allocation_assignments a WHERE a.assignment_set_name = 'YY-M1' ORDER BY a.rank, a.destination_organization_id;

分配比例合计应为 100%,级别按业务优先级排。如果后面要扩成多工厂供货,只需在这里加行、调比例,不用动计划定义,这也是把分配逻辑独立成清单的价值——变更点集中,回归测试范围小。

4.2 指定集与 MDS 定义

指定集是把分配清单和所有物料的来源补充规则打包成一个可被计划引用的集合。名称输入 YYAPS-1,挂上 YY-SJ 的分配清单,再把 YY-SJ、YY-JG、YY-JS、YY-BA、YY-SC、YY-CB 的来源补充规则全部纳入。定义完查看多级供应链清单,能直观看到每个物料的上下游关系是否连通——这一步相当于计划前的连通性自检,清单断链就说明某条来源规则漏了。

MDS 在 D1、D2 分别定义。责任切到制造和分销经理,组织改为 D1,名称 YY-D1-MDS1,冲减方式选「冲减」,物料输入 YY-SJ,进详细资料录入需求日期和数量。D2 同样操作,需求按 5 月 2 日 10 千件、5 月 20 日 20 千件分布。MDS 是计划的输入源头,日期和数量录错,后面所有倒排结果都是错的,所以录完建议导出核对一遍再往下走。

5. 计划运行与结果解读:从启动请求到计划员工作台

5.1 供应链计划定义与启动

计划定义用高级供应链计划员责任,组织选 M1,名称 YYAPS-1。计划选项里逐页确认:主要页签计划物料选「需求和供应计划物料」,分配集选自定义的 YYAPS-1,启用追溯并选「按需求优先级追溯供应」;汇总页签确认计划合并方式;组织页签把 D1、D2、M1、M2、M3 全部加入,并分别为 D1、D2 挂上对应的 MDS;约束页签先按非能力约束计划跑第一轮。第一轮不卡产能,目的是先看清需求和供应的净缺口,再决定要不要上能力约束,这个顺序反了会在一堆能力例外里找不到真正的物料缺口。

启动计划时组织选 M1,计划选 YYAPS-1,确定后到请求界面查看运行状态。计划跑完先看请求日志有没有报错,再看计划员工作台的主要指标:迟到、提前、超出能力、未满足需求这几类数字能快速判断计划质量。我一般会先把例外按类型排序,优先处理「未满足需求」和「超出能力」,这两类直接对应交付风险。

5.2 计划结果的多级追溯与导出

查看供应链清单时,分配集选 YYAPS-1,组织选 D1,物料选 YY-SJ,点开多级清单能看到从成品一路展开到外购件的完整供应树,每一层的计划订单、日期、数量都在。计划员工作台里右键物料可以查看目标、来源、使用处、替代、工艺路线、供应链等维度,右键供应/需求能看供需匹配明细,右键例外进例外汇总,点具体行能看到例外原因和建议处理动作。需要离线分析时,用「文件」下的「导出」把供需明细导成 Excel,做透视表比在界面里翻快得多。

-- 计划订单与例外抽查:按物料看计划订单数量和例外类型 SELECT p.item_name, p.organization_code, p.order_quantity, p.new_schedule_date, e.exception_type, e.exception_message FROM msc_system_items p, msc_exceptions e WHERE p.plan_id = :plan_id AND e.plan_id = p.plan_id AND e.inventory_item_id = p.inventory_item_id ORDER BY p.item_name, p.new_schedule_date;

这条查询用于计划跑完后抽查计划订单和例外的对应关系,重点看 M2 的机盖计划订单是否因为产能瓶颈被推迟,以及推迟是否传导到了 M1 的总装订单。参数plan_id取本次运行的内部计划 ID,换计划重跑时记得同步替换,否则查到的是上一版结果。

6. 计划执行与避坑排查:下达、采购、生产到发运

6.1 计划下达与执行链路

计划确认无误后做一次性发放,把组织间补货、制造任务、采购申请一并下达。采购侧切到生产与分销经理责任,ASCP 释放的采购订单没有订单编号,需要走采购管理的自动创建:删除采购员条件,查找自动创建的采购申请,选中 YY-BA,选供应商后创建,再进发运分配子库存 RIP,最后审批,状态变为批准。生产侧到在制品管理的离散任务里按装配件查 YY-JG,用「工具」下的「更改状态」释放工单。入库和发运按标准流程走完,整条链路才算闭环。

执行环节的验收标准我一般定三条:采购申请全部转成已批准的采购订单且供应商、子库存正确;制造工单全部释放且工序资源挂接无误;发运记录能对应到 D1、D2 的原始 MDS 需求。三条都过,这套 ASCP 配置才算真正跑通,而不只是计划界面好看。

6.2 常见问题与排查

现象一:计划跑完所有物料都显示无供应。原因多半是来源规则没定义或指定集没挂全,计划引擎找不到供应路径。解决方法是回到指定集查看多级供应链清单,逐层确认每个物料的来源补充规则是否都在,断在哪一层就补哪一层。

现象二:M2 产能算出来是实际的几十倍。原因是资源勾了「24 小时可用」或单位使用量填成了每小时产量。解决方法是取消 24 小时可用、按「生产 1 个资源单位对应的产品数量」重填用量,再用工艺路线资源查询核对。

现象三:YY-JG 在 M1 被当成外购件下了采购申请。原因是 M1 组织物料属性的制造或采购选成了制造,或来源规则类型选错。解决方法是把 M1 侧属性改为采购、来源规则改为传送自,重跑计划验证。

现象四:MDS 需求日期正确但计划订单日期整体偏移。原因是物料提前期维护错误或工艺路线工序时间没参与计划。解决方法是核对物料提前期和工艺路线「计划」字段是否为「是」,改完重跑。

现象五:例外集里看不到任何例外。原因是组织物料属性的例外集没选 ASCP,或计划定义里没启用例外收集。解决方法是逐组织检查例外集字段,确认计划选项中的例外相关设置已开启。

提示:每改一处基础数据,都要重跑一次计划并对比前后例外数量,单点修改的影响范围往往比预期大。

7. 验收与答辩:怎么证明这套 ASCP 方案真的跑通了

验收这套方案,别从界面截图开始讲,从「一条需求怎么走完全程」讲起。拿 D1 的 5 月 2 日 10 千件需求做主线:MDS 录入 → 计划运行生成 YY-SJ 计划订单 → 展开到 YY-JG、YY-JS 的跨组织供应 → 再展开到 YY-SC、YY-CB、YY-KB、YY-BA 的采购申请 → 计划下达 → 采购订单批准、工单释放 → 入库发运。这条链路每一环都有对应的查询或界面证据,串起来就是最有说服力的验收材料。

答辩时建议准备一张验收对照表,把每个环节的「预期结果」和「实际证据」并排列出来,评委问哪一环就翻到哪一行,比临场回忆稳得多。

验收环节预期结果证据来源
物料多组织分配M1 采购、M2 制造,例外集均为 ASCP组织物料属性查询
BOM 与工艺路线三层 BOM 连通,M2 用量 10、计划为是工艺路线资源查询
来源规则与分配清单比例合计 100%,级别有序分配清单查询
MDS两个需求点日期数量正确MDS 明细导出
计划运行无报错,例外可按类型归集请求日志、例外汇总
计划执行采购订单批准、工单释放、发运可追溯采购与离散任务界面

被问到「为什么先跑非能力约束计划」时,回答要点是先看净需求缺口再看产能约束,两轮计划对比才能说清瓶颈影响;被问到「M2 产能不足怎么处理」时,能指出例外里的超出能力记录并给出加班、外协或调整需求日期的选项,就说明你真的读懂了计划结果,而不是只跑了个流程。

血泪经验是:这套配置里最容易被忽略的不是计划定义,而是组织物料属性里那几个下拉框——制造或采购、例外集、计划方法,任何一个填错,计划都能跑完,但结果是错的,而且错得很安静。从那以后我每次配完基础数据,都强制走一遍「多级供应链清单 + 计划订单抽查」的双重核对,再往下做计划定义。希望这套结构和验收思路能帮到你,照着搭一遍,再按自己的业务改参数,比看十篇概念文章都管用。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进