您的仓库管理数据模板
您的仓库管理数据模板
- 全面分析建议采集的属性
- 物料流转中需要跟踪的关键活动
- 从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 | 具体仓库任务或事件的名称,例如“货物已拣选”或“货件已发运”。 | ||
| 说明 此属性描述仓库管理流程中执行的具体步骤或任务。流程日志中的每个事件都关联一个活动名称,由此构成流程的步骤顺序。 在分析中,活动名称是发现流程图、分析步骤间转换以及识别瓶颈或偏离标准流程的基础。几乎所有流程挖掘分析都会用到它,包括一致性检查和绩效监控。 重要性 此属性定义各个步骤,有助于构建流程图并可视化、分析流程顺序。 获取途径 此信息通常位于仓库任务表或事件日志表中,往往由任务类型或状态代码生成。 示例 拣货任务已创建货物已从存储区拣出货件已发运 | |||
| 数据最近更新时间 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 | 仓库订单的优先级,例如“高”“标准”或“低”。 | ||
| 说明 优先级表示仓库订单的紧急程度。加急货件等高优先级订单通常应比标准订单处理得更快。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 | 特定任务的最终状态,例如“已完成”“已取消”或“失败”。 | ||
| 说明 此属性描述特定仓库任务的结果。许多任务会顺利完成,但有些可能被主管取消,或因系统及运营问题而失败。相比仅查看活动名称,此属性能提供更多背景信息。 按任务状态分析有助于了解异常和流程失败情况。任务取消或失败率较高,可能表明库存准确性、系统配置或操作员培训存在问题。此属性有助于定位容易失败、需要进一步调查的活动。 重要性 此属性记录活动结果,支持分析任务取消或失败等异常情况,这些情况可能反映更深层的运营问题。 获取途径 通常位于任务表中,表示任务记录的最终状态。 示例 已完成已取消暂停 | |||
| 是否准时发运 IsOnTimeShipment | 如果货件在要求完成日期当天或之前发运,则此布尔标记为true。 | ||
| 说明 此计算属性以简单的真假值表示订单是否达到发运SLA。它通过比较“货件已发运”活动的时间戳与订单的“要求完成日期”得出。 此标记简化了准时绩效分析和可视化。您可以轻松筛选和汇总数据,计算准时发运率KPI并支持相应的仪表板。它还支持根因分析,帮助识别延迟发运的常见特征。 重要性 此布尔标记简化了准时发运率KPI的计算,也便于筛选数据,分析延迟订单的特征。 获取途径 通过比较“货件已发运”活动的EventStartTime与RequestedCompletionDate属性计算得出。 示例 truefalsetrue | |||
| 是否存在数量差异 IsQuantityMismatch | 用于标记任务实际处理数量是否与计划数量不同的布尔值。 | ||
| 说明 此计算属性用于标记特定任务(如拣货或收货)是否存在数量差异。当“实际数量”不等于“计划数量”时,此标记设为true。 此标记便于识别和统计流程中的错误,可简化拣货数量差异率和入库数量差异率等KPI的计算。它还支持根因分析,分析人员可以筛选出所有数量不符事件,并查找与产品、操作员或位置相关的规律。 重要性 此属性会标记存在数量错误的事件,简化差异率计算,并支持针对数量不准确的任务开展分析。 获取途径 通过比较每项相关活动的PlannedQuantity和ActualQuantity字段计算得出。 示例 falsetruefalse | |||
| 设备ID EquipmentId | 所用物料搬运设备的标识符,例如特定叉车或传送带。 | ||
| 说明 设备ID用于标识执行仓库任务时使用的机器或设备,例如叉车、托盘搬运车、自动导引车(AGV)或特定包装工位。 此属性支持分析设备利用率、绩效和维护需求。按设备追踪活动,管理人员可以识别资产利用不足或过度的情况、比较不同设备类型的效率,并收集数据以制定维护计划。它也是仓库资源利用率仪表板的关键分析维度。 重要性 此属性可用于分析设备利用率和绩效,帮助优化资产分配和维护计划。 获取途径 可记录在任务执行日志中,尤其是在操作员需要登录设备的环境中。 示例 FORKLIFT-07AGV-03PACKSTATION-12 | |||
| 货件ID ShipmentId | 仓库订单所属出库货件的唯一标识符。 | ||
| 说明 货件ID是一个更高层级的标识符,可将同一辆卡车或同一容器中发运的多个仓库订单归为一组。对于单个订单,它可能与仓库订单号或交货编号相同。 按货件ID分析,可以了解发运流程。它有助于了解订单如何合并、衡量整车货物从暂存到最终发运所需的时间,并分析发运部门的效率。它将仓库活动与供应链的最后一段运输环节关联起来。 重要性 此属性可将一同发运的仓库订单归为一组,支持分析货件合并和发运流程。 获取途径 位于货件或运输相关表中,并关联至仓库订单。 示例 SHP-45000123SHP-45000124SHP-45000125 | |||
仓库管理活动
| 活动 | 说明 | ||
|---|---|---|---|
| 仓库订单已创建 | 此事件表示仓库订单已创建。仓库订单是管理入库、出库或仓库内部任务的核心单据。通常,当新订单通过人工方式或集成录入Blue Yonder WMS时,系统会记录相应的创建交易。 | ||
| 重要性 这是流程的明确起点。分析从此事件到订单完成的时长,可以得出订单履行总周期时间,这对于衡量整体效率和服务级别协议达成情况至关重要。 获取途径 此事件可能记录在订单表头中,时间戳对应仓库订单记录的创建时间。请查找与 采集 仓库订单记录的创建时间戳。 事件类型 explicit | |||
| 仓库订单已完成 | 这是仓库订单的最终状态,表示包括货件发运在内的所有相关活动均已完成,订单已关闭。当订单生命周期状态更新为“已完成”或“已关闭”时,系统会记录此状态。 | ||
| 重要性 此活动标志着流程案例的正式结束,确保流程分析涵盖每个订单从开始到结束的完整生命周期。 获取途径 可根据仓库订单表头表中的状态变更推断得出。请查找“已完成”“已关闭”或“已开票”等最终状态,以及状态变更的时间戳。 采集 根据订单表头中最终状态变更的时间戳推断得出。 事件类型 inferred | |||
| 拣货任务已创建 | 此事件表示系统已创建任务,要求操作人员从存储库位取出货物以履行出库订单。出库订单下达拣货时,WMS会生成此明确事件。 | ||
| 重要性 这是出库实物处理流程的起点。分析从订单创建到拣货任务创建的时长,可以发现订单处理和分配环节的延误。 获取途径 记录在任务管理或仓库控制数据表中,对应与仓库订单关联的拣货任务创建时间戳。 采集 系统生成的拣货任务创建时间戳。 事件类型 explicit | |||
| 货件已发运 | 此事件表示已包装的货物已装上承运商卡车,且卡车已驶离仓库。通常在系统中登记“货物发出”时记录此事件,以完成货件处理。 | ||
| 重要性 这是一个关键里程碑,标志着仓库对该订单的责任结束。它是衡量准时发运绩效和端到端履约周期时间的最终数据点。 获取途径 这是一笔重要的财务和物流交易,通常称为“过账货物发出”(PGI)。该交易的时间戳即为发运时间,通常存储在出库交货或货件单据表中。 采集 过账货物发出(PGI)交易的时间戳。 事件类型 explicit | |||
| 货物已上架入库 | 此事件确认货物已成功移至指定存储货位并完成扫描。操作人员通常使用手持射频设备确认上架任务完成时,系统会记录此事件。 | ||
| 重要性 此事件标志着入库流程结束,库存可用于订单履行。分析从收货到此节点的时长,对于“收货至上架周期时间”仪表板至关重要。 获取途径 上架任务状态更新为“已完成”或“已确认”时,系统会记录带时间戳的交易。相关数据可在仓库任务或转储订单数据表中找到。 采集 上架仓库任务的确认时间戳。 事件类型 explicit | |||
| 货物已收货并清点 | 此事件表示货物已卸下、扫描,并已根据交付单据核对数量。通常,收货人员在系统中确认入库订单各商品的收货数量时会记录此事件。 | ||
| 重要性 这是一个关键节点,表示库存已正式录入系统,但尚未准备好用于订单履行。此环节的时长和准确性会直接影响库存可见性以及上架流程的启动。 获取途径 此事件是记录在库存或收货日志中的明确交易。请查找与收货过账相关的交易,或入库交付明细状态变更为“已收货”的记录。 采集 确认收货交易的时间戳。 事件类型 explicit | |||
| 上架任务已创建 | 此活动表示系统已创建任务,将收货区的货物移至最终存储库位。这是WMS逻辑生成的明确系统事件,用于指派仓库操作人员执行任务。 | ||
| 重要性 这是上架流程的起点。收货完成后,上架任务创建前出现延误,可能表明系统配置或性能存在问题,导致货物滞留在收货区。 获取途径 此事件由任务管理或仓库控制数据表生成并记录。请查找上架任务或与入库交付关联的转储订单的创建时间戳。 采集 系统生成的上架任务创建时间戳。 事件类型 explicit | |||
| 仓库订单已取消 | 表示仓库订单在完全处理或发运前被取消。用户执行取消交易并将订单状态更新为“已取消”时,系统会记录此事件。 | ||
| 重要性 分析取消情况有助于找出流程失败的原因,例如库存不足或客户变更。这是了解流程偏差和订单流失情况的重要终止事件。 获取途径 通常可根据仓库订单的最终状态推断此事件。可使用状态变更为“已取消”或“已删除”时的时间戳。 采集 根据状态变更为“已取消”时的时间戳推断得出。 事件类型 inferred | |||
| 包装已开始 | 此活动表示包装站的包装流程已开始。操作人员通常会在包装站扫描已拣商品或订单周转箱,开始准备发货时记录此活动。 | ||
| 重要性 此事件表示流程已从拣货交接至包装。它有助于单独分析订单履行中的包装环节,找出包装区的具体瓶颈。 获取途径 这可能是从包装工位用户界面记录的明确交易日志,也可能根据与该订单包装工作中心相关的首个带时间戳活动推断得出。 采集 包装工位“开始包装”交易的时间戳。 事件类型 explicit | |||
| 已完成质量检验 | 表示对已收货货物进行质量检查。某些物料会将此作为标准步骤,也可能因异常情况触发检验。质量检验人员在系统中记录检查结果时会生成此事件。 | ||
| 重要性 质量检验可能是入库流程延误的重要原因。分析检验频率和时长,有助于发现供应商质量问题以及检验工作流中的瓶颈。 获取途径 记录在质量管理(QM)模块或与入库交付相关的日志中。请查找质量检验结果的专用交易代码,或库存状态变更为“质量冻结”的记录。 采集 质量检验完成或状态更新的时间戳。 事件类型 explicit | |||
| 已收到入库交付通知 | 表示收到供应商发来的预先发货通知(ASN),说明货物正在运往仓库。系统收到并处理ASN时会记录此事件,通常通过EDI或门户完成。 | ||
| 重要性 此活动会触发入库规划和资源分配。从收到通知到实物收货的时间,是衡量供应商绩效和入库流程可见性的关键指标。 获取途径 数据取自ASN接收日志,或Blue Yonder WMS中入库交付单据的创建时间戳。请查找与ASN或入库发货通知相关的数据表。 采集 ASN或入库交付单据的创建时间戳。 事件类型 explicit | |||
| 货件暂存 | 表示将已包装的容器从包装区移至指定的货件暂存通道,等待承运商提货。操作员确认将搬运单元移至暂存区时,系统会记录此事件。 | ||
| 重要性 此活动有助于分析滞留时间,即已包装订单等待装车的时长。暂存时间过长可能表明与承运商协调不佳,或暂存空间利用效率低。 获取途径 可根据搬运单元或运输容器的位置变更,推断此事件。也可以通过明确的“移至暂存区”任务确认记录。 采集 根据显示货物转移至暂存库位的库存移动日志推断得出。 事件类型 inferred | |||
| 货物已从存储区拣出 | 表示拣货任务已完成,操作人员已取出商品并在系统中确认。操作人员使用设备扫描商品并确认拣货时,系统会记录此事件。 | ||
| 重要性 此节点标志着拣货环节结束。该活动的准确性和时长对整体订单履行效率至关重要,也是“拣货准确率”分析的基础。 获取途径 拣货任务状态变更为“已完成”时,系统会记录确认时间戳。相关数据可在仓库任务数据表中找到,通常还会关联具体操作人员和设备。 采集 拣货仓库任务的确认时间戳。 事件类型 explicit | |||
| 货物已到达码头 | 此活动表示卡车或承运商已实际抵达仓库收货码头,卸货尚未开始。通常由场地管理模块明确记录,或由门岗人员办理送货登记时记录。 | ||
| 重要性 跟踪到达时间有助于衡量承运商准时率,并发现承运商到达与收货流程开始之间的延误。这也能揭示场地管理或收货月台可能存在的瓶颈。 获取途径 通常记录在Blue Yonder WMS的场地管理或门岗控制模块中。卡车到达时,收货人员也可能手动录入时间戳。 采集 承运商登记交易的时间戳。 事件类型 explicit | |||
| 货物已包装 | 此事件确认货件中的所有物品均已装入运输容器,并已生成标签。包装人员在系统中确认该订单的包装流程完成时,系统会记录此事件。 | ||
| 重要性 这标志着仓库内增值作业的完成。从此时到货件发运之间的时间代表暂存和装车时间,是可能发生延误的关键环节。 获取途径 包装流程最终确认时会记录这笔明确的交易。请查找出库交货状态变为“已包装”的记录,或包装工位交易的完成时间戳。 采集 “确认包装”或“关闭容器”交易的时间戳。 事件类型 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命令的授权。
查询示例 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管理员或查阅数据字典。
查询示例 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天。