SkyPlanner 团队会在实施导入期间根据您的 M3 配置完成集成设置,并在上线后继续提供支持。本指南面向参与集成的合作伙伴和开发人员,也适用于自行基于 SkyPlanner 已有文档的 REST API(API 参考)进行开发的人员。
SkyPlanner 使用的 M3 接口
Infor M3 提供四个集成层,在本集成中各有用途。
- ION API Gateway 上的 M3 API(MI 程序)。每个 MI 程序都通过 REST 调用:
https://{ionapi-host}/{tenant}/M3/m3api-rest/v2/execute/{program}/{transaction}。请使用 v2。该版本新增了公司、分部和日期格式参数,返回的数据结构也与 v1 不同。PMS100MI 用于制造订单,PMS070MI 用于工序报工。(Infor 文档) - Infor Data Fabric 中的 Compass 查询 API。通过 SQL 读取 MITMAS、MWOHED 和 MWOOPE 等 M3 表的副本。Compass 采用异步方式:提交查询任务,轮询任务状态,再分页获取结果,每页最多 100,000 行或 10 MB。它适合首次加载主数据,不适合实时同步。(Infor 文档)
- ION BODs。M3 BOD Processor 按会计实体发布已启用的 BODs。入站 BODs 包括 Process ProductionOrder、Sync BillOfMaterials、Process BillOfMaterials、Process ItemMaster 以及 Sync InventoryCount。(Infor 文档)
- M3 Event Hub。这是一个发布—订阅框架,用于处理表级事件,例如制造订单表头和工序的变更。(Infor 文档)
MI API 规范位于各租户 ION API 目录的 Available APIs 下,每个程序都有对应的 Swagger 文档。如果标准目录中缺少所需事务,可通过 XtendM3 添加自定义 MI 程序,通过 Metadata Publisher 构建自定义列表 API。
身份认证
在 ION API 中使用 OAuth 2.0 将 SkyPlanner 注册为授权应用。应使用带服务账户的后端服务应用,让集成无需依赖特定用户的会话即可运行。ION API 会对每次调用执行租户的限流和安全策略。(Infor 开发者门户)
SkyPlanner 端的 REST API 使用 API 令牌进行身份验证(SkyPlanner Settings > API),文档采用 Swagger/OpenAPI 格式。集成教程会逐步指导您完成最初的 API 调用。
变更检测:Event Hub、BODs 和轮询
M3 可以推送变更,但需要先在 Infor 端完成配置:
- Event Hub 只发布有活跃订阅者的事件。ION Enterprise Connector(IEC)通过 EventHub Subscriber 通道进行订阅。
- BODs 必须在 BOD Processor 中按会计实体启用,此操作需要 M3EC-Administrator 角色。(Infor 文档)
如果尚未配置推送,可轮询 PMS100MI 列表事务,或通过 Compass 按变更时间戳执行查询。
借助 SkyPlanner 自带的 webhook,回写流程从一开始就由事件驱动。
数据映射
| Infor M3 对象(接口) | SkyPlanner 对象 | 方向 | 频率 |
|---|---|---|---|
| 物料,MMS001(通过 Compass 读取 MITMAS,或使用物料 MI 程序) | 产品和物料 | M3 → SkyPlanner | 首次加载,之后在变更时同步 |
| 产品结构表头 PDS001,PDS002 中的物料 | 产品结构、子产品、物料 | M3 → SkyPlanner | 首次加载,之后在变更时同步 |
| PDS002 中的工序:工序号、工作中心、准备时间和运行时间 | 包含准备时间和运行时间的工艺步骤 | M3 → SkyPlanner | 首次加载,之后在变更时同步 |
| 工作中心 PDS010,每日产能 PDS015 | 工作中心、工作中心组、效率 | M3 → SkyPlanner | 首次加载,之后很少同步 |
| 制造订单 PMS100(MWOHED)、PMS100MI | 包含交期和数量的订单 | M3 → SkyPlanner | Event Hub 或轮询 |
| 制造订单工序(MWOOPE) | 各工序对应的生产任务 | M3 → SkyPlanner | Event Hub 或轮询 |
| 库存余额 | 各物料的库存 | M3 → SkyPlanner | 每小时或执行排程时轮询 |
| 包含交货日期的采购订单行 | 待收物料,在交货日期可用 | M3 → SkyPlanner | 每小时或执行排程时轮询 |
| 各制造订单工序的计划开始和结束时间 | 甘特图中已排程的生产任务 | SkyPlanner → M3 | 排程变更时,通过 SkyPlanner webhook 同步 |
| PMS070MI Report operation:准备时间、运行时间、数量 | 操作员记录的工时和数量 | SkyPlanner → M3 | 每次确认或每个班次同步 |
| SkyPlanner 约束数据 | 换型时间矩阵、作为有限资源的工具、各生产任务的操作员、备选工作中心 | 在 SkyPlanner 中维护 | 在实施导入期间配置 |
集成模式
1. 首次加载主数据。通过 Compass 批量读取物料、产品结构、工序和工作中心。应根据排程需求,明确将每个 M3 工作中心映射到 SkyPlanner 的工作中心还是工作中心组。如果一个 M3 工作中心代表三台并行设备,而您希望分别排程,就应将其映射为三个 SkyPlanner 工作中心。
2. 订单同步。从 PMS100MI 或 MWOOPE 读取已下达的制造订单及其工序,同时读取库存和未结采购订单行。SkyPlanner 将已订购物料视为在采购订单交货日期可用,并在采购订单标记为 Delivered 时更新库存。排程时会同时检查这两类数据。
只对已确定的制造订单进行排程。计划制造订单(PMS170)会由 MRP 重新生成,而 M3 每次重新计划时都会重建这些订单的负荷。
3. 排程回写。对于引擎安排或调整过的每道工序,SkyPlanner 都会将计划开始和结束时间写入对应的制造订单工序。回写使用租户目录中针对制造订单工序的 M3 MI 事务;如果您的配置需要,也可使用 XtendM3 MI 程序。数量、状态和成本核算仍由 M3 管理。
4. 车间报工。操作员使用 SkyPlanner Mobile Confirmations 或 Production Timer 记录作业。SkyPlanner 通过 PMS070MI Report operation 发送准备时间、运行时间和数量,并在工序完成后调用 Confirm 或 Close operation。Infor 指出:”it is important that every operation is reported,”(对每道工序进行报工很重要),这种做法可使 M3 中的负荷与 SkyPlanner 中的进度保持一致。(PMS070MI)
每道工序只选择一个报工渠道。如果同时从 SkyPlanner 和 M3 的 PMS070 对同一道工序报工,数量就会重复计入。
5. 数据管理归属与冲突处理规则。上线前应书面明确以下规则:
| 数据 | 管理系统 |
|---|---|
| 物料、产品结构、数量、制造订单状态 | Infor M3 |
| 工序顺序、开始和结束时间、工作中心分配 | SkyPlanner |
| 换型时间矩阵、工具、各生产任务的操作员、备选资源 | SkyPlanner |
| 班次与缺勤 | 由一个系统管理,在范围评估时确定 |
| 工序报工 | 由 M3 管理,数据由 SkyPlanner 通过 PMS070MI 传入 |
冲突主要源于 M3 自身的日期逻辑。关于负荷,文档说明:”is automatically generated when a manufacturing order or planned manufacturing order is generated or replanned.”(创建或重新计划制造订单或计划制造订单时,会自动生成负荷。)应将重新计划后的制造订单视为新版本,重新同步,再由 SkyPlanner 重新排程。生产发生变化时,Autopilot 会自动重新排程。SkyPlanner 不需要 M3 Scheduling Workbench;如果您已购买 SWB 许可,应由 SkyPlanner 统一管理工序日期,避免两个系统相互覆盖。
典型项目步骤
实施通常在上线准备启动后的数周内完成。在此之前,您可以用自己的数据进行 30 天免费试用。按平时的方式使用 Excel 或 Compass 从 M3 导出物料、工作中心和未结制造订单,再以 CSV 或 Excel 格式导入。
- 与 M3 管理员一起调研。确认部署方式、ION API 租户、目录中的 MI 事务,以及公司和事业部。
- 确定映射。敲定映射表、数据归属规则、同步频率和报工通道。
- 配置 ION API。先在沙箱租户中注册授权应用和服务账户。
- 初始数据加载。通过 Compass 加载物料、产品结构、工序和工作中心。
- 订单同步。通过轮询同步制造订单、制造订单工序、库存和采购订单,待准备就绪后接入 Event Hub。
- 在 SkyPlanner 中配置约束。设置换型时间矩阵、工装、每项生产任务的操作员人数和备选工作中心。
- 回写与报工。将工序日期回写到 M3,通过 PMS070MI 提交操作员报工数据。
- 并行运行与上线。让 SkyPlanner 与现有计划并行运行,修正主数据后再启用回写。
Infor M3 集成需要提前考虑的事项
- 没有独立的工艺路线对象。工序保存在产品结构(PDS002)中,也以制造订单工序的形式保存在制造订单上。不要寻找工艺路线 API。
- 产品结构不能没有工序。产品结构至少需要一道工序,否则 M3 不会生成负荷,SkyPlanner 也就收不到生产任务。
- M3 的有限产能标志会与外部计划冲突。PDS010 标志和 CRS786 瓶颈设置会改变 M3 自身的日期。请在 M3 中将工作中心保留为无限产能,由 SkyPlanner 按实际产能约束排程。
- API 规范因租户而异。v1 与 v2 的响应不同,事务名称也会随目录和 XtendM3 扩展而变化。请使用 v2,并显式指定公司和事业部参数。
- 推送默认未启用。Event Hub 需要配置订阅者,BODs 则需要按会计实体分别启用。请明确由谁配置 ION 和 IEC,或先从轮询开始。
- 限流与分页。ION API 按租户策略限流,Compass 每页最多返回 100,000 行或 10 MB 数据。轮询时只读取增量,不要全量重载。
- M3 不是 CloudSuite Industrial。CSI 使用 IDO APIs,M3 使用 MI 程序。每份规范都应明确写出所用的 M3 对象。
谁负责配置 Infor M3 集成
- SkyPlanner 团队在上线准备期间完成配置,并在上线后提供支持。每家工厂使用 M3 的方式都不同,这些实践经验正是在集成配置中发挥作用。
- 您的 Infor M3 合作伙伴可以负责开发,也可以参与实施。合作伙伴熟悉您的租户、XtendM3 扩展和 ION 配置。SkyPlanner 提供 REST API、Swagger/OpenAPI 文档和 webhooks。
- 您自己的开发人员也可以构建集成,使用同一套 REST API,通过 API 令牌接入。有 API 令牌即可开始,SkyPlanner 团队会在需要时提供协助。Laboratory & Allied 的内部 IT 团队在 SkyPlanner 的协助下,主要依靠自身力量完成了 ERP 集成。
SkyPlanner 每月 199 € 起,包含 5 个工作中心,按月计费。我们会根据您的流程和需求,提前将集成费用与所选套餐一并报价,让您在开始前了解全部费用。您可以查看价格,在 Infor M3 生产排程页面了解 M3 自带计划功能的作用,在 Infor M3 页面查看概览,或在 ERP 集成中心了解其他系统。
制造企业对 SkyPlanner 的评价
2 小时每周节省的时间
“SkyPlanner 让我们的生产计划从 Excel 表格走向了实时生产优化。”
Kalle Kalliomäki,供应链专员
UTU · 配电柜和开关设备
生产计划工作每周节省 2 小时,新的生产任务队列只需数秒即可下达到产线。
+90%生产效率提升
“生产效率提高了 90%。”
Abdul Rucyinga,IT 负责人
Laboratory & Allied · 制药
生产效率提高了 90%,为所有工作中心制定覆盖三个月的优化计划,耗时不到 30 分钟。
98%准时交付率,由约 50% 提升至此
“SkyPlanner 对维持我们的准时交付率起着决定性作用。”
Hannu Lahtinen,总经理
KJH-Comp · 钣金加工与合同制造
准时交付率从约 50% 提升至最高 98%,排程工作也从需要两名主管变为只需一名。
100%自 2021 年以来的准时交付率
“SkyPlanner 让我们清楚掌握产能,让计划结果可预见。”
Dan Berglund,COO/CFO
Opes Corporation · 化工与食品制造
自 2021 年开始使用 SkyPlanner 以来,准时交付率始终保持在 100%。
常见问题
SkyPlanner 使用哪个 Infor M3 API?
使用 ION API Gateway 上的 M3 API,通过 REST 调用 PMS100MI、PMS070MI 等 MI 程序,并采用 OAuth 2.0 认证。Infor Data Fabric 中的 Compass 负责批量读取,Event Hub 或 ION BODs 负责推送变更。
谁负责构建 Infor M3 集成?
SkyPlanner 团队会在上线准备期间,根据您的 M3 配置建立双向集成,并在上线后提供支持。您的 M3 合作伙伴或内部开发人员也可以依据 SkyPlanner 的 REST API 文档进行开发,有 API 令牌即可开始。
哪个 M3 API 用于回传车间工序报工数据?
PMS070MI。通过 Report operation 上报准备时间、运行时间和数量,通过 Confirm and Close operation 完成工序。SkyPlanner 通过该 API 发送操作员报工数据。
该集成是否支持本地部署的 M3?
支持。本地部署的 M3 提供同样的 M3 API。如果没有 ION API Gateway,SkyPlanner 可以通过您本地的 ION 或 Grid 端点连接,也可以通过中间件连接。具体连接方式将在与 M3 管理员的调研中确定。
M3 合作伙伴应该推荐 M3 Scheduling Workbench 还是 SkyPlanner?
如果客户需要的是按实际产能约束排出的计划,而非粗能力计划,应选择 SkyPlanner。Infor 对 SWB 的上线建议是:先将所有资源设为无限产能,仅对关键瓶颈设置有限产能(Infor 文档)。Infor 将 SWB 列为附加组件,用户需从 RDWeb 或开始菜单启动。SkyPlanner 通过同一套 M3 API 连接,对每项资源按实际产能约束排程,自动重新排程,并为操作员提供 Mobile Confirmations,每月 199 € 起。