您的仓库管理数据模板
您的仓库管理数据模板
- 建议收集的属性
- 仓库运营中需要跟踪的关键活动
- 适用于Körber WMS的数据提取指南
仓库管理属性
| 名称 | 说明 | ||
|---|---|---|---|
| 事件时间 EventTime | 活动或事件在源系统中记录的准确日期和时间。 | ||
| 说明 事件时间是与每项活动关联的时间戳,标记活动发生的准确时刻。这类时间数据是计算流程各步骤之间的持续时间、周期时间和等待时间的基础。 在流程分析中,此属性用于按时间顺序排列事件、构建流程,并开展各类时间分析。它对于衡量绩效的仪表板(如周期时间分析)以及计算“订单端到端平均周期时间”等KPI至关重要。 重要性 此时间戳对于事件排序、计算周期时间和等待时间等时间指标,以及了解流程绩效至关重要。 获取途径 位于Körber WMS的各类事务表和事件日志表中,字段名通常类似“CreationDate”“Timestamp”或“EventDateTime”。 示例 2023-10-26T10:00:00Z2023-10-26T11:35:10Z2023-10-27T08:15:00Z | |||
| 仓库订单 WarehouseOrder | 仓库订单的唯一标识符,也是跟踪所有相关物流活动的主要案例标识符。 | ||
| 说明 仓库订单是用于归集特定物流需求相关任务和事件的核心标识符,例如入库收货或出库发货。它可跟踪订单在仓库中的完整生命周期,从创建到最终发货或取消。 在流程挖掘中,按仓库订单分析可以直观呈现每个订单的完整流程。这有助于识别常见路径、偏差、瓶颈,以及不同订单类型(如标准订单和加急订单)的整体周期时间。 重要性 这是关键的案例ID,用于关联所有相关事件,从而完整分析每个订单的仓库管理流程。 获取途径 此标识符通常位于Körber WMS的核心订单管理表中。具体表名和字段名请参阅Körber WMS文档,例如订单抬头表。 示例 WO-0012845WO-0012991WO-0013402 | |||
| 活动名称 ActivityName | 仓库订单生命周期中某个时间点发生的具体事件或任务的名称。 | ||
| 说明 此属性描述仓库管理流程中的一个步骤,例如“从存储区拣货”或“货物已发运”。每项活动都代表系统记录的一个独立业务事件,并关联具体时间戳。 活动分析是流程挖掘的核心。它可以构建流程图,展示仓库中的实际工作流转情况,帮助识别瓶颈、返工循环以及偏离标准操作规程的情况。 重要性 它定义了流程步骤,构成流程图的基础,并支持分析流程、流程变化和瓶颈。 获取途径 Körber WMS中的事件或事务日志表,用于记录业务事件。通常可从事务代码或状态变更说明中获取。 示例 已创建拣货任务货物已包装货物已发运仓库订单已取消 | |||
| 数据最近更新时间 LastDataUpdate | 此流程数据最近一次刷新的时间戳。 | ||
| 说明 此属性记录最近一次数据提取或更新的日期和时间,帮助了解所分析数据的新鲜度,让用户清楚当前流程视图的数据时效性。 在仪表板和报告中,这项信息对于保持透明度十分重要。它有助于用户判断所查看的是实时、每日还是每周数据,而这会影响决策。 重要性 它能告知用户数据的时效性,这对于依据分析结果做出准确、切合实际的业务决策至关重要。 获取途径 每次数据刷新周期结束时,由数据管道或ETL工具生成并记录此值。 示例 2024-05-21T02:00:00Z2024-05-22T02:00:00Z | |||
| 源系统 SourceSystem | 提取数据的系统。 | ||
| 说明 此属性用于标识事件数据的来源系统,本例中为“Körber WMS”。在集成多个系统的环境中,该字段有助于区分数据源并追踪数据沿袭。 分析时,此属性可提供背景信息,尤其适用于整合多个系统的数据。它有助于确保数据质量,也可用于筛选特定系统的活动。 重要性 它能提供关键的数据来源信息,确保数据清晰可追溯,尤其适用于多个系统互联的环境。 获取途径 通常在数据提取过程中添加一个固定值,用于标识源系统。 示例 Körber WMSKörberOne | |||
| 产品SKU ProductSKU | 所处理物品的库存单位(SKU)或物料编号。 | ||
| 说明 产品SKU是仓库订单中某种产品或物料的唯一标识符。一个订单可以包含一个或多个SKU。 按产品SKU分析有助于了解某些产品的处理流程是否更复杂或更容易出现问题。例如,您可能会发现易碎品的包装时间较长,或某些SKU经常出现拣货差异。这些发现可为存储策略或处理规程的调整提供依据。 重要性 可按具体产品分析流程绩效,发现某些物品是否会导致延误或错误。 获取途径 位于订单行项目表中,并与仓库订单主抬头表关联。常见字段名包括“SKU”“MaterialNumber”或“ItemCode”。 示例 SKU-847361SKU-991204SKU-103557 | |||
| 优先级 PriorityLevel | 表示仓库订单的紧急程度或优先级,例如标准或加急。 | ||
| 说明 优先级是用于标明仓库订单处理紧急程度的分类。例如,订单可能标记为“加急”或“高优先级”,表示应优先于标准订单处理。 此属性是“加急订单分析”仪表板和“加急发货占比”KPI的重要依据。它有助于了解紧急订单对仓库整体运营及相关成本的影响,以及这些订单的处理时间是否确实短于标准订单。 重要性 有助于分析紧急订单的处理情况、发生频率,以及对整体流程绩效和成本的影响。 获取途径 位于订单抬头数据中。可查找“Priority”“Urgency”等字段,或特定的运输服务等级标识。 示例 标准加急隔夜严重 | |||
| 实际数量 ActualQuantity | 任务中实际处理或记录的物品数量。 | ||
| 说明 实际数量是仓库操作员实际清点、拣取、包装或接收的单位数。任务完成时会记录此值;由于库存短缺、货物损坏或人为错误,它有时会与“计划数量”不同。 将此属性与“计划数量”比较,是“库存流程健康度与准确性”仪表板的基础。两者之间的差异直接表明流程可能存在问题或数据不准确,需要进一步调查。 重要性 它反映实际处理的数量,是计算差异率和确保库存准确性的关键依据。 获取途径 位于事务确认记录或任务完成记录中。字段名可能包括“ActualQty”“ConfirmedQuantity”或“PickedQuantity”。 示例 10491 | |||
| 用户/操作员ID UserOperatorId | 执行活动的用户或操作员标识符。 | ||
| 说明 此属性用于标识负责执行具体任务的仓库员工或系统用户,例如拣货、包装或上架。在某些情况下,也可能指自动化系统或机器人。 此维度对于资源绩效分析至关重要。它有助于了解工作量分配、识别绩效突出的员工,以及发现可能需要额外培训的人员。它也是“资源利用率与工作量”仪表板和“每位操作员的吞吐量”KPI的基础。 重要性 它支持分析员工绩效、工作量分配和资源效率,帮助识别培训需求和绩效突出的员工。 获取途径 位于记录用户操作的事务表或日志表中。可查找“UserID”“UserName”“ExecutedBy”或“OperatorID”等字段。 示例 JSMITHABOT01CDAVIS系统 | |||
| SLA状态 SLAStatus | 根据订单要求完成日期,标明订单是否按时完成、已延误或存在延误风险。 | ||
| 说明 SLA状态是一项计算属性,根据订单相对于“RequestedCompletionDate”的时效情况进行分类。取值可包括“按时”“延误”或“进行中”。 此属性可直观呈现服务等级表现。您可以快速筛选和分析所有延误订单,了解其根本原因,例如特定瓶颈或资源问题。它是客户满意度和运营可靠性分析的重要组成部分。 重要性 它直接衡量服务等级协议的履行情况,便于识别延误订单并分析其根本原因。 获取途径 在数据转换层中,将“仓库订单已完成”事件的时间戳与“RequestedCompletionDate”进行比较后计算得出。 示例 按时延误进行中 | |||
| 仓库ID WarehouseId | 发生相关活动的仓库或配送中心的唯一标识符。 | ||
| 说明 仓库ID用于标识仓库订单处理所在的实际地点或设施。对于拥有多个配送中心的组织,这是重要的分析维度。 此属性可用于对比不同地点的绩效。例如,您可以比较A仓库和B仓库的“订单端到端平均周期时间”,以识别最佳实践或特定地点的运营问题。 重要性 可对比不同实际仓库地点的绩效和基准,发现区域或设施特有的问题。 获取途径 此信息通常位于订单抬头表或站点配置表中,字段名可能为“Plant”“Site”或“LocationCode”。 示例 WH-NYCDC-LAXFC-DAL | |||
| 使用的设备 EquipmentUsed | 执行任务时使用的设备标识符,例如叉车或扫描仪。 | ||
| 说明 此属性用于标识仓库任务中使用的物料搬运设备(MHE)或技术设备,例如特定叉车、托盘搬运车、手持扫描仪或自动导引车(AGV)。 按设备分析有助于了解资源利用率、维护需求,以及不同设备对任务效率的影响。它是“资源利用率与工作量”仪表板的重要维度,可全面查看人力和机器资源。 重要性 可分析设备利用率及其对任务绩效的影响,帮助优化车队管理并发现与设备相关的瓶颈。 获取途径 请参阅Körber WMS文档。相关数据可能记录在任务执行记录中,尤其是在操作员需要登录特定设备的情况下。 示例 FORKLIFT-08SCANNER-112AGV-03 | |||
| 周期时间 CycleTime | 仓库订单从创建到完成所用的总时长。 | ||
| 说明 周期时间是一项计算指标,用于衡量一个案例从首个事件(“仓库订单已创建”)到最后一个事件(“仓库订单已完成”)所经过的总时间,代表订单的端到端处理时间。 这是流程挖掘中的一项核心绩效指标,直接回答“需要多长时间?”这一问题。它是“仓库订单端到端周期时间”仪表板和“订单端到端平均周期时间”KPI的核心指标,可用于跟踪整体流程健康度,并识别履约时间异常过长的订单。 重要性 这是一项关键KPI,用于衡量仓库流程的整体效率,并直接影响客户满意度和运营成本。 获取途径 流程挖掘工具会针对每个仓库订单,计算最后一个事件与第一个事件的时间戳之差,得出此指标。 示例 8640017280036000 | |||
| 存储位置 StorageLocation | 仓库中的具体位置,例如货位或通道,货物存放或拣取的地点。 | ||
| 说明 此属性用于标识仓库内的实际坐标,例如货架、搁板或货位。它与“货物上架入库”和“从存储区拣货”等活动相关。 “上架效率与库位使用情况”仪表板使用此数据分析行走时间、库位利用率和存储策略的有效性。例如,可据此判断高周转商品是否存放在便于取用的位置,以缩短拣货时间。 重要性 通过分析行走时间以及特定位置的上架和拣货效率,帮助优化仓库布局和存储策略。 获取途径 位于库存表、任务表或库位主数据表中。可查找“BinCode”“LocationID”或“StorageBin”等字段。 示例 A1-R02-S03-B01B5-R10-S01-B04C2-BULK-05 | |||
| 承运商 Carrier | 负责订单最后一段配送的承运商。 | ||
| 说明 承运商是负责将货物从仓库运送至最终目的地的第三方物流服务商,例如FedEx、UPS或DHL。通常在货运计划或发运阶段指定。 按承运商分析可揭示不同运输合作伙伴之间的绩效差异。例如,可识别某些承运商是否与较长的暂存时间或更频繁的延误相关,为承运商合同谈判和选择提供有价值的数据。 重要性 可分析不同运输合作伙伴的绩效,帮助优化物流并提高配送可靠性。 获取途径 位于Körber WMS的货运或运输计划表中。可查找“CarrierCode”“ShippingAgent”或“SCAC”等字段。 示例 FedExUPSDHLLocal Freight Inc. | |||
| 是否存在拣货差异 IsPickingDiscrepancy | 用于标记实际拣货数量是否与计划数量一致。 | ||
| 说明 这是一个派生的布尔属性。如果任何拣货相关活动的“实际数量”与“计划数量”不同,该属性值为true。它可作为特定任务发生拣货错误或库存问题的简明标记。 此标记便于用户快速筛选出所有发生拣货差异的订单,从而简化分析。它用于计算“拣货差异率”KPI,并通过突出显示具体故障点,为“库存流程健康度与准确性”仪表板提供支持。 重要性 它以明确的二元标记显示拣货错误,简化识别和量化库存准确性问题所需的分析。 获取途径 在数据转换过程中计算。相关拣货活动的逻辑为: 示例 truefalse | |||
| 结束时间 EndTime | 活动完成时的时间戳(如有)。 | ||
| 说明 结束时间表示活动完成时的时间戳。开始时间(事件时间)标记活动的起点,结束时间则标记终点,因此可以直接计算单项活动的持续时间。并非所有事件都有明确的结束时间;对于许多事件,可使用下一事件的开始时间推算前一事件的持续时间。 此属性对于准确计算单项任务的处理时间非常有用。例如,可通过测量质量检验从开始到结束所用的时间,计算“质量检验平均时间”。 重要性 它可以准确计算单项活动的处理时间,对于识别低效任务和资源瓶颈至关重要。 获取途径 请参阅Körber WMS文档。结束时间可能与开始时间一起记录在事务表中,也可能位于相关状态历史表中。 示例 2023-10-26T10:15:00Z2023-10-26T11:45:20Z2023-10-27T08:30:00Z | |||
| 要求完成日期 RequestedCompletionDate | 客户或内部相关方要求完成订单的日期。 | ||
| 说明 这是出库订单的目标完成或发货日期,通常由客户预期或服务等级协议(SLA)决定。它是衡量实际绩效的主要截止日期。 此日期对于“加急订单分析”仪表板至关重要。将“要求完成日期”与“实际完成日期”(即“货物已发运”或“仓库订单已完成”活动的时间戳)进行比较,有助于衡量是否按时完成,并识别可能延误的订单。 重要性 它为衡量按时完成情况和履行服务等级协议(SLA)提供基准,并突出显示可能延误的订单。 获取途径 位于订单抬头表中。常见字段名包括“RequiredDeliveryDate”“RequestedShipDate”或“SLA”。 示例 2023-10-28T23:59:59Z2023-11-05T23:59:59Z | |||
| 计划数量 PlannedQuantity | 任务中预期处理的物品数量,例如拣货或收货任务。 | ||
| 说明 计划数量是仓库订单为某项任务指定的目标单位数。例如,订单要求拣取某个SKU的10件商品,则该拣货任务的计划数量为10。 将此属性与“实际数量”比较,对于发现差异至关重要。它是计算“拣货差异率”和“库存差异率”KPI的重要输入,有助于保持库存准确性。 重要性 它为拣货和收货等任务的准确性衡量提供基准,有助于发现库存差异。 获取途径 可在任务表或订单行项目表中查找“OrderQuantity”“PlannedQty”或“ExpectedQuantity”等字段。 示例 10501 | |||
| 订单类型 OrderType | 用于对仓库订单分类,例如入库、出库或内部调拨。 | ||
| 说明 订单类型定义仓库订单的业务用途。常见类型包括客户发货(出库)、供应商收货(入库)、仓库地点之间的库存调拨(内部调拨)或退货。 此属性适用于筛选和对比分析。您可以分析并比较不同物流作业的流程和绩效,例如判断入库流程的效率是否高于出库流程。 重要性 可按订单用途细分分析,揭示入库收货和出库发货等流程之间的绩效差异。 获取途径 通常位于Körber WMS的订单抬头表中。可查找“OrderType”“TransactionType”等类似字段。 示例 出库发货入库收货内部调拨客户退货 | |||
仓库管理活动
| 活动 | 说明 | ||
|---|---|---|---|
| 仓库订单已创建 | 系统中首次创建仓库订单,表示产生了货物移动需求。通常,用户或ERP等集成系统创建订单记录时,系统会明确记录此事件及其创建时间戳。 | ||
| 重要性 这标志着端到端流程的开始。该事件对于衡量订单总周期时间、了解整体需求和订单量至关重要。 获取途径 在Körber WMS中保存新订单记录时,可从仓库订单主表的创建时间戳中获取此信息。 采集 取自仓库订单主表中的创建时间戳。 事件类型 explicit | |||
| 仓库订单已完成 | 系统关闭仓库订单,表示相关的实物移动和事务均已完成。通常可根据订单抬头状态变更推断订单关闭,该状态变更标志着订单生命周期结束。 | ||
| 重要性 这是流程的主要终点,对于计算端到端周期时间和衡量整体流程完成率至关重要。 获取途径 根据仓库订单抬头状态变更推断,例如状态变为“Complete”或“Closed”。 采集 根据仓库订单抬头状态变为“Completed”时的时间戳推断。 事件类型 inferred | |||
| 货物已上架入库 | 操作人员确认上架任务完成,通常通过扫描存储货位和托盘或商品来完成。此操作会明确记录货物移动,并更新系统中的库存位置。 | ||
| 重要性 这一关键里程碑标志着入库流程结束,可用于计算“上架周期时间”和“收货至上架时间”等关键绩效指标。 获取途径 操作人员通过RF设备确认上架任务完成时,系统会记录此事件。该操作会将任务状态更新为“Completed”,并记录完成时间戳。 采集 取自上架任务确认交易的时间戳。 事件类型 explicit | |||
| 货物已从存储位置拣出 | 操作人员确认已从存储位置拣出订单所需商品。通常通过扫描商品和货位完成,此操作会扣减货位库存并记录相关操作。 | ||
| 重要性 这是出库流程中的重要里程碑,可用于分析拣货时间,并发现拣货与包装之间可能存在的延误。 获取途径 操作人员通过RF设备确认拣货任务完成时,系统会记录此事件。任务状态会更新为“Completed”,并记录完成时间戳。 采集 取自拣货任务确认交易的时间戳。 事件类型 explicit | |||
| 货物已包装 | 运输容器或纸箱的包装工作已完成,包裹已封装并贴好标签。此事件表示订单已准备好暂存和发运,系统会明确记录。 | ||
| 重要性 这一关键里程碑标志着货物发运准备完成,可用于计算包装处理能力并发现装车前的延误。 获取途径 操作人员执行“Packing Complete”或“Close Carton”交易,系统会记录运输容器的完成时间戳。 采集 取自“Close Container”或“Packing Complete”交易的时间戳。 事件类型 explicit | |||
| 货物已发运 | 货物装车后,卡车驶离仓库。系统执行“Ship Confirm”或“Post Goods Issue”交易后会触发此事件,并完成发运记录。 | ||
| 重要性 这是一个关键节点,标志着货物已实际离开仓库。它通常是开具发票和通知客户的重要事件。 获取途径 系统执行明确的“Ship Confirm”事务,并与打印提单相关联。该事务带有具体时间戳。 采集 “Ship Confirm”或“Post Goods Issue”事务的时间戳。 事件类型 explicit | |||
| 货物已收货并清点 | 仓库员工卸货、扫描并清点收到的商品,与入库交货通知核对。此项明确记录的交易确认了特定数量的物料已由仓库实际接收。 | ||
| 重要性 这是关键的入库里程碑,可用于计算“收货至上架时间”等关键绩效指标,也有助于及早发现预期数量与实收数量之间的差异。 获取途径 用户通过RF扫描器或桌面交易确认收货数量时生成此记录。该操作会将库存状态更新为“Received”或“On-Hand”,并将货物存放在暂存位置。 采集 取自收货确认交易的时间戳。 事件类型 explicit | |||
| 仓库订单已取消 | 仓库订单在完成前被取消,所有正在进行的工作随之停止。通常可根据订单抬头状态变为“Canceled”推断。 | ||
| 重要性 这是流程的另一种结束方式。分析取消情况有助于了解流程未能完成的原因,例如库存短缺或客户变更。 获取途径 根据仓库订单抬头状态变为“Canceled”或“Deleted”推断,并记录状态变更的时间戳。 采集 根据仓库订单抬头状态变为“Canceled”时的时间戳推断。 事件类型 inferred | |||
| 已创建上架任务 | WMS会创建任务,指派操作人员将收到的货物从暂存区移至最终存储货位。系统根据上架策略确定商品的最佳目标货位。 | ||
| 重要性 此事件标志着上架流程的开始。分析从任务创建到完成的时间,有助于衡量系统和操作人员的效率。 获取途径 任务管理表或工作队列表中会创建一条记录,任务类型为“Putaway”,并包含相应的创建时间戳。 采集 取自上架任务记录的创建时间戳。 事件类型 explicit | |||
| 已创建拣货任务 | 系统根据出库仓库订单为操作人员生成拣货任务,指引其前往指定位置,取出特定数量的商品。 | ||
| 重要性 此事件启动出库履行流程。分析拣货任务的生成情况,有助于了解订单处理逻辑和工作量分配。 获取途径 Körber WMS中的任务管理表或工作队列表会创建一条记录,任务类型为“Picking”,并包含创建时间戳。 采集 取自拣货任务记录的创建时间戳。 事件类型 explicit | |||
| 已完成质量检验 | 对收到的货物进行质量检查,可能需要将商品移至专用质检区域。此活动通常可根据库存状态变化推断,例如从“On-Hand”变为“QI Hold”,随后再变为“Unrestricted”。 | ||
| 重要性 此信息可用于分析质量检验耗时。检验可能成为重要瓶颈;跟踪检验量有助于发现库存可用时间延迟的问题。 获取途径 可根据与质量冻结相关的一系列库存状态变化推断。部分系统可能会明确记录质量管理交易日志。 采集 根据库存状态变化,或与质量检验订单关联的交易日志推断。 事件类型 inferred | |||
| 已开始包装 | 拣出的商品送达包装工作站,操作人员开始包装。通常可根据订单在包装工作站扫描的第一件商品推断此事件。 | ||
| 重要性 此事件标志着包装环节的开始。衡量等待时间和包装耗时,有助于发现发货准备中的瓶颈。 获取途径 系统可能会明确记录“Start Packing”交易,但更常见的做法是根据订单在包装工作站扫描的第一件商品推断。 采集 根据特定订单在包装工作站首次操作的时间戳推断。 事件类型 inferred | |||
| 已收到入库交货通知 | 收到供应商发来的预先发货通知(ASN)或入库交货通知。此事件表示货物预计到达,仓库可据此安排收货活动。通知通常通过EDI交易创建,也可手动录入。 | ||
| 重要性 此活动标志着入库计划流程的开始。分析通知发出到货物到达之间的时间,有助于评估供应商表现并安排人力。 获取途径 取自ASN或入库交货记录的创建时间戳,此类记录通常通过EDI接口创建或手动录入。 采集 ASN记录在系统中成功创建时记入日志。 事件类型 explicit | |||
| 已暂存待发运 | 已包装的纸箱或托盘从包装区移至指定的发运暂存通道,等待承运商提货。通常可根据库存移动至发运位置的交易时间戳推断此事件。 | ||
| 重要性 此信息有助于分析包装完成到最终发运之间的停留时间。暂存时间过长可能说明承运商协调不佳或月台管理效率低。 获取途径 根据搬运单元从包装工作中心移至发运通道的位置变化推断。移动交易中包含所需的时间戳。 采集 根据库存移动交易的时间戳推断,目标位置为暂存区。 事件类型 inferred | |||
| 货物已抵达月台 | 记录承运车辆实际抵达仓库收货月台的时间。此操作通常由门卫或收货员完成,标志着实物收货流程的开始。此事件通常可根据交货状态变化推断。 | ||
| 重要性 此事件有助于衡量承运商准时率并分析收货月台的等待时间,从而在卸货开始前发现潜在瓶颈。 获取途径 通常记录为入库交货记录的状态更新;如果场地管理模块支持,也可通过专门的“Check-In”交易记录。 采集 根据入库交货记录的状态变为“Arrived”或“At Dock”推断。 事件类型 inferred | |||
数据提取指南
步骤
- 建立数据库访问:获取Körber WMS生产数据库或副本数据库的只读凭据和连接信息(服务器名称、数据库名称、端口)。您需要使用Microsoft SQL Server Management Studio(SSMS)或Oracle SQL Developer等客户端工具。
- 确认核心数据表:运行脚本前,请与系统管理员确认Körber WMS实施环境中使用的确切表名和列名,因为这些名称可能有所不同。关键数据表通常包括订单抬头、任务和库存交易记录。
- 连接数据库:启动SQL客户端,使用提供的凭据连接Körber WMS数据库。
- 加载SQL脚本:打开新的查询窗口,将本文档“query”部分提供的完整SQL脚本复制到窗口中。
- 配置参数:找到脚本顶部的占位变量。将
@[StartDate]、@[EndDate]和@[WarehouseId]替换为所需日期范围和具体仓库标识,以筛选提取的数据。 - 执行查询:运行配置好的SQL脚本。执行时间取决于日期范围和系统中的数据量。
- 检查结果:查询完成后,在SQL客户端中快速检查输出,确认返回了数据行,且
WarehouseOrder、ActivityName、EventTime等列已按预期填充。 - 导出为CSV:将全部查询结果导出为CSV文件。大多数SQL客户端都提供直接导出查询结果的内置功能。
- 准备上传:确保导出的CSV文件采用UTF-8编码。检查文件中的列标题是否与必需属性名称完全一致,不含多余空格或字符。
配置
- 数据库连接:需要直接连接数据库。您必须提供服务器地址、数据库名称、有效的用户名和密码。强烈建议使用只读用户,避免意外修改数据。
- 日期范围筛选:查询使用
@StartDate和@EndDate占位符控制提取时间范围。初次分析建议选择3至6个月,以涵盖足够的流程变化,同时避免给数据库造成过大负载。 - 仓库和订单筛选:脚本包含
@[WarehouseId]占位符,用于限定特定仓库。您可以在脚本的WHERE子句中添加订单类型或客户等筛选条件,进一步限定数据集。 - 数据粒度:此脚本提取订单抬头级事件(例如“Warehouse Order Created”)以及详细任务或交易级事件(例如“Goods Picked”)。
- 前提条件:您必须具备读取查询中所有相关表的数据库权限。还需熟悉您所用Körber WMS的架构,以便核实并视需要调整表名和列名。
a 查询示例 sql
DECLARE @StartDate DATETIME = '2023-01-01';
DECLARE @EndDate DATETIME = '2023-12-31';
DECLARE @WarehouseId NVARCHAR(10) = '[Your Warehouse ID]';
-- 1. Warehouse Order Created
SELECT
ord.ORD_NBR AS WarehouseOrder,
'Warehouse Order Created' AS ActivityName,
ord.CREATE_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ord.CREATE_USER AS UserOperatorId,
ord.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ORD_HDR] ord
WHERE ord.CREATE_DATE BETWEEN @StartDate AND @EndDate AND ord.WH_ID = @WarehouseId
UNION ALL
-- 2. Inbound Delivery Notification Rcvd
SELECT
asn.ASN_NBR AS WarehouseOrder,
'Inbound Delivery Notification Rcvd' AS ActivityName,
asn.CREATE_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
asn.CREATE_USER AS UserOperatorId,
asn.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ASN_HDR] asn
WHERE asn.CREATE_DATE BETWEEN @StartDate AND @EndDate AND asn.WH_ID = @WarehouseId
UNION ALL
-- 3. Goods Arrived at Dock
SELECT
asn.ASN_NBR AS WarehouseOrder,
'Goods Arrived at Dock' AS ActivityName,
asn.ACTUAL_ARRIVAL_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
asn.MOD_USER AS UserOperatorId,
asn.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ASN_HDR] asn
WHERE asn.ACTUAL_ARRIVAL_TSTMP IS NOT NULL AND asn.ACTUAL_ARRIVAL_TSTMP BETWEEN @StartDate AND @EndDate AND asn.WH_ID = @WarehouseId
UNION ALL
-- 4. Goods Received and Counted
SELECT
tran.ORD_NBR AS WarehouseOrder,
'Goods Received and Counted' AS ActivityName,
tran.TRAN_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tran.USER_ID AS UserOperatorId,
NULL AS PriorityLevel,
tran.SKU AS ProductSKU,
tran.TRAN_QTY AS ActualQuantity
FROM [INV_TRAN] tran
WHERE tran.TRAN_TYPE = 'RECV' AND tran.TRAN_TSTMP BETWEEN @StartDate AND @EndDate AND tran.WH_ID = @WarehouseId
UNION ALL
-- 5. Quality Inspection Performed
SELECT
tran.ORD_NBR AS WarehouseOrder,
'Quality Inspection Performed' AS ActivityName,
tran.TRAN_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tran.USER_ID AS UserOperatorId,
NULL AS PriorityLevel,
tran.SKU AS ProductSKU,
tran.TRAN_QTY AS ActualQuantity
FROM [INV_TRAN] tran
WHERE tran.TRAN_TYPE = 'MOVE' AND tran.REASON_CODE = 'QI_INSP' AND tran.TRAN_TSTMP BETWEEN @StartDate AND @EndDate AND tran.WH_ID = @WarehouseId
UNION ALL
-- 6. Putaway Task Created
SELECT
tsk.ORD_NBR AS WarehouseOrder,
'Putaway Task Created' AS ActivityName,
tsk.CREATE_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tsk.CREATE_USER AS UserOperatorId,
tsk.PRIORITY AS PriorityLevel,
tsk.SKU AS ProductSKU,
tsk.TASK_QTY AS ActualQuantity
FROM [TASK_DTL] tsk
WHERE tsk.TASK_TYPE = 'PUTAWAY' AND tsk.CREATE_DATE BETWEEN @StartDate AND @EndDate AND tsk.WH_ID = @WarehouseId
UNION ALL
-- 7. Goods Put Away in Storage
SELECT
tsk.ORD_NBR AS WarehouseOrder,
'Goods Put Away in Storage' AS ActivityName,
tsk.CMPL_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tsk.USER_ID AS UserOperatorId,
tsk.PRIORITY AS PriorityLevel,
tsk.SKU AS ProductSKU,
tsk.CMPL_QTY AS ActualQuantity
FROM [TASK_DTL] tsk
WHERE tsk.TASK_TYPE = 'PUTAWAY' AND tsk.STAT_CODE = 'COMPLETED' AND tsk.CMPL_TSTMP IS NOT NULL AND tsk.CMPL_TSTMP BETWEEN @StartDate AND @EndDate AND tsk.WH_ID = @WarehouseId
UNION ALL
-- 8. Picking Task Created
SELECT
tsk.ORD_NBR AS WarehouseOrder,
'Picking Task Created' AS ActivityName,
tsk.CREATE_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tsk.CREATE_USER AS UserOperatorId,
tsk.PRIORITY AS PriorityLevel,
tsk.SKU AS ProductSKU,
tsk.TASK_QTY AS ActualQuantity
FROM [TASK_DTL] tsk
WHERE tsk.TASK_TYPE = 'PICK' AND tsk.CREATE_DATE BETWEEN @StartDate AND @EndDate AND tsk.WH_ID = @WarehouseId
UNION ALL
-- 9. Goods Picked from Storage
SELECT
tsk.ORD_NBR AS WarehouseOrder,
'Goods Picked from Storage' AS ActivityName,
tsk.CMPL_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tsk.USER_ID AS UserOperatorId,
tsk.PRIORITY AS PriorityLevel,
tsk.SKU AS ProductSKU,
tsk.CMPL_QTY AS ActualQuantity
FROM [TASK_DTL] tsk
WHERE tsk.TASK_TYPE = 'PICK' AND tsk.STAT_CODE = 'COMPLETED' AND tsk.CMPL_TSTMP IS NOT NULL AND tsk.CMPL_TSTMP BETWEEN @StartDate AND @EndDate AND tsk.WH_ID = @WarehouseId
UNION ALL
-- 10. Packing Initiated
SELECT
pck.ORD_NBR AS WarehouseOrder,
'Packing Initiated' AS ActivityName,
MIN(pck.CREATE_DATE) AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
MIN(pck.USER_ID) AS UserOperatorId,
NULL AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [PACK_TRAN] pck
WHERE pck.CREATE_DATE BETWEEN @StartDate AND @EndDate AND pck.WH_ID = @WarehouseId
GROUP BY pck.ORD_NBR
UNION ALL
-- 11. Goods Packed
SELECT
ctn.ORD_NBR AS WarehouseOrder,
'Goods Packed' AS ActivityName,
ctn.PACK_CMPL_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ctn.PACKER_ID AS UserOperatorId,
NULL AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [SHIP_CARTON] ctn
WHERE ctn.PACK_CMPL_TSTMP IS NOT NULL AND ctn.PACK_CMPL_TSTMP BETWEEN @StartDate AND @EndDate AND ctn.WH_ID = @WarehouseId
UNION ALL
-- 12. Staged for Shipment
SELECT
tran.ORD_NBR AS WarehouseOrder,
'Staged for Shipment' AS ActivityName,
tran.TRAN_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
tran.USER_ID AS UserOperatorId,
NULL AS PriorityLevel,
tran.SKU AS ProductSKU,
tran.TRAN_QTY AS ActualQuantity
FROM [INV_TRAN] tran
JOIN [LOC_HDR] loc ON tran.TO_LOC = loc.LOC_ID AND tran.WH_ID = loc.WH_ID
WHERE tran.TRAN_TYPE = 'MOVE' AND loc.LOC_TYPE = 'SHIP_STAGE' AND tran.TRAN_TSTMP BETWEEN @StartDate AND @EndDate AND tran.WH_ID = @WarehouseId
UNION ALL
-- 13. Shipment Dispatched
SELECT
shp.ORD_NBR AS WarehouseOrder,
'Shipment Dispatched' AS ActivityName,
shp.SHIP_CONFIRM_TSTMP AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
shp.USER_ID AS UserOperatorId,
NULL AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [SHIPMENT_HDR] shp
WHERE shp.SHIP_CONFIRM_TSTMP IS NOT NULL AND shp.SHIP_CONFIRM_TSTMP BETWEEN @StartDate AND @EndDate AND shp.WH_ID = @WarehouseId
UNION ALL
-- 14. Warehouse Order Completed
SELECT
ord.ORD_NBR AS WarehouseOrder,
'Warehouse Order Completed' AS ActivityName,
ord.MOD_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ord.MOD_USER AS UserOperatorId,
ord.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ORD_HDR] ord
WHERE ord.STAT_CODE IN ('99', 'COMPLETED') AND ord.MOD_DATE BETWEEN @StartDate AND @EndDate AND ord.WH_ID = @WarehouseId
UNION ALL
-- 15. Warehouse Order Canceled
SELECT
ord.ORD_NBR AS WarehouseOrder,
'Warehouse Order Canceled' AS ActivityName,
ord.MOD_DATE AS EventTime,
'Körber WMS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ord.MOD_USER AS UserOperatorId,
ord.PRIORITY AS PriorityLevel,
NULL AS ProductSKU,
NULL AS ActualQuantity
FROM [ORD_HDR] ord
WHERE ord.STAT_CODE IN ('95', 'CANCELED') AND ord.MOD_DATE BETWEEN @StartDate AND @EndDate AND ord.WH_ID = @WarehouseId; 优化仓库管理,立即提升效率
快速减少拣货错误,将库存准确率提升至99.5%。
无需信用卡,随时可取消。