2. 供应链计划系统概述:SCP系统架构、需求预测模块的位置、主数据与事务数据流
在深入需求预测接口调试之前,必须先理解需求预测模块在供应链计划(SCP)系统中的位置与数据流转方式。SCP系统并非单一应用,而是一个由多个计划层次、数据源和算法引擎组成的集成架构。需求预测作为计划链的起点,其输入质量直接影响后续的主生产计划、物料需求计划和采购计划。
2.1 SCP系统分层架构
典型的SCP系统采用分层计划架构,从战略层到执行层逐级细化。下表展示了各层级对应的计划对象、时间粒度与典型模块:
| 计划层级 | 计划对象 | 时间粒度 | 典型模块 |
|---|---|---|---|
| 战略层 | 产品族、工厂网络 | 年/季度 | 网络优化、产能战略规划 |
| 战术层 | SKU、产品组 | 月/周 | 需求预测、销售与运作计划(S&OP) |
| 执行层 | 物料、工单 | 周/天 | 主生产计划(MPS)、物料需求计划(MRP) |
| 排程层 | 工序、资源 | 天/班次 | 高级排程(APS)、车间调度 |
需求预测模块位于战术层,是连接战略目标与执行计划的桥梁。它接收历史销售数据、市场情报和促销计划,输出未来一段时间的独立需求预测值,供下游MPS和MRP模块使用。
2.2 需求预测模块在SCP中的位置
下图展示了SCP系统的核心模块关系,突出需求预测模块作为数据枢纽的位置:
关键理解:需求预测模块是SCP系统中唯一同时对接外部数据源和内部执行系统的模块。它输出的预测值一旦被下游MPS/MRP采纳,将直接驱动采购、生产和物流活动。因此,预测接口的稳定性与数据准确性至关重要。
2.3 主数据与事务数据流
需求预测模块的运算依赖两类数据:主数据(相对静态的描述性数据)和事务数据(动态发生的业务记录)。两者的区别与典型内容如下:
| 数据类别 | 定义 | 典型字段 | 更新频率 | 来源系统 |
|---|---|---|---|---|
| 主数据 | 描述业务实体的核心属性 | 物料编码、物料组、产品层级、客户、工厂、存储地点、BOM结构 | 低频(日/周/月) | ERP、MDM、PLM |
| 事务数据 | 记录业务活动的动态数据 | 销售订单、发货单、退货单、库存交易、采购订单、生产工单 | 高频(实时/每小时) | ERP、WMS、MES、OMS |
2.4 数据流全景图
下图展示了从数据采集到预测输出的完整数据流,包含主数据与事务数据的汇合路径:
接口调试提示:在调试需求预测接口时,务必先确认主数据(如物料编码、工厂代码)在源系统与SCP系统之间是否一致。主数据不一致是导致预测接口返回空值或错误结果的最常见原因。建议在接口测试前,先执行一次主数据同步校验。
2.5 数据流的关键特征
- 单向依赖:主数据必须先于事务数据加载。如果物料主数据尚未同步,事务数据中的销售订单将无法匹配到正确的预测维度。
- 时间对齐:事务数据必须带有准确的时间戳(订单日期、发货日期),预测引擎按周/月聚合时依赖时间维度的完整性。
- 增量更新:生产环境中,事务数据通常采用增量接口(如CDC或API增量推送),而非全量刷新,以减少对预测引擎的冲击。
- 异常标记:数据整合层应标记异常事务(如退货金额大于订单金额、数量为负),避免脏数据污染预测模型。
2.6 接口调试视角的关键检查点
| 检查点 | 主数据相关 | 事务数据相关 |
|---|---|---|
| 数据完整性 | 物料编码是否在SCP中存在?层级关系是否完整? | 订单日期是否在预测时间范围内?数量字段是否非空? |
| 数据一致性 | ERP与SCP的物料描述、单位是否一致? | 销售订单状态是否已过滤(如只取已发货)? |
| 数据时效性 | 主数据版本是否与预测周期匹配? | 事务数据是否包含最新一天的数据? |
| 接口协议 | 主数据接口是REST还是SOAP?分页策略? | 事务数据接口是否支持增量拉取? |
常见陷阱:许多项目在需求预测接口调试阶段,只关注事务数据(销售订单)的传输,而忽略了主数据的同步。结果导致预测引擎虽然收到了订单数据,却因为找不到对应的物料主数据而无法执行聚合运算,最终返回空预测。请务必将主数据同步作为接口调试的前置条件。