您的仓库管理数据模板
您的仓库管理数据模板
- 全面分析所需收集的推荐属性
- 物料流中需要跟踪的关键活动
- 从Blue Yonder WMS提取数据的实用指南
仓储管理属性
| 名称 | 说明 | ||
|---|---|---|---|
| 事件开始时间 EventStartTime | 表示具体仓库活动或事件开始时间的时间戳。 | ||
| 说明 此属性记录仓库任务或事件启动的日期和时间,为案例中的所有活动提供时间顺序背景。 该时间戳是所有基于时间的流程挖掘分析的基础。它用于排列事件、计算活动间的周期时间、衡量整个流程的持续时间,以及识别等待时间或延迟,也是绩效分析的基础,并且是流程图动画展示所必需的。 为什么重要 开始时间戳是按时间顺序排列事件并计算周期时间、等待时间等所有绩效指标的必填字段。 获取位置 位于事件日志表或任务表中,对应已记录操作的创建时间或开始时间。 示例 2023-10-26T08:30:00Z2023-10-26T09:15:10Z2023-10-26T11:05:45Z | |||
| 仓库订单 WarehouseOrder | 仓库订单的唯一标识符,用于跟踪从创建到完成的所有相关物流活动,是主要流程案例。 | ||
| 说明 仓库订单是用于归集特定物流请求相关所有事件和任务的核心标识符,例如入库收货或出库装运。它代表仓库内一个完整的工作单元。 在流程挖掘中,该属性用于定义案例,从而端到端分析整个订单生命周期。通过追踪单个仓库订单关联的所有活动,分析人员可以衡量总履约时间、识别常见流程变体,并了解订单在仓库内的完整流转过程。 为什么重要 这是连接所有相关仓库活动的关键案例标识符,可支持对订单履约或收货流程进行完整的端到端分析。 获取位置 通常是仓库订单抬头表中的主键。有关订单管理的表,请参阅Blue Yonder WMS文档。 示例 WO-0012845WO-0012991WO-0013057 | |||
| 活动名称 ActivityName | 已发生的具体仓库任务或事件名称,例如“Goods Picked”或“Shipment Dispatched”。 | ||
| 说明 此属性描述仓库管理流程中执行的具体步骤或任务。流程日志中的每个事件都与一个活动名称相关联,共同形成流程顺序。 在分析中,活动名称是发现流程图、分析步骤之间的转换,以及识别瓶颈或偏离标准过程的关键。它几乎用于所有流程挖掘分析,从一致性检查到绩效监控。 为什么重要 此属性对于构建流程图至关重要,因为它定义了各个步骤,并支持流程顺序的可视化和分析。 获取位置 通常位于仓库任务表或事件日志表中,通常由任务类型或状态代码派生。 示例 已创建拣货任务货物已从库位拣出货物已发运 | |||
| 最后数据更新时间 LastDataUpdate | 表示该记录数据最近一次从源系统刷新时间的时间戳。 | ||
| 说明 此属性记录数据集最近一次从Blue Yonder WMS提取或更新的日期和时间,提供有关分析数据新鲜度的元数据。 该时间戳对于数据治理以及帮助用户了解分析时效性非常重要。它确保相关人员了解数据的时效,并确认当前查看的是近期且具有参考价值的流程快照。 为什么重要 此时间戳用于说明数据的新鲜度,确保用户了解分析所覆盖的时间范围。 获取位置 这是通常在数据提取(ETL)过程中生成并添加的元数据字段。 示例 2024-01-15T04:00:00Z2024-01-16T04:00:00Z | |||
| 源系统 SourceSystem | 提取数据的系统,本例中为Blue Yonder WMS。 | ||
| 说明 此属性标识事件数据的来源系统。在现代IT环境中,单个端到端流程的数据可能来自多个系统,例如ERP、WMS和TMS。 明确源系统对于数据治理、问题排查和理解数据背景至关重要。它有助于追溯数据质量问题的来源,并且在合并多个来源的数据以构建统一流程视图时不可或缺。 为什么重要 它提供关键的数据血缘信息,帮助将数据追溯至来源,以便验证数据,并支持多系统数据合并场景。 获取位置 通常是在数据提取过程中添加的静态值,用于标记数据集来源。 示例 BlueYonderWMS_USBlueYonderWMS_EU | |||
| 事件结束时间 EventEndTime | 表示具体仓库活动或事件完成时间的时间戳。 | ||
| 说明 此属性记录仓库任务或事件完成的日期和时间。可用时,它能精确衡量每项活动的处理时间。 同时具备开始时间和结束时间后,可以进行更细致的绩效分析,将等待时间(活动之间的时间)与处理时间(活动本身的持续时间)区分开来。这对于判断延迟源于闲置等待还是任务耗时过长至关重要。 为什么重要 它支持精确计算活动处理时间,并将其与等待时间区分开来,是开展针对性绩效改进的关键。 获取位置 位于事件日志表或任务表中,对应已记录操作的完成时间或关闭时间。 示例 2023-10-26T08:35:12Z2023-10-26T09:20:05Z2023-10-26T11:06:00Z | |||
| 优先级 PriorityLevel | 仓库订单的优先级,例如“High”“Standard”或“Low”。 | ||
| 说明 优先级表示仓库订单的紧急程度。高优先级订单(例如加急装运)应比标准订单更快处理。WMS使用此属性对任务排序并分配资源。 在流程挖掘中,此属性对于分析优先级策略是否有效至关重要。高优先级订单履约仪表板依靠该字段筛选紧急订单,并将其周期时间与标准订单进行比较。它有助于验证高优先级订单是否真正更快完成,还是同样受困于相同的瓶颈。 为什么重要 它支持分析高优先级订单是否比标准订单处理得更快,从而验证优先级规则的有效性。 获取位置 通常存储在仓库订单抬头表中。 示例 高标准低 | |||
| 存储位置 StorageLocation | 仓库内存储或拣取货物的具体位置,例如货位或通道。 | ||
| 说明 此属性标识与任务关联的仓库物理位置。对于上架活动,它是目标货位;对于拣货活动,它是来源货位。它可以表示为包含通道、货架、层位和货位编号的组合代码。 按存储位置分析数据,有助于了解仓库布局效率、库位规划策略和资源移动情况。它可用于识别高流量区域、利用不足的区域以及物料流中的潜在瓶颈。此属性是存储位置利用趋势仪表板的基础。 为什么重要 它为分析仓库布局、库位规划策略的有效性以及识别移动瓶颈提供关键背景。 获取位置 可在库存、仓库任务(拣货、上架)和货位主数据相关表中找到。 示例 A1-R03-S02-B01B5-R10-S04-B05C2-R01-S01-B02 | |||
| 实际数量 ActualQuantity | 任务实际处理的物料数量,例如实际清点或拣取的数量。 | ||
| 说明 实际数量是仓库操作员在任务中实际处理的单位数,可以是从供应商处接收的物料数量、从存储货位拣取的单位数,或装入装运容器的数量。 与计划数量比较后,该属性可以揭示流程例外和错误。它是计算差异率的核心指标,而差异率是衡量运营质量的重要指标。该数据对于识别供应商发货问题、拣货错误或库存不准确至关重要。 为什么重要 将其与计划数量进行比较,对于识别流程错误以及计算差异率等关键质量KPI至关重要。 获取位置 位于任务确认表或交易日志表中,由操作员记录实际执行的数量。 示例 1004924 | |||
| 用户/操作员ID UserOperatorId | 执行该活动的仓库员工或操作员标识符。 | ||
| 说明 此属性记录负责执行仓库任务人员的唯一ID,例如拣货、包装或上架人员,并将流程活动与人力资源关联起来。 按用户/操作员ID分析活动,对于了解资源利用率、工作负荷分配和个人绩效至关重要。它有助于回答哪些操作员效率最高、哪些人员可能需要额外培训,以及任务如何在团队中分配等问题。这是仓库资源利用率仪表板的重要分析维度。 为什么重要 此属性将流程步骤与执行人员关联起来,支持分析资源绩效、工作负荷和培训需求。 获取位置 通常位于任务表或交易表中,与操作期间登录系统或手持设备的用户关联。 示例 JSMITHBWILLISAMILLER | |||
| 要求完成日期 RequestedCompletionDate | 仓库订单计划或要求完成并发运的截止日期和时间。 | ||
| 说明 要求完成日期代表履行出库仓库订单所需达到的服务级别协议(SLA)或目标,是货物完成拣货、包装并准备发运的截止时间。 该日期是衡量实际绩效的基准。通过将其与实际发运时间戳比较,可以计算准时装运率KPI。按此属性分析订单,有助于识别可能延迟的订单,并诊断SLA违约的根本原因。 为什么重要 此属性是衡量准时绩效的基准,对计算准时装运率KPI至关重要。 获取位置 通常存储在仓库订单抬头表中,通常继承自源销售订单或交货请求。 示例 2023-10-27T17:00:00Z2023-10-28T12:00:00Z2023-11-01T17:00:00Z | |||
| 计划数量 PlannedQuantity | 指定任务的预期物料数量,例如待拣取或待接收的数量。 | ||
| 说明 计划数量表示仓库订单为特定任务指定的目标单位数。对于入库交货单,它是供应商预期交付的数量;对于拣货任务,它是客户订单要求的数量。 此属性对准确性分析至关重要。将计划数量与实际数量进行比较,可以识别收货、拣货或库存盘点中的差异。它直接支持拣货数量差异率等KPI,也是数量准确性审计仪表板的基础。 为什么重要 它是衡量准确性的基准,可用于发现收货和拣货活动中的数量差异。 获取位置 位于与仓库订单或具体任务关联的明细表或行项目表中。 示例 1005024 | |||
| 产品SKU ProductSku | 所处理物料的库存保有单位(SKU)或物料编号。 | ||
| 说明 此属性标识仓库任务涉及的具体产品,提供有关物料移动、存储、拣取和包装的细粒度信息。 按产品SKU分析流程,可以发现特定物料相关的模式。例如,某些产品可能更容易出现拣货错误,因特殊处理要求导致上架时间更长,或被存放在效率较低的位置。这有助于开展产品级流程优化,并改进库位规划策略。 为什么重要 它支持产品级分析,帮助识别导致流程延迟、错误或需要特殊处理的物料。 获取位置 通常位于仓库订单或任务表的行项目层级。 示例 PN-A5540-BSKU-300-RED-LGHW-88201 | |||
| 仓库ID WarehouseId | 发生该活动的具体仓库或配送中心标识符。 | ||
| 说明 仓库ID用于唯一标识流程发生的设施,对于运营多个配送中心的组织至关重要。 此属性支持不同站点间的基准比较和对标分析。按仓库ID筛选或拆分数据后,企业可以比较各站点绩效,识别高绩效站点的最佳实践,并了解某些设施落后的原因。它为多站点运营分析提供关键维度。 为什么重要 对于多站点组织,此属性对于对标绩效以及比较不同地点的流程至关重要。 获取位置 通常是几乎所有交易表中都提供的顶层组织字段,也可以根据系统实例推断。 示例 WHC-01DC-EAST-03FAC-WEST | |||
| 仓库订单类型 WarehouseOrderType | 对仓库订单进行分类,例如入库收货、出库装运或内部调拨。 | ||
| 说明 此属性对仓库订单的整体用途进行分类。常见类型包括供应商入库交货、客户出库装运、退货处理,或仓库位置之间的内部库存移动。 按仓库订单类型划分流程,是开展任何分析的基础步骤。入库和出库流程通常差异显著,涉及不同的步骤、资源和绩效目标。此属性支持筛选数据,单独分析收货或订单履约等具体流程。 为什么重要 它支持区分并比较不同流程,例如入库与出库,因为两者具有不同的流转方式和目标。 获取位置 位于仓库订单抬头表中,通常对应单据类型或订单类别字段。 示例 入库交付出库发运内部调拨 | |||
| 任务状态 TaskStatus | 具体任务的最终状态,例如“Completed”“Canceled”或“Failed”。 | ||
| 说明 此属性描述具体仓库任务的结果。许多任务可以成功完成,但有些可能被主管取消,或因系统及运营问题而失败。相比仅查看活动名称,它能提供更多背景信息。 按任务状态分析有助于了解例外和流程失败。取消或失败任务比例较高,可能表明库存准确性、系统配置或操作员培训存在根本问题。它有助于定位容易失败且需要进一步调查的活动。 为什么重要 它提供活动结果,支持分析取消或失败任务等例外情况,而这些情况可能反映更深层的运营问题。 获取位置 通常位于任务表中,用于表示任务记录的最终状态。 示例 已完成已取消暂停 | |||
| 是否准时装运 IsOnTimeShipment | 布尔标记;如果装运在要求完成日期当天或之前发出,则为true。 | ||
| 说明 此计算属性以true或false简单表示订单是否满足装运SLA。它通过比较“Shipment Dispatched”活动的时间戳与订单的“Requested Completion Date”得出。 该标记简化了准时绩效的分析和可视化。它支持轻松筛选和聚合,以计算准时装运率KPI并驱动相应仪表板,也支持根因分析,帮助识别延迟装运的常见特征。 为什么重要 此布尔标记简化了准时装运率KPI的计算,并支持轻松筛选,以分析延迟订单的特征。 获取位置 通过比较“Shipment Dispatched”活动的EventStartTime与RequestedCompletionDate属性计算。 示例 truefalsetrue | |||
| 是否数量不匹配 IsQuantityMismatch | 布尔标记,表示任务实际处理数量是否与计划数量不同。 | ||
| 说明 此计算属性用于简单标记具体任务(例如拣货或收货)是否存在数量差异。当“Actual Quantity”不等于“Planned Quantity”时,设置为true。 此标记便于识别和统计流程中的错误,简化拣货数量差异率和入库数量差异率等KPI的计算。它还支持根因分析,分析人员可以筛选所有不匹配事件,查找与产品、操作员或位置相关的模式。 为什么重要 它标记存在数量错误的事件,简化差异率计算,并支持针对数量不准确任务的分析。 获取位置 通过比较每项相关活动的PlannedQuantity和ActualQuantity字段计算。 示例 falsetruefalse | |||
| 装运ID ShipmentId | 仓库订单所属出库装运的唯一标识符。 | ||
| 说明 装运ID是更高层级的标识符。如果多个仓库订单由同一辆卡车或同一个容器发运,它可以将这些订单归为一组。对于单个订单,它可能与仓库订单号或交货单号相同。 按装运ID分析可以了解发运流程,包括订单如何合并、整车从暂存到最终发运所需的时间,以及装运部门的效率。它将仓库活动与供应链的最终运输环节连接起来。 为什么重要 它将一起发运的仓库订单归为一组,支持分析装运合并和发运流程。 获取位置 位于装运或运输相关表中,并与仓库订单关联。 示例 SHP-45000123SHP-45000124SHP-45000125 | |||
| 设备ID EquipmentId | 所用物料搬运设备的标识符,例如特定叉车或输送带。 | ||
| 说明 设备ID用于标识执行仓库任务时使用的机械或设备,包括叉车、托盘搬运车、自动导引车(AGV)或特定包装工作站。 此属性支持分析设备利用率、绩效和维护需求。按设备追踪活动,管理人员可以识别资产使用过度或不足的情况,比较不同设备类型的效率,并收集数据以制定维护计划。它是仓库资源利用率仪表板的重要分析维度。 为什么重要 它支持分析设备利用率和绩效,帮助优化资产分配和维护计划。 获取位置 可能记录在任务执行日志中,尤其适用于操作员需要登录设备的环境。 示例 FORKLIFT-07AGV-03PACKSTATION-12 | |||
仓储管理活动
| 活动 | 说明 | ||
|---|---|---|---|
| 仓库订单已完成 | 这是仓库订单的最终状态,表示包括装运在内的所有相关活动均已完成,订单已关闭。当订单生命周期状态更新为“Completed”或“Closed”时记录。 | ||
| 为什么重要 此活动标志着流程案例的明确结束,确保流程分析涵盖每个订单从开始到结束的完整生命周期。 获取位置 可根据仓库订单抬头表中的状态变更推断。查找“Completed”“Closed”或“Invoiced”等最终状态,以及该状态变更的时间戳。 采集 根据订单抬头中最终状态变更的时间戳推断。 事件类型 inferred | |||
| 已创建仓库订单 | 此事件表示仓储订单已创建。仓储订单是管理入库、出库或仓库内部任务的核心单据。通常,当新订单通过人工或集成方式录入Blue Yonder WMS时,系统会将其作为明确交易记录。 | ||
| 为什么重要 这是流程的明确起点。分析从此事件到完成的时间,可以得到订单履行总周期时间,这是衡量整体效率和服务级别协议达成情况的关键指标。 获取位置 此事件通常记录在订单头表中,以仓储订单记录的创建时间戳为依据。请查找与 采集 仓储订单记录的创建时间戳。 事件类型 explicit | |||
| 已创建拣货任务 | 此事件表示系统已创建任务,要求操作员从存储位置取货,以履行出库订单。当出库订单释放进行拣选时,WMS通常会生成这一明确事件。 | ||
| 为什么重要 这是实物出库流程的起点。分析从订单创建到拣选任务创建的时间,可以发现订单处理和分配环节的延迟。 获取位置 记录在任务管理或仓库控制表中,对应于与仓储订单关联的拣选任务创建时间戳。 采集 系统生成的拣选任务创建时间戳。 事件类型 explicit | |||
| 货物已上架入库 | 此事件确认货物已成功移入指定存储库位并完成扫描。通常,操作员使用手持RF设备确认上架任务完成时,系统会记录该事件。 | ||
| 为什么重要 这标志着入库流程结束,库存可用于订单履行。分析从收货到此节点的时间,对于“Goods Receipt to Putaway Cycle Time”仪表板至关重要。 获取位置 当上架任务状态更新为“Completed”或“Confirmed”时,系统会记录带时间戳的交易。相关数据位于仓库任务表或转移订单表中。 采集 上架仓库任务的确认时间戳。 事件类型 explicit | |||
| 货物已发运 | 此事件表示已包装货物装上承运商卡车,卡车已驶离仓库。通常在系统中发布“Goods Issue”时记录,表示装运流程已完成。 | ||
| 为什么重要 这是一个关键里程碑,标志着仓库对该订单的责任结束。它是衡量准时装运绩效和端到端履约周期时间的最终数据点。 获取位置 这是一项重要的财务和物流交易,通常称为“Post Goods Issue”(PGI)。该交易的时间戳作为发运时间,通常存储在出库交货或装运单据表中。 采集 Post Goods Issue(PGI)交易的时间戳。 事件类型 explicit | |||
| 货物已接收并清点 | 此事件表示货物已卸下、扫描,并已根据交付单据核对数量。通常,收货文员在系统中确认入库订单各物料的收货数量时,系统会记录该事件。 | ||
| 为什么重要 这是一个关键里程碑,表示库存已在系统中正式可用,但尚未准备好履行订单。该步骤的时长和准确性会直接影响库存可视性以及上架流程的启动。 获取位置 这是记录在库存或收货日志中的明确交易。请查找与收货过账相关的交易,或入库交付行项目状态变更为“Received”的记录。 采集 确认收货交易的时间戳。 事件类型 explicit | |||
| 仓库订单已取消 | 表示仓库订单在完全处理或装运前被取消。当用户执行取消交易并将订单状态更新为“Canceled”时记录此事件。 | ||
| 为什么重要 分析取消事件有助于识别流程失败原因,例如库存不可用或客户需求变更。这是理解流程偏差和后续损失的关键终止事件。 获取位置 通常根据仓库订单的最终状态推断。使用状态变更为“Canceled”或“Deleted”时的时间戳。 采集 根据状态变更为“Canceled”时的时间戳推断。 事件类型 inferred | |||
| 已创建上架任务 | 此活动表示系统已创建任务,将收货货物从收货码头移至最终存储位置。这是由WMS逻辑生成的明确系统事件,用于指导仓库操作员执行任务。 | ||
| 为什么重要 这是上架流程的起点。收货与创建上架任务之间的延迟,可能表明系统配置或性能存在问题,导致货物滞留在收货区。 获取位置 由任务管理或仓库控制表生成并记录。请查找上架任务或与入库交付相关的转移订单的创建时间戳。 采集 系统生成的上架任务创建时间戳。 事件类型 explicit | |||
| 已开始包装 | 此活动表示包装站的包装流程开始。通常,操作员在包装站扫描已拣选物料或订单周转箱,开始准备发运时,系统会记录该活动。 | ||
| 为什么重要 该事件表示流程从拣选交接至包装。它有助于单独分析履行流程中的包装阶段,识别包装区域内的具体瓶颈。 获取位置 这可能是包装站用户界面记录的明确交易日志,也可能根据该订单在包装工作中心关联的首个带时间戳活动推断得出。 采集 包装站“Start Packing”交易的时间戳。 事件类型 explicit | |||
| 已执行质量检验 | 表示对已收货物料执行的质量检查。对于某些物料,这可能是标准步骤;也可能由例外情况触发,并在质量检验员将结果录入系统时记录。 | ||
| 为什么重要 质量检验可能是入库流程中重要的延迟来源。分析其发生频率和持续时间,有助于识别供应商质量问题及检验工作流中的瓶颈。 获取位置 记录在Quality Management(QM)模块或与入库交付相关的日志中。请查找质量检验结果的特定交易代码,或库存状态变更为“Quality Hold”的记录。 采集 质量检验完成或状态更新的时间戳。 事件类型 explicit | |||
| 已通知入库交付 | 表示收到供应商发出的Advanced Shipping Notification(ASN),说明货物正在运往仓库。这是一个明确事件,通常通过EDI或门户由系统接收并处理ASN时记录。 | ||
| 为什么重要 该活动是入库计划和资源分配的触发点。从通知到实物收货之间的时间,是衡量供应商绩效和入库流程可视性的关键KPI。 获取位置 数据来自ASN接收日志,或Blue Yonder WMS中入库交付单的创建时间戳。请检查与ASN或入库发运通知相关的表。 采集 ASN或入库交付单的创建时间戳。 事件类型 explicit | |||
| 待发运 | 表示将已包装容器从包装区移至指定的发运集货通道,等待承运商提货。操作员确认搬运单元移至集货区时,系统会记录该事件。 | ||
| 为什么重要 该活动有助于分析滞留时间,即已包装订单在装载前的等待时长。集货时间过长,可能表明承运商协同不佳或集货空间利用效率低。 获取位置 可根据搬运单元或运输容器位置变更至集货位置推断得出,也可能是明确记录的“Move to Stage”任务确认。 采集 根据显示转移至集货库位的库存移动日志推断得出。 事件类型 inferred | |||
| 货物已从库位拣出 | 表示拣选任务已完成,操作员已取出物料并在系统中确认。操作员扫描物料并在设备上确认拣选时,系统会记录该事件。 | ||
| 为什么重要 这一里程碑标志着拣选阶段结束。该活动的准确性和时长对整体订单履行效率至关重要,也是“Picking Accuracy”分析的基础。 获取位置 当拣选任务状态变更为“Completed”时,系统会记录确认时间戳。相关数据位于仓库任务表中,通常还会关联具体操作员和设备。 采集 拣选仓库任务的确认时间戳。 事件类型 explicit | |||
| 货物已到达码头 | 此活动表示卡车或承运商已实际抵达仓库收货码头,但尚未开始卸货。该事件通常由场地管理模块明确记录,或在门卫登记交付时记录。 | ||
| 为什么重要 跟踪到达时间有助于衡量承运商的准时表现,并识别承运商到达与收货流程开始之间的延迟,从而发现场地管理或收货月台的潜在瓶颈。 获取位置 通常记录在Blue Yonder WMS的场地管理或门禁控制模块中。也可能由收货文员在卡车到达时手动录入时间戳。 采集 承运商登记交易的时间戳。 事件类型 explicit | |||
| 货物已包装 | 此事件确认发运所需的全部物料已装入运输容器,并已生成标签。包装员在系统中确认订单包装完成时,系统会记录该事件。 | ||
| 为什么重要 这标志着仓库内部增值活动完成。从此节点到发运之间的时间代表集货和装载时间,是可能发生延迟的关键环节。 获取位置 这是包装流程完成时记录的明确交易。请查找出库交付状态变更为“Packed”的记录,或包装站交易中的完成时间戳。 采集 “Confirm Packing”或“Close Container”交易的时间戳。 事件类型 explicit | |||
提取指南
步骤
- 前提条件与访问权限:确保您拥有Blue Yonder WMS用户账户,并具备执行MOCA命令及访问所需表的权限,例如ord_hdr、pckwrk_dtl和invmov。您还需要访问MOCA客户端,例如MOCA Console或命令行界面。
- 检查并自定义MOCA脚本:复制提供的MOCA脚本。仔细检查表名和列名,确保其与您的Blue Yonder WMS实施环境一致。特别注意
@[where_clause_dates]和@[where_clause_warehouse]等占位符,必须将其替换为实际值。 - 定义提取参数:替换脚本中的占位变量。对于
@[where_clause_dates],定义具体日期范围,例如where adddte between 'YYYY-MM-DD' and 'YYYY-MM-DD'。对于@[where_clause_warehouse],指定要提取的仓库ID,例如where wh_id = '[Your Warehouse ID]'。 - 连接MOCA服务器:启动MOCA客户端(例如MOCA Console),连接到正确的Blue Yonder WMS环境。
- 执行MOCA脚本:将自定义脚本粘贴到MOCA Console中并执行命令。脚本将在服务器上运行,收集所有指定活动的数据。
- 监控执行过程:对于大型数据集,查询可能需要较长时间。监控控制台中的错误消息或性能警告。如果查询超时,请考虑缩小日期范围后分批运行。
- 将结果导出为文件:脚本成功执行后,结果会显示在控制台中。使用客户端的导出功能将输出保存为CSV文件。命令行中常见的方法是将输出直接写入文件,例如:
mocarun -S "[Your MOCA Script]" > event_log.csv。 - 为ProcessMind整理CSV:打开导出的CSV文件,确认列标题与查询中指定的属性一致(例如
WarehouseOrder、ActivityName、EventStartTime等)。确保文件使用UTF-8编码保存,避免上传时出现字符问题。 - 检查并上传:最后检查文件内容,确认没有明显错误或不一致。确认无误后,将CSV文件上传到ProcessMind进行分析。
配置
- 日期范围:建议提取3至6个月的数据,以确保样本能够代表流程变化。日期筛选占位符
@[where_clause_dates]应应用于每条SELECT语句中的主要时间戳列,例如adddte或moddte。 - 仓库和客户筛选:始终使用筛选条件限制提取范围。应使用
@[where_clause_warehouse]按特定仓库ID(wh_id)以及适用时的客户ID(client_id)进行筛选。这对性能和数据相关性至关重要。 - 订单类型筛选:为聚焦分析,可考虑按特定仓库订单类型(
ordtyp)筛选。例如,您可以只分析出库客户订单或入库采购订单。可将条件添加到脚本相关部分的WHERE子句中。 - 性能注意事项:提取脚本会连接并合并多个大型表。为避免影响系统性能,请安排在业务低峰期运行。对于超大型环境,分批增量提取更稳妥,例如每次提取一个月的数据。
- 前提条件:执行脚本的用户必须拥有查询中所有相关表的读取权限,包括
ord_hdr、ord_dtl、invmov、pckwrk_dtl、asnhdr和trn_log。用户还必须获授权执行MOCA命令。
a 示例查询 sql
publish data
where wh_id = '[Your Warehouse ID]'
and event_time between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
|
[
/* 1. Warehouse Order Created */
select
ordnum as WarehouseOrder,
'Warehouse Order Created' as ActivityName,
adddte as EventStartTime,
moddte as EventEndTime,
add_usr_id as UserOperatorId,
ordqty as PlannedQuantity,
null as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where ordtyp in ('ORD', 'INB')
and adddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 2. Inbound Delivery Notified */
select
supnum as WarehouseOrder, /* ASN number often used as the order key for inbound */
'Inbound Delivery Notified' as ActivityName,
adddte as EventStartTime,
moddte as EventEndTime,
add_usr_id as UserOperatorId,
null as PlannedQuantity,
null as ActualQuantity,
null as StorageLocation,
expdte as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from asnhdr
where adddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 3. Goods Arrived at Dock */
select
refnum as WarehouseOrder,
'Goods Arrived at Dock' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
null as PlannedQuantity,
null as ActualQuantity,
dstloc as StorageLocation, /* Typically a receiving dock location */
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from trn_log
where trncod = 'RCV_ARVL'
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 4. Goods Received and Counted */
select
ordnum as WarehouseOrder,
'Goods Received and Counted' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
untqty as PlannedQuantity,
actqty as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from invmov
where trntyp = 'R' /* Standard receipt transaction type */
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 5. Quality Inspection Performed */
select
ordnum as WarehouseOrder,
'Quality Inspection Performed' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
untqty as PlannedQuantity,
actqty as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from invmov
where trntyp = 'H' and trncod = 'QA_CMP' /* Example transaction for QA Hold Release/Complete */
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 6. Putaway Task Created */
select
ordnum as WarehouseOrder,
'Putaway Task Created' as ActivityName,
adddte as EventStartTime,
moddte as EventEndTime,
add_usr_id as UserOperatorId,
pckqty as PlannedQuantity,
null as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from pckwrk_dtl
where wrktyp = 'P' /* Putaway work type */
and adddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 7. Goods Put Away in Storage */
select
ordnum as WarehouseOrder,
'Goods Put Away in Storage' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
untqty as PlannedQuantity,
actqty as ActualQuantity,
dstloc as StorageLocation,
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from invmov
where trntyp = 'M' and trncod = 'PUTAWAY' /* Move transaction for putaway */
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 8. Picking Task Created */
select
ordnum as WarehouseOrder,
'Picking Task Created' as ActivityName,
adddte as EventStartTime,
moddte as EventEndTime,
add_usr_id as UserOperatorId,
pckqty as PlannedQuantity,
null as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from pckwrk_dtl
where wrktyp = 'O' /* Outbound Picking work type */
and adddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 9. Goods Picked from Storage */
select
ordnum as WarehouseOrder,
'Goods Picked from Storage' as ActivityName,
pk_end_dte as EventStartTime,
pk_end_dte as EventEndTime,
pckr_id as UserOperatorId,
pckqty as PlannedQuantity,
actqty as ActualQuantity,
srcloc as StorageLocation,
null as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from pckwrk_dtl
where wrktyp = 'O'
and statcod = 'P' /* Status 'Picked' */
and pk_end_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 10. Packing Initiated */
select
ordnum as WarehouseOrder,
'Packing Initiated' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
null as PlannedQuantity,
null as ActualQuantity,
dstloc as StorageLocation, /* Packing station */
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from trn_log
where trncod = 'PACK_INIT'
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 11. Goods Packed */
select
ordnum as WarehouseOrder,
'Goods Packed' as ActivityName,
moddte as EventStartTime,
moddte as EventEndTime,
mod_usr_id as UserOperatorId,
null as PlannedQuantity,
null as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where statcod >= 80 and statcod < 90 /* Example status range for Packed */
and moddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 12. Staging for Shipment */
select
ordnum as WarehouseOrder,
'Staging for Shipment' as ActivityName,
cmpl_dte as EventStartTime,
cmpl_dte as EventEndTime,
mod_usr_id as UserOperatorId,
untqty as PlannedQuantity,
actqty as ActualQuantity,
dstloc as StorageLocation, /* Staging lane */
null as RequestedCompletionDate,
null as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from invmov
where trncod = 'STG_MOVE' /* Move to staging transaction */
and cmpl_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 13. Shipment Dispatched */
select
ordnum as WarehouseOrder,
'Shipment Dispatched' as ActivityName,
act_ship_dte as EventStartTime,
act_ship_dte as EventEndTime,
mod_usr_id as UserOperatorId,
ordqty as PlannedQuantity,
shpqty as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where statcod = 90 /* Status Shipped */
and act_ship_dte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 14. Warehouse Order Completed */
select
ordnum as WarehouseOrder,
'Warehouse Order Completed' as ActivityName,
moddte as EventStartTime,
moddte as EventEndTime,
mod_usr_id as UserOperatorId,
ordqty as PlannedQuantity,
shpqty as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where statcod = 99 /* Status Completed/Closed */
and moddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
union all
/* 15. Warehouse Order Canceled */
select
ordnum as WarehouseOrder,
'Warehouse Order Canceled' as ActivityName,
moddte as EventStartTime,
moddte as EventEndTime,
mod_usr_id as UserOperatorId,
ordqty as PlannedQuantity,
null as ActualQuantity,
null as StorageLocation,
req_ship_dte as RequestedCompletionDate,
prifld as PriorityLevel,
'Blue Yonder WMS' as SourceSystem,
sysdate as LastDataUpdate
from ord_hdr
where statcod = 91 /* Example Canceled status */
and moddte between to_date(@start_date, 'YYYY-MM-DD') and to_date(@end_date, 'YYYY-MM-DD')
and wh_id = '[Your Warehouse ID]'
] 步骤
- 建立数据库连接:获取Blue Yonder WMS底层数据库的只读凭据和连接信息(服务器地址、数据库名称、端口)。该数据库通常为Oracle或SQL Server。使用DBeaver、Oracle SQL Developer或SQL Server Management Studio等标准SQL客户端进行连接。
- 识别核心WMS表:提供的查询依赖Blue Yonder WMS中的标准表,例如
ord(订单)、pckwrk(拣选作业)、wrkque(作业队列)、invmov(库存移动)和lodhdr(装载表头)。请对照系统数据字典核实表名和列结构,因为系统可能存在定制内容。 - 检查并参数化SQL查询:将提供的SQL脚本复制到SQL客户端中。在脚本顶部的
BaseOrders公用表表达式(CTE)中找到占位变量。 - 设置日期范围:修改
adddte >= 'YYYY-MM-DD'和adddte < 'YYYY-MM-DD'子句,定义数据提取时间窗口。初次分析建议使用3至6个月的数据。 - 应用系统专属筛选条件:调整
wh_id = '[Your_Warehouse_ID]'筛选条件,将提取范围限制到特定仓库。在多客户环境中,按需添加或修改client_id等其他筛选条件。 - 执行提取脚本:运行完整SQL脚本。该查询会将多个表中的事件整合为统一的事件日志格式。执行时间取决于日期范围和数据量。
- 验证初始结果:查询完成后,快速检查输出结果。确认
WarehouseOrder、ActivityName和EventStartTime列已按预期填充。行数应明显多于唯一仓库订单数。 - 导出事件日志:将查询结果导出为CSV文件。确保文件编码为UTF-8,避免上传时出现字符编码问题。
- 准备上传:确认导出的CSV文件列标题与所需属性一致,例如
WarehouseOrder、ActivityName和EventStartTime。文件现在可以上传到流程挖掘软件。
配置
- 前提条件:您必须拥有Blue Yonder WMS数据库的只读SQL访问权限。熟悉您所在组织的WMS配置和数据模型将非常有帮助。
- 数据库连接:此方法需要直接连接数据库。开始前,请确保已配置必要的防火墙规则和网络访问权限。
- 日期范围筛选:必须在查询的
WHERE子句中设置具体日期范围,以控制数据量。通常使用3至6个月的数据即可获得有意义的分析结果,同时避免给数据库带来过大负载。 - 仓库和客户筛选:在多仓库或多客户环境中,始终按特定
wh_id(仓库ID)和client_id(客户ID)筛选,确保分析范围明确且数据集可控。 - 性能注意事项:在生产数据库上执行此查询可能影响系统性能。强烈建议安排在业务低峰期运行,或优先在专用报表数据库或复制数据库上执行(如有)。
- 系统定制:提供的查询使用标准表名和列名。请根据您的Blue Yonder WMS实例中的定制内容或版本差异做好调整准备。如需指导,请咨询内部WMS管理员或查阅数据字典。
a 示例查询 sql
WITH BaseOrders AS (
SELECT
ordnum AS WarehouseOrder
FROM
ord
WHERE
adddte >= '2023-01-01' -- Placeholder: Set your start date
AND adddte < '2023-07-01' -- Placeholder: Set your end date
AND wh_id = '[Your_Warehouse_ID]' -- Placeholder: Set your warehouse ID
)
-- 1. Warehouse Order Created
SELECT
o.ordnum AS WarehouseOrder,
'Warehouse Order Created' AS ActivityName,
o.adddte AS EventStartTime,
o.adddte AS EventEndTime,
o.add_usr_id AS UserOperatorId,
o.req_shp_dte AS RequestedCompletionDate,
o.prirty AS PriorityLevel,
CAST(o.ordqty AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
NULL AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ord o
WHERE o.ordnum IN (SELECT WarehouseOrder FROM BaseOrders)
UNION ALL
-- 2. Inbound Delivery Notified (ASN Received)
SELECT
a.ordnum AS WarehouseOrder,
'Inbound Delivery Notified' AS ActivityName,
a.adddte AS EventStartTime,
a.adddte AS EventEndTime,
a.add_usr_id AS UserOperatorId,
a.exp_arv_dte AS RequestedCompletionDate,
NULL AS PriorityLevel,
CAST(ad.qtyord AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
NULL AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM asnhdr a
JOIN asndtl ad ON a.asnhdr_id = ad.asnhdr_id
WHERE a.ordnum IN (SELECT WarehouseOrder FROM BaseOrders)
UNION ALL
-- 3. Goods Arrived at Dock
SELECT
t.ordnum AS WarehouseOrder,
'Goods Arrived at Dock' AS ActivityName,
t.checkin_dte AS EventStartTime,
t.checkin_dte AS EventEndTime,
t.usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
NULL AS ActualQuantity,
t.dock_loc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM trk_log t -- Note: Yard management table may vary
WHERE t.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND t.checkin_dte IS NOT NULL
UNION ALL
-- 4. Goods Received and Counted
SELECT
i.ordnum AS WarehouseOrder,
'Goods Received and Counted' AS ActivityName,
i.moddte AS EventStartTime,
i.moddte AS EventEndTime,
i.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
CAST(i.qtyexp AS DECIMAL(18, 4)) AS PlannedQuantity,
CAST(i.qtyrcv AS DECIMAL(18, 4)) AS ActualQuantity,
i.inv_loc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM rcvlin i -- Receiving Line table
WHERE i.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND i.qtyrcv > 0
UNION ALL
-- 5. Quality Inspection Performed
SELECT
q.ordnum AS WarehouseOrder,
'Quality Inspection Performed' AS ActivityName,
q.insp_dte AS EventStartTime,
q.insp_dte AS EventEndTime,
q.usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
CAST(q.insp_qty AS DECIMAL(18, 4)) AS PlannedQuantity,
CAST(q.act_qty AS DECIMAL(18, 4)) AS ActualQuantity,
q.stoloc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM qc_log q -- Quality Control log table may vary
WHERE q.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND q.status = 'COMPLETED'
UNION ALL
-- 6. Putaway Task Created
SELECT
w.ordnum AS WarehouseOrder,
'Putaway Task Created' AS ActivityName,
w.adddte AS EventStartTime,
NULL AS EventEndTime,
w.add_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
w.wrkprt AS PriorityLevel,
CAST(w.untqty AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
w.frmloc AS StorageLocation, -- From receiving dock
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM wrkque w
WHERE w.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND w.wrktyp = 'PUTAWAY'
UNION ALL
-- 7. Goods Put Away in Storage
SELECT
m.ordnum AS WarehouseOrder,
'Goods Put Away in Storage' AS ActivityName,
m.adddte AS EventStartTime,
m.adddte AS EventEndTime,
m.usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
CAST(m.movqty AS DECIMAL(18, 4)) AS ActualQuantity,
m.toloc AS StorageLocation, -- Destination storage location
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM invmov m -- Inventory Movement table
WHERE m.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND m.trntyp = 'PUTFIN' -- Putaway Finish transaction type
UNION ALL
-- 8. Picking Task Created
SELECT
w.ordnum AS WarehouseOrder,
'Picking Task Created' AS ActivityName,
w.adddte AS EventStartTime,
NULL AS EventEndTime,
w.add_usr_id AS UserOperatorId,
o.req_shp_dte AS RequestedCompletionDate,
w.wrkprt AS PriorityLevel,
CAST(w.untqty AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
w.frmloc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM wrkque w
JOIN ord o ON w.ordnum = o.ordnum
WHERE w.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND w.wrktyp = 'PICK'
UNION ALL
-- 9. Goods Picked from Storage
SELECT
p.ordnum AS WarehouseOrder,
'Goods Picked from Storage' AS ActivityName,
p.moddte AS EventStartTime,
p.moddte AS EventEndTime,
p.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
CAST(p.pckqty AS DECIMAL(18, 4)) AS PlannedQuantity, -- Often planned and actual are the same here
CAST(p.pckqty AS DECIMAL(18, 4)) AS ActualQuantity,
p.pckloc AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM pckwrk p
WHERE p.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND p.wrksts = 'C' -- Status for Completed Pick
UNION ALL
-- 10. Packing Initiated
SELECT
s.ordnum AS WarehouseOrder,
'Packing Initiated' AS ActivityName,
s.moddte AS EventStartTime,
NULL AS EventEndTime,
s.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
NULL AS ActualQuantity,
s.pckstn AS StorageLocation, -- Packing Station
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ord_status_log s -- Status log table may vary
WHERE s.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND s.ordsta = 'PCK_START'
UNION ALL
-- 11. Goods Packed
SELECT
c.ordnum AS WarehouseOrder,
'Goods Packed' AS ActivityName,
c.moddte AS EventStartTime,
c.moddte AS EventEndTime,
c.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
CAST(c.actqty AS DECIMAL(18, 4)) AS ActualQuantity,
c.pckstn AS StorageLocation, -- Packing Station
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ship_cntr c -- Shipping Container table
WHERE c.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND c.cntr_sts = 'PACKED'
UNION ALL
-- 12. Staging for Shipment
SELECT
m.ordnum AS WarehouseOrder,
'Staging for Shipment' AS ActivityName,
m.adddte AS EventStartTime,
m.adddte AS EventEndTime,
m.usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
CAST(m.movqty AS DECIMAL(18, 4)) AS ActualQuantity,
m.toloc AS StorageLocation, -- Staging location
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM invmov m
WHERE m.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND m.trntyp = 'STAGEMOV' -- Staging Movement transaction type
UNION ALL
-- 13. Shipment Dispatched
SELECT
l.ordnum AS WarehouseOrder,
'Shipment Dispatched' AS ActivityName,
l.shp_dte AS EventStartTime,
l.shp_dte AS EventEndTime,
l.mod_usr_id AS UserOperatorId,
NULL AS RequestedCompletionDate,
NULL AS PriorityLevel,
NULL AS PlannedQuantity,
CAST(sl.shpqty AS DECIMAL(18, 4)) AS ActualQuantity,
l.wh_id AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM lodhdr l
JOIN ship_line sl ON l.lodnum = sl.lodnum
WHERE l.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND l.lodsts = 'S' -- Shipped status
UNION ALL
-- 14. Warehouse Order Completed
SELECT
o.ordnum AS WarehouseOrder,
'Warehouse Order Completed' AS ActivityName,
o.moddte AS EventStartTime,
o.moddte AS EventEndTime,
o.mod_usr_id AS UserOperatorId,
o.req_shp_dte AS RequestedCompletionDate,
o.prirty AS PriorityLevel,
CAST(o.ordqty AS DECIMAL(18, 4)) AS PlannedQuantity,
CAST(o.shpqty AS DECIMAL(18, 4)) AS ActualQuantity,
NULL AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ord o
WHERE o.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND o.ordsta = 'C' -- Status for Completed
UNION ALL
-- 15. Warehouse Order Canceled
SELECT
o.ordnum AS WarehouseOrder,
'Warehouse Order Canceled' AS ActivityName,
o.moddte AS EventStartTime,
o.moddte AS EventEndTime,
o.mod_usr_id AS UserOperatorId,
o.req_shp_dte AS RequestedCompletionDate,
o.prirty AS PriorityLevel,
CAST(o.ordqty AS DECIMAL(18, 4)) AS PlannedQuantity,
NULL AS ActualQuantity,
NULL AS StorageLocation,
'Blue Yonder WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM ord o
WHERE o.ordnum IN (SELECT WarehouseOrder FROM BaseOrders) AND o.ordsta = 'X'; -- Status for Canceled 立即释放Blue Yonder WMS的高效潜力
精准定位瓶颈,减少拣选错误,实现99.5%的库存准确率。
无需信用卡,免费试用14天。