4. 源系统与目标系统差异评估

工艺路线迁移项目最容易出现的失败模式,不是数据搬不过去,而是搬过去之后“看起来对、跑起来错”。根源往往在于:迁移团队只对比了工艺路线的显性字段(路线号、工序号、工序名),却忽略了源系统与目标系统在版本、数据字典、编码规则、业务逻辑四个层面的隐性差异。差异评估的目标,是在迁移开始前把两个系统的“语义鸿沟”量化成一张可核对的差异清单,让后续的映射、转换、验证有据可依。

一、版本差异:先锁定可比对的基线

版本差异包含两层:一是MES产品自身的版本(如源系统为A产品V5.2,目标系统为B产品V8.0),二是工艺主数据的版本(同一物料在源系统存在V1、V2、V3多个生效版本)。盘点时先建立“版本基线表”,明确迁移以哪个时间点、哪个版本为准。

实操上建议采集以下信息:源系统数据库版本与补丁号、目标系统版本与补丁号、工艺路线表的版本字段名(如ROUTE_VER、EFF_DATE)、版本生效规则(按日期生效还是按状态生效)。例如源系统采用“生效日期+失效日期”双日期控制,目标系统采用“版本号+状态位(草稿/生效/冻结)”控制,那么迁移时必须把源系统的日期区间转换为目标系统的版本号序列,否则会出现同一路线在目标系统中多个版本同时生效的冲突。

版本基线一旦确定,应形成书面记录并由工艺、IT、生产三方签字确认,后续所有差异比对都以该基线为准,避免中途更换基线导致返工。

二、数据字典差异:字段级语义对齐

数据字典差异是最琐碎但最致命的一层。同一个业务含义,两个系统的字段名、数据类型、长度、精度、枚举值可能完全不同。盘点方法是导出两边的数据字典(表名、字段名、类型、长度、是否必填、枚举字典),做字段级映射矩阵。

以工序表为例,源系统字段 OP_CODE VARCHAR(10),目标系统为 OPERATION_NO NUMBER(8);源系统工序类型枚举为 1=加工,2=检验,3=返修,目标系统为 PROC/INSP/REWORK。这类差异必须在映射表中逐条登记转换规则。重点关注:主键与外键字段、日期时间格式(源系统 YYYYMMDD,目标系统 YYYY-MM-DD HH24:MI:SS)、布尔值表示(Y/N 与 1/0)、多语言字段、附件与图纸的存储路径字段。

三、编码规则差异:长度、分段与校验位

编码规则差异直接影响主键能否落库。常见差异包括:长度不同(源系统物料编码12位,目标系统10位)、分段结构不同(源系统“大类2位+小类3位+流水5位”,目标系统“大类3位+流水7位”)、字符集不同(源系统允许字母数字,目标系统仅允许数字)、校验位规则不同(源系统无校验,目标系统末位为模10校验)。

盘点时应抽取源系统全部编码样本,按目标系统规则做“可转换性判定”,分为三类:直接可用、需规则转换、无法转换需重新赋码。对于无法转换的编码,必须提前与工艺部门确认是否允许重新赋码,以及重新赋码后如何维持与ERP、WMS的关联关系。这一步若拖延到迁移执行阶段,会造成大量外键断裂。

四、业务逻辑差异:从字段到行为的穿透

业务逻辑差异是最难通过静态比对发现的。同样的字段,在两个系统中的计算方式、校验时机、联动行为可能不同。盘点方法建议采用“场景穿透法”:选取3~5条典型工艺路线(含首件、返修、并行工序、外协工序),分别在源系统和目标系统中走一遍完整流程,记录每一步的系统行为差异。

典型差异点包括:工序顺序号的生成方式(源系统手工指定,目标系统自动按10递增)、工序跳转规则(源系统允许跳序,目标系统强制顺序)、工时计算逻辑(源系统按标准工时累加,目标系统按设备产能折算)、版本切换时的在制品处理策略。这些差异无法通过字段映射解决,必须在目标系统中通过配置或二次开发补齐,或调整业务操作规范来适配。

源系统与目标系统差异评估四维盘点框架 源系统 A产品 V5.2 版本基线 双日期控制 数据字典 OP_CODE VARCHAR(10) 编码规则 2+3+5 分段 业务逻辑 允许跳序 工时计算 标准工时累加 目标系统 B产品 V8.0 版本基线 版本号+状态位 数据字典 OPERATION_NO NUMBER(8) 编码规则 3+7 分段+校验位 业务逻辑 强制顺序 工时计算 设备产能折算 差异评估矩阵 ① 版本差异 → 基线对齐 日期区间 → 版本号序列 ② 数据字典 → 字段映射 类型/长度/枚举转换规则 ③ 编码规则 → 可转换性判定 直接可用/需转换/重新赋码 ④ 业务逻辑 → 场景穿透 跳序/工时/版本切换行为 输出:差异清单 + 转换规则表 差异评估在迁移执行前完成,输出物作为映射转换与验证用例的输入

五、盘点成果的落地形式

四个维度的盘点结果应汇总为两份可直接使用的交付物。第一份是《差异清单》,每条记录包含:差异编号、差异维度(版本/字典/编码/逻辑)、源系统对象与值、目标系统对象与值、差异类型(可自动转换/需人工确认/需开发适配)、影响范围(涉及多少条工艺路线)、责任人、计划解决时间。第二份是《字段映射与转换规则表》,按源表→目标表的粒度,逐字段写明转换表达式或查找表。

以下为差异清单的示例片段(数据为教学假设,非实测结果):

差异编号 维度 源系统 目标系统 差异类型 影响条数
D-001 版本 按EFF_DATE生效 按VER_NO+STATUS生效 需开发适配 约320条
D-002 数据字典 OP_CODE VARCHAR(10) OPERATION_NO NUMBER(8) 可自动转换 全部
D-003 编码规则 12位字母数字 10位数字+校验位 需人工确认 约45条
D-004 业务逻辑 允许跳序 强制顺序 需开发适配 约18条
差异清单不是一次性文档。在迁移执行过程中若发现新的差异,必须回写清单并重新评估影响范围,避免“边迁边改”导致验证基线失效。

盘点方法的核心原则是:先静态比对(版本、字典、编码),再动态穿透(业务逻辑),最后把差异转化为可执行的转换规则和验证用例。只有差异被量化、被分配、被跟踪,迁移才具备可控性。