轻易云
注册体验

金蝶云星空物料主数据同步到MySQL实战教程

· 卢剑航· 集成方案库· 21 次浏览· 约 4 分钟读完

这个策略解决什么问题

物料主数据是供应链集成的"根"。某制造企业在私有化环境里,金蝶云星空是 ERP 主数据源,MES、SRM、自研业务中台都直接消费一份落在 MySQL 的物料镜像表。一旦物料在金蝶侧新增或修改,下游系统如果拿不到及时更新,就会出现 BOM 找不到料号、采购请款对不上规格、车间领料报错等问题。我们这次做的就是「金蝶云星空 → MySQL」的物料新增/修改同步,把根牢牢钉在 ERP。

客户案例:制造企业 MES+ERP 集成

数据流向与字段映射

整体链路是 金蝶云星空(QUERY)→ 轻易云集成平台中间层 → MySQL(WebAPI EXECUTE)。金蝶侧通过 executeBillQuery 接口按 FNumber 编码维度拉取增量物料;中间层做字段映射、单位/分类转换、编码清洗;MySQL 端用一条 INSERT … ON DUPLICATE KEY UPDATE 把数据落到 basic_material_info,做到有则更新、无则新增。

关键字段对照(源 → 目标):

金蝶云星空字段含义MySQL 目标字段说明
FNumber物料编码material_info_no主键,编码映射集中维护
FName物料名称grade_name名称直接落库
FSpecification规格型号spec可空
FMaterialGroup_FNumber物料分组编码big_classify_id分组码值需做映射表
FErpClsID物料属性分类material_type / material_attribute不同行业语义不同
FBaseUnit基本单位unit_no单位统一码值
FTextures / FBrand 等扩展属性textures_type / brand 等按目标表列覆盖

稳妥的做法是把这套对照放在轻易云平台的「字段映射」配置里集中管理,而不是散落在脚本里。

在轻易云上如何配置

  1. 源端(金蝶云星空):新建源平台接入,选择 executeBillQuery,按 FNumber 升序拉取增量,开启分页与单次拉取上限,避免一次性把整张物料表拉爆。
  2. 目标端(MySQL):新建 WebAPI 类型写入,HTTP Method=POST,effect=EXECUTE;main_params 承载字段值,main_sql 用 INSERT … ON DUPLICATE KEY UPDATE 写入 basic_material_info,并把唯一键设为 material_info_no。
  3. 策略编排:将源与目标串成一条 SYNC 策略,sequence=A 表示主动拉取方向;调度计划 */2 * * * *(源)与 */3 * * * *(目标)错开分钟级窗口,降低瞬时并发。
  4. 参数化:把分组、单位、品牌等码值放在轻易云的「字典映射」组件里,源码→目标码一对一维护;后续新增分组只需要补字典,不需要改主流程。
  5. 响应处理:开启 autoFillResponse,让平台自动把写入回执填到上下文做幂等判断。

实施步骤

我们习惯把物料同步拆成三段:

  • 第一阶段:增量起点。先确认源系统最近一次物料修改时间戳或最大 FMasterId,作为首次增量的起点。避免出现"上线第一天只跑了 5 条"的尴尬。
  • 第二阶段:全量触发。在策略里加一个"全量重建"开关,平时不跑,每次物料分组结构调整或字典升级时人工触发,做一次完整比对。
  • 第三阶段:调度频率。生产环境建议源端 */2 * * * *、目标端 */3 * * * *,错峰执行;非工作时段可降频到 */10 * * * *,节省数据库压力。

增量与全量双轨是我们给客户做物料同步时的标配:日常跑增量保新鲜,定期跑全量兜底修正。

踩坑复盘

  1. 编码映射散落在脚本里。典型错误是每个字段都写一段 JS 转换,三个月后没人记得规则。稳妥做法是把所有码值映射集中放到轻易云的字典表,命名按 src_group → tgt_group 风格。
  2. 没启用 idCheck。MySQL 目标端默认 idCheck=true,写入前要先按 material_info_no 查一次存在性;不要图省事关掉,否则 ON DUPLICATE KEY 会失效。
  3. 一次性拉全量。源端 executeBillQuery 不带分页参数时,会把所有物料一次拉到内存。某零售企业第一次上线就因此把轻易云的 worker 打满。务必设置分页与单批上限。
  4. 单位/分组没统一码值。金蝶的"基本单位"和下游 MySQL 的 unit_no 命名规则不一致,需要提前做一张单位映射表;否则规格型号相同、单位不同的物料会被错误合并。
  5. 调度时间撞车。物料同步和销售订单、采购订单同步挤在同一个 5 分钟窗口,会让源数据库出现周期性 IO 抖动。错峰设计是基本素养。

适用场景与不适用场景

适用:ERP 作为主数据源、下游多个业务系统需要物料镜像、且数据量在十万级以内的制造/零售企业。不适用:需要双向同步物料编辑、源端数据量百万级以上、对实时性要求秒级的场景,这类场景应改走事件流或专业 MDM 平台。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-mysql-kingdee-cloud-2246-n714a2d35-66a7ac08

评论