在系统之间交换数据

仅仓库管理模式要求您在外部系统和 Microsoft Dynamics 365 Supply Chain Management 系统之间设置集成。 需要以下交互类别:

  • 主数据(例如产品信息)
  • 单据数据(例如采购订单和销售订单)
  • 进度数据(例如接收、分派和现有库存信息)

许多不同的集成方法可用于这三个类别。 本文介绍了建议的集成流程。

主数据和参考数据

为了实现一致的通信,多种类型的主数据和参考数据必须同步并可供两个系统使用。 一个示例是产品主数据。 通过与产品主数据相关的以下消息可以将此类数据导入到 Supply Chain Management 中:

  • SourceSystemProductMessages - 用于创建产品和已发布产品,包括变型的基础产品。
  • SourceSystemProductVariantMessages - 用于为基础产品创建变型,其中 ProductSubtype = ProductMater
  • SourceSystemProductSpecificUnitOfMeasureConversionMessages - 用于创建特定于产品的度量单位转换。
  • SourceSystemProductBarcodeMessages - 用于创建产品条码设置。
  • SourceSystemProductGlobalTradeItemNumberMessages – 用于为产品创建全球贸易项目编号 (GTIN)。
  • SourceSystemProductDocumentAttachmentMessages – 用于附加产品文档、产品图片等。

提示

记录模板 在您导入产品时很有用,因为您可以在消息中包含 模板名称 值。 此外,您还可以确保已分配已发布产品所需的参考字段。

与装运单一样,这些消息在消息处理期间验证,并通过源系统物料实体自动将产品信息链接到源系统记录。 外部系统可以使用 业务事件 来监视消息处理过程中消息状态的变化。

只有一个源系统记录可以标记为维护与已发布产品或物料编号的唯一引用相关的产品主数据的外部系统。 您可以使用源系统物料页面查看和维护此数据。

注意

消息处理器根据其 MessageId 分别处理与创建产品主数据相关的每条消息。 有些消息具有依赖关系,例如要求先创建已发放产品,然后再为其提供条码。 如果您使用编号规则而不是产品的外部物料编号,当不存在已发放产品或源系统物料数据时,SourceSystemProductMessages 流程将创建新产品。

提示

源系统物料编号字段在系统之间通信期间使用。 例如,当外部系统使用欧洲商品代码 (EAN) 条码作为链接到具有不同值的物料/变型编号字段的唯一标识号时,它非常有用。 当使用之前列出的消息时,会自动创建源系统物料编号数据。

当使用 Warehouse Management 移动应用时,源系统物料编号值还可以用于查看在内部使用的物料/变型编号值。

您可以使用数据实体将所需主数据导入到 Supply Chain Management 中。 需要以下类型的主数据和参考数据来创建在仓库管理流程中使用的发布产品/物料编号值。

  • 物料模型组 - 每个已发布产品必须分配到 Supply Chain Management 中的物料模型组。 因此,必须提供至少一个组。 该组可以控制批量跟踪物料的业务流程。 对与仅仓库管理模式一起使用的每个物料模型组建议以下设置。 这些设置消除了为产品设置任何成本计算数据的需要。

    • 库存模型 - 将此字段设置为未评估
    • 过帐实际库存 - 关闭此选项。 仅当您已设置至少一个源系统记录时才可以选择此选项。
    • 过帐财务库存 - 关闭此选项。 仅当您已设置至少一个源系统记录时才可以选择此选项。
  • 物料组 - 可用于对业务流程进行分组,尤其是在使用产品筛选器代码时。 当使用未评估库存模型时,不需要帐户设置。

  • 存储维度组 - 允许使用存储库存维度值,例如站点、仓库、库位和牌照。 请务必启用使用仓库管理流程参数。

  • 跟踪维度组 - 允许使用跟踪库存维度,例如所有者、批次和序列号。 请注意,所有者维度值必须等于与仓库关联的公司。 有关详细信息,请参阅不受支持的流程

  • 预留层次结构 - 定义在出站装运单预留流程期间预留哪些维度。 位于库位维度下方的维度由仓库管理流程控制。

  • 单位 - 仓库流程处理的每个数量都必须与一个单位关联。 当一个物料使用多个单位(例如每个、箱和/或托盘)时,请务必将库存单位定义为该物料的最小单位。

  • 单位序列组 - 定义可用于仓库工序的单位序列。 有关所需设置的详细信息,请参阅度量单位和库存策略

票据

创建产品主数据的消息使用产品数据实体。 这些实体可以自己使用,也可以用于维护产品主数据。

查看和维护源系统产品消息

在仅仓库管理模式下,您可以查看、更新和创建产品消息。 因此,您可以在实施流程期间快速测试集成。 当外部创建的消息处于 失败 消息状态时,您可以更新字段值并将更新的消息分配回消息队列。 原始消息将被版本化并且不可编辑。 转到以下页面之一查看和维护消息:

  • 仓库管理>源系统产品>源系统产品消息
  • 仓库管理>源系统产品>源系统产品变体消息
  • 仓库管理>源系统产品>源系统产品条形码信息
  • 仓库管理>源系统产品>源系统产品文档附件消息
  • 仓库管理>源系统产品>源系统产品全球贸易项目编号消息
  • 仓库管理>源系统产品>源系统产品特定的计量单位转换消息

通过 仓库集成监控 工作区,您可以跟踪 排队失败的源系统产品消息的数量。

注释

您可以设置每个源系统以允许或阻止用户在列出的页面上手动创建消息。 打开相关的 源系统 记录,并将 启用手动源系统产品消息创建 选项设置为 允许手动消息或 以阻止它们。 请注意,与通过集成导入的消息不同,手动创建的消息没有版本控制。

发货人和收货人信息

为了更轻松地设置仓库工序,您可以创建和使用发货人收货人的数据及其相关的组定义。 例如,您可以针对与为特定发货人或收货人组设置质检订单创建流程相关的流程使用此方法。

入站装运单策略(属于源系统设置的一部分)和入站装运单消息处理都不要求发货人的帐号值的字段存在于发货人页面(仓库管理>设置>仓库管理集成>发货人)的实体中。 与发货人的帐号值相关的出站装运单流程中存在相同的“普通发票”概念。

国家/地区

若要为您的仓库创建新法人并导入出站装运单,您必须具有在 Supply Chain Management 中定义的国家/地区值。 这些记录用于出站装运单以创建地址。 您可能必须先创建其他数据,然后才能导入订单消息(例如,以支持州/省和县组合),这取决于您的地址设置以及您在订单消息中使用地址字段的方式。

入站和出站装运单消息

您可以使用入站和出站装运单消息来通知 Supply Chain Management 要接收和装运的实际库存。 这些消息包括标头数据和行数据。

系统之间的消息通过使用轻量级入站装运单出站装运单单据进行交换。 这些单据无需使用 Supply Chain Management 通常使用的几种其他类型的单据(例如销售订单、采购订单和转移单)。 因此,它们有几个好处。 例如,它们简化了与企业资源计划 (ERP) 和订单管理系统的集成。 它们还使 Supply Chain Management 仓库管理功能可用于各种外部 ERP 和订单管理系统。

入站和出站装运单消息可以使用 Dataverse 进行交换。 或者,可以通过 Open Data Protocol (OData) 使用装运单消息实体和/或使用数据管理导入流程(例如,使用入站装运单消息复合实体出站装运单消息复合实体)进行交换。

Supply Chain Management 对传入单据进行排队,然后使用消息处理器处理它们。 此方法确保系统之间的主数据(例如产品)和订单进度状态的数据一致。 因此,Supply Chain Management 入站和出站装运单不会创建或更新无效或不受支持的订单数据。 我们建议您使用装运单消息队列处理消息,以作为消息处理器触发的定期批处理作业的一部分。

下图显示了消息处理器如何适应集成系统。

消息处理图表。

进度数据和业务事件

外部系统对仓库管理系统可以有许多不同的业务流程请求。 例如,每个外部系统都可以连续轮询销售订单的进度。 为了遵守该流程,Supply Chain Management 可以设置为根据需要交付业务事件。 业务事件使外部系统了解 Supply Chain Management 中发生的进度和操作。 当此设置准备就绪时,外部系统不必继续轮询自上次请求以来可能未更改的信息。 相反,它们仅在收到通知时才能做出反应。

仓库集成支持多种开箱即用的业务事件。 下表列出了其中一些业务事件。

业务事件 ID Description
WHSSourceSystemProductMessageChangedStatusBusinessEvent 源系统产品消息已更改状态
InventCountingJournalPostedBusinessEvent 盘点日记帐已过帐
WHSSourceSystemInventoryOnhandReportBusinessEvent 已创建源系统现有库存量报表
WHSInventoryUpdateLogBusinessEvent 仓库库存更新日志已更新
WHSOutboundNotificationCreatedBusinessEvent 出站仓库通知已创建
WHSShipmentOrderMessageChangedStatusBusinessEvent 装运单消息状态已更新
WHSShipmentPackingSlipJournalModifiedBusinessEvent 装运装箱单已更新
WHSShipmentPackingSlipJournalFailedBusinessEvent 装运装箱单更新已失败
WHSShipmentReceivingJournalModifiedBusinessEvent 装运接收已更新
WHSShipmentReceivingJournalFailedBusinessEvent 装运接收更新已失败
SysMessageProcessorMessageProcessedBusinessEvent 消息处理程序消息已失败
WhsWaveExecutedBusinessEvent 已执行波次
WHSQualityOrderValidatedBusinessEvent 质检订单已验证
WHSEWInboundShipmentOrderRequestCreatedBusinessEvent 已创建入站发货订单请求(可用于将供应链 管理与另一个WMS 集成)
WHSEWOutboundShipmentOrderRequestCreatedBusinessEvent 已创建出站装运订单请求(可用于将供应链 管理与另一个WMS 集成)
WHSEWInboundShipmentOrderUpdateChangedStatusBusinessEvent 入站装运订单更新正在处理中,因此状态已改变(可用于将供应链 管理与另一个仓库管理系统 (WMS) 集成)
WHSEWOutboundShipmentOrderUpdateChangedStatusBusinessEvent 出站装运订单更新正在处理中,因此状态已改变(可用于将供应链 管理与另一个WMS 集成)

我们至少建议您使用以下业务事件与外部 ERP 系统集成:

  • InventCountingJournalPostedBusinessEvent - 此事件宣布已发生现有库存调整,并指示在哪里可以找到有关更新的详细信息。
  • WHSSourceSystemInventoryOnhandReportBusinessEvent - 此事件宣布已生成现有库存报表,并指示在哪里可以找到有关更新的详细信息。
  • WHSShipmentPackingSlipJournalModifiedBusinessEvent - 此事件宣布已发生出站装运确认流程,并指示在哪里可以找到详细的分派建议数据。 (例如,此数据可用于销售开票流程。)
  • WHSShipmentReceivingJournalModifiedBusinessEvent - 此事件宣布已发生入站接收完成流程,并指示在哪里可以找到详细的接收建议数据。 (例如,此数据可用于采购订单开票流程。)

现有调整

当您集成 ERP 系统和仓库管理系统时,保持现有库存数据一致至关重要。 作为仓库管理唯一模式实施方法的一部分,有几个流程可以帮助维护这个对齐。 有关现有库存更新流程的详细信息,请参阅 系统间的现有库存更新