在系统之间交换数据
纯仓库管理模式要求您在外部系统和 Microsoft Dynamics 365 Supply Chain Management 系统之间设置集成。 需要以下交互类别:
- 主数据(例如产品信息)
- 单据数据(例如采购订单和销售订单)
- 进度数据(例如接收、分派和现有库存信息)
许多不同的集成方法可用于这三个类别。 本文介绍了建议的集成流程。
主数据和参考数据
为了实现一致的通信,多种类型的主数据和参考数据必须同步并可供两个系统使用。 一个示例是产品主数据。 通过与产品主数据相关的以下消息可以将此类数据导入到 Supply Chain Management 中:
SourceSystemProductMessages
–用于创建产品和已发布产品,包括款型的基础产品。SourceSystemProductVariantMessages
–用于为基础产品创建款型,其中 ProductSubtype = ProductMaster.SourceSystemProductSpecificUnitOfMeasureConversionMessages
–用于创建特定于产品的度量单位换算。SourceSystemProductBarcodeMessages
- 用于创建产品条码设置。SourceSystemProductGlobalTradeItemNumberMessages
–用于为产品创建全球贸易物料编号(GTIN)。SourceSystemProductDocumentAttachmentMessages
–用于附加产品文档、产品图像等。
提示
导入产品时,记录模板 很有用,因为您可以在消息中包括 TemplateName 值。 此外,您可以确保为已发布产品分配所需的参考字段。
与装运单一样,这些消息在消息处理期间验证,并通过源系统物料实体自动将产品信息链接到源系统记录。 外部系统可以使用 业务事件 监视消息处理过程中消息状态的变化方式。
只有一个源系统记录可以标记为维护与已发布产品或物料编号的唯一引用相关的产品主数据的外部系统。 您可以使用源系统物料页面查看和维护此数据。
注意
消息处理器根据其 MessageId
分别处理与创建产品主数据相关的每条消息。 有些消息具有依赖关系,例如要求先创建已发放产品,然后再为其提供条码。 如果您使用编号规则而不是产品的外部物料编号,当不存在已发放产品或源系统物料数据时,SourceSystemProductMessages
流程将创建新产品。
提示
源系统物料编号字段在系统之间通信期间使用。 例如,当外部系统使用欧洲商品代码 (EAN) 条码作为链接到具有不同值的物料/变型编号字段的唯一标识号时,它非常有用。 当使用之前列出的消息时,会自动创建源系统物料编号数据。
当使用 Warehouse 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 |
已创建入站装运订单请求(可用于将供应链 Management 与其他 WMS 集成) |
WHSEWOutboundShipmentOrderRequestCreatedBusinessEvent |
出站装运订单请求已创建(可用于将供应链 Management 与其他 WMS 集成) |
WHSEWInboundShipmentOrderUpdateChangedStatusBusinessEvent |
入站装运订单更新正在处理中,因此已更改状态(可用于将供应链 Management 与其他仓库管理系统集成(WMS)) |
WHSEWOutboundShipmentOrderUpdateChangedStatusBusinessEvent |
出站装运订单更新正在处理中,因此已更改状态(可用于将供应链 Management 与其他 WMS 集成) |
我们建议您至少使用以下业务事件与外部 ERP 系统集成:
InventCountingJournalPostedBusinessEvent
- 本事件宣布已发生现有库存调整,并指示在哪里可以找到有关更新的详细信息。WHSSourceSystemInventoryOnhandReportBusinessEvent
- 本事件宣布已生成现有库存报表,并指示在何处可以找到有关更新的详细信息。WHSShipmentPackingSlipJournalModifiedBusinessEvent
–本事件宣布已发生出站装运确认流程,并指示在哪里可以找到详细的分派通知数据。 (例如,此数据可用于销售开票流程。)WHSShipmentReceivingJournalModifiedBusinessEvent
–本事件宣布已发生入站接收完成过程,并指示在哪里可以找到详细的接收通知数据。 (例如,此数据可用于采购订单开票流程。)
现有量调整
当您集成 ERP 系统和仓库管理系统时,必须使现有库存数据保持一致。 作为纯仓库管理模式实现方法的一部分,多个流程可以帮助保持这种对齐。 有关现有库存更新流程工作原理的详细信息,请参阅 系统之间的现有库存更新。