轻易云
注册体验

领星辅料到金蝶物料的主数据同步:轻易云实战教程

· 谢锴斌· 集成方案库· 17 次浏览· 约 4 分钟读完
金蝶云星空ERP供应链集成主数据同步轻易云batchSave

这个策略解决什么问题

辅料主数据从领星ERP推到金蝶云星空,看似只是「换张表」,但一旦编码映射和描述口径没设计好,3 个月后两边对账就会错位。我们用轻易云数据集成平台(Qeasy)承接这条策略,目标是把辅料 SKU、名称、报关规格等基础资料稳定、低时延地落到目标系统,作为后续采购、销售、库存链路的前置条件。

数据流向与字段映射

整体流向为:领星ERP(源,按创建时间增量拉取辅料列表)→ 轻易云中间层(字段映射、编码补齐、清洗)→ 金蝶云星空物料(目标,batchSave 写入)。

关键字段对照表(仅列代表性字段):

语义源端(领星辅料接口)中间层处理目标端(金蝶物料 batchSave)
唯一编码sku直接透传,作为唯一键FNumber
物料名称product_name直接透传FName
描述/规格declaration.customs_declaration_spec透传,必要时兜底空串FDescription
创建组织—常量 100FCreateOrgId
使用组织—常量 100FUseOrgId
源系统内部 idid仅作为幂等键参考—
拉取窗口create_time_start/end用 {{LAST_SYNC_TIME}} / {{CURRENT_TIME}} 维护—

补充说明:源端 id 与目标端 id 都设为 0,配合 idCheck=true 由目标系统按编码判重,这是金蝶物料去重的稳妥做法。

在轻易云上如何配置

在 Qeasy 上把这条策略拆成「源数据源 + 目标数据源 + 集成流」三块配置,典型要点如下。

  1. 源数据源(领星ERP):API 选 /erp/sc/routing/data/local_inventory/productAuxList,方法 POST,类型 WebAPI,作用 QUERY。请求体固定 offset=0、length=100,时间窗用变量 {{LAST_SYNC_TIME}} 与 {{CURRENT_TIME}}。开启 autoFillResponse,避免手写响应结构。
  2. 目标数据源(金蝶云星空):API 选 batchSave,方法 POST,类型 EXECUTE。请求体里 FCreateOrgId、FUseOrgId 用常量 100,FNumber、FName、FDescription 通过变量绑定源字段。
  3. 集成流编排:拉取 → 字段映射 → 批量提交 → 写日志。编码映射建议在轻易云里「集中管理」:单独建一张映射表,专门处理特殊字符、空值兜底、长度截断,轻易云客户常见做法是把这类映射抽成可复用节点,方便后续「领星-产品—》金蝶-物料」等同类策略复用。
  4. 幂等与去重:依靠目标系统按编码判重(idCheck=true),中间层只做轻量校验,不做硬去重,避免重复写入被误拦截。

实施步骤

我们建议分三阶段上线。

第一阶段:增量起点。先跑一次「按创建时间」的全量回溯,把历史辅料一次性灌入金蝶;灌完后再切到「按 {{LAST_SYNC_TIME}} 起、{{CURRENT_TIME}} 止」的增量窗口。源端 crontab 58 0 * * *,目标端 59 0 * * *,源在前、目标在后,自然形成「先拉后写」的串行节拍。

第二阶段:全量触发。每周固定一次(如周日 02:00)触发一次全量对账,把增量期间可能漏掉的数据补齐。轻易云上把全量触发单独配一个定时器即可,与日常增量并行。

第三阶段:调度频率稳定化。日常增量保持每日一次即可;辅料主数据变更频率通常不高,过密反而放大接口压力。一旦上游领星批次切到小时级,再同步把 crontab 调成每小时。

踩坑复盘

  1. 描述字段为空直接报错。源端 declaration.customs_declaration_spec 偶尔为空,目标端 FDescription 又是必填。这里容易翻车,稳妥做法是在中间层做空串兜底,而不是让 batchSave 整批失败。
  2. 编码大小写不一致。领星侧 SKU 多为大写,金蝶侧历史上混入小写会导致「同物不同码」。典型错误是直接透传,正确做法是在映射层统一转大写并去前后空格。
  3. 页长 100 的隐藏分页。源端接口默写 length=100,但很多同学忘了分页,单次只拿到前 100 条且不报错。应在轻易云里打开自动分页,按返回字段判断是否继续拉取。
  4. 组织常量写死。FCreateOrgId/FUseOrgId 直接写常量 100,多组织客户一旦换组织就要全量重配。较稳的做法是用变量绑定组织字典,按物料所属组织动态传入。
  5. 增量起点没记录。第一次上线时没保留 LAST_SYNC_TIME 的初始值,结果第二次跑就漏了一批数据。我们现在每次运行结束后把 CURRENT_TIME 落库作为下次起点。

适用场景与不适用场景

适用:辅料/成品 SKU 数量在万级、变更频率以「天」计、目标系统需要按编码判重的供应链集成。 不适用:需要实时秒级同步的物料状态、跨多语言多币种复杂规格、以及目标系统不开放 batchSave 写入的私有部署。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-kingdee-cloud-erp-9642-n3b43463f-9b5db689

评论