Mẫu dữ liệu quản lý kho hàng của bạn
Mẫu dữ liệu quản lý kho hàng của bạn
- Các thuộc tính nên thu thập để phân tích đầy đủ
- Các hoạt động chính cần theo dõi trong luồng hàng hóa
- Hướng dẫn thực tế để trích xuất dữ liệu từ Blue Yonder WMS
Thuộc tính quản lý kho hàng
| Tên | Mô tả | ||
|---|---|---|---|
| Lệnh kho WarehouseOrder | Mã định danh duy nhất của lệnh kho, dùng làm trường hợp chính để theo dõi mọi hoạt động hậu cần liên quan từ lúc tạo đến khi hoàn tất. | ||
| Mô tả Lệnh kho là mã định danh trung tâm, dùng để nhóm mọi sự kiện và tác vụ liên quan đến một yêu cầu hậu cần cụ thể, chẳng hạn như nhận hàng đến hoặc gửi hàng đi. Lệnh này đại diện cho một đơn vị công việc hoàn chỉnh trong kho. Trong process mining, thuộc tính này dùng để xác định trường hợp, nhờ đó có thể phân tích toàn bộ vòng đời của lệnh từ đầu đến cuối. Bằng cách theo dõi mọi hoạt động gắn với một lệnh kho, chuyên viên phân tích có thể đo tổng thời gian hoàn tất đơn hàng, tìm các biến thể quy trình thường gặp và hiểu toàn bộ hành trình của đơn hàng trong kho. Vì sao điều này quan trọng Đây là mã định danh trường hợp thiết yếu, kết nối mọi hoạt động liên quan trong kho và cho phép phân tích toàn bộ quy trình hoàn tất đơn hàng hoặc nhận hàng từ đầu đến cuối. Lấy dữ liệu ở đâu Thông thường, đây là khóa chính trong bảng tiêu đề lệnh kho. Hãy tham khảo tài liệu Blue Yonder WMS để tìm các bảng liên quan đến quản lý lệnh. Ví dụ WO-0012845WO-0012991WO-0013057 | |||
| Tên hoạt động ActivityName | Tên của tác vụ hoặc sự kiện cụ thể diễn ra trong kho, chẳng hạn như 'Đã lấy hàng' hoặc 'Lô hàng rời kho'. | ||
| Mô tả Thuộc tính này mô tả bước hoặc tác vụ cụ thể được thực hiện trong quy trình quản lý kho. Mỗi sự kiện trong nhật ký quy trình đều gắn với một tên hoạt động, tạo thành chuỗi các bước của quy trình. Khi phân tích, tên hoạt động là cơ sở để khám phá sơ đồ quy trình, phân tích các bước chuyển tiếp và tìm điểm nghẽn hoặc sai lệch so với quy trình chuẩn. Thuộc tính này được dùng trong hầu hết các phân tích process mining, từ kiểm tra mức độ tuân thủ đến theo dõi hiệu suất. Vì sao điều này quan trọng Thuộc tính này rất quan trọng khi xây dựng sơ đồ quy trình, vì nó xác định từng bước và cho phép trực quan hóa, phân tích luồng quy trình. Lấy dữ liệu ở đâu Thông tin này thường có trong các bảng tác vụ hoặc nhật ký sự kiện của kho, thường được lấy từ loại tác vụ hoặc mã trạng thái. Ví dụ Picking Task CreatedGoods Picked from StorageLô hàng rời kho | |||
| Thời gian bắt đầu sự kiện EventStartTime | Dấu thời gian cho biết thời điểm một hoạt động hoặc sự kiện cụ thể trong kho bắt đầu. | ||
| Mô tả Thuộc tính này ghi lại ngày giờ một tác vụ hoặc sự kiện trong kho bắt đầu. Nhờ đó, bạn biết thứ tự thời gian của mọi hoạt động trong một trường hợp. Dấu thời gian này rất cần thiết cho mọi phân tích process mining dựa trên thời gian. Thuộc tính này giúp sắp xếp sự kiện, tính thời gian chu kỳ giữa các hoạt động, đo thời lượng toàn quy trình và tìm thời gian chờ hoặc chậm trễ. Đây là nền tảng để phân tích hiệu suất và cần có để mô phỏng hoạt động trên sơ đồ quy trình. Vì sao điều này quan trọng Cần có dấu thời gian bắt đầu để sắp xếp sự kiện theo trình tự thời gian và tính các chỉ số hiệu suất như thời gian chu kỳ và thời gian chờ. Lấy dữ liệu ở đâu Có trong nhật ký sự kiện hoặc bảng tác vụ, tương ứng với thời điểm tạo hoặc bắt đầu của một thao tác được ghi nhận. Ví dụ 2023-10-26T08:30:00Z2023-10-26T09:15:10Z2023-10-26T11:05:45Z | |||
| Hệ thống nguồn SourceSystem | Hệ thống trích xuất dữ liệu, trong trường hợp này là Blue Yonder WMS. | ||
| Mô tả Thuộc tính này xác định hệ thống nguồn của dữ liệu sự kiện. Trong môi trường CNTT hiện đại, dữ liệu của một quy trình từ đầu đến cuối có thể đến từ nhiều hệ thống, chẳng hạn ERP, WMS và TMS. Việc xác định hệ thống nguồn rất quan trọng đối với quản trị dữ liệu, xử lý sự cố và hiểu bối cảnh dữ liệu. Thuộc tính này giúp truy nguyên vấn đề về chất lượng dữ liệu về nguồn phát sinh và rất cần thiết khi hợp nhất dữ liệu từ nhiều nguồn để tạo góc nhìn thống nhất về quy trình. Vì sao điều này quan trọng Thuộc tính này cung cấp thông tin cần thiết về nguồn gốc dữ liệu, giúp truy nguyên dữ liệu để xác thực và khi hợp nhất dữ liệu từ nhiều hệ thống. Lấy dữ liệu ở đâu Đây thường là giá trị cố định được thêm trong quá trình trích xuất dữ liệu để ghi nhãn nguồn của tập dữ liệu. Ví dụ BlueYonderWMS_USBlueYonderWMS_EU | |||
| Lần cập nhật dữ liệu gần nhất LastDataUpdate | Dấu thời gian cho biết lần gần nhất dữ liệu của bản ghi này được làm mới từ hệ thống nguồn. | ||
| Mô tả Thuộc tính này ghi lại ngày giờ tập dữ liệu được trích xuất hoặc cập nhật lần gần nhất từ Blue Yonder WMS. Thuộc tính cung cấp siêu dữ liệu về mức độ mới của dữ liệu đang được phân tích. Dấu thời gian này rất quan trọng đối với quản trị dữ liệu và giúp người dùng biết dữ liệu được cập nhật đến thời điểm nào. Nhờ đó, các bên liên quan hiểu dữ liệu còn mới hay không và có thể tin rằng họ đang xem thông tin gần đây, phù hợp về quy trình. Vì sao điều này quan trọng Dấu thời gian này cho người dùng biết dữ liệu được cập nhật đến thời điểm nào, giúp họ hiểu khoảng thời gian mà phân tích bao quát. Lấy dữ liệu ở đâu Đây là trường siêu dữ liệu thường được tạo và thêm trong quá trình trích xuất dữ liệu (ETL). Ví dụ 2024-01-15T04:00:00Z2024-01-16T04:00:00Z | |||
| Mã người dùng/nhân viên vận hành UserOperatorId | Mã định danh của nhân viên kho hoặc người vận hành thực hiện hoạt động. | ||
| Mô tả Thuộc tính này ghi lại mã định danh duy nhất của người thực hiện một tác vụ trong kho, chẳng hạn như lấy hàng, đóng gói hoặc đưa hàng vào vị trí. Thuộc tính này liên kết hoạt động trong quy trình với nhân sự. Phân tích hoạt động theo mã người dùng/nhân viên vận hành rất cần thiết để hiểu cách sử dụng tài nguyên, phân bổ khối lượng công việc và hiệu suất cá nhân. Qua đó, bạn có thể biết nhân viên nào làm việc hiệu quả nhất, ai cần được đào tạo thêm hoặc công việc được phân chia trong nhóm ra sao. Đây là chiều phân tích chính của bảng điều khiển Mức sử dụng tài nguyên kho. Vì sao điều này quan trọng Thuộc tính này liên kết các bước trong quy trình với người thực hiện, giúp phân tích hiệu suất, khối lượng công việc và nhu cầu đào tạo. Lấy dữ liệu ở đâu Thường có trong bảng tác vụ hoặc giao dịch, liên kết với người dùng đã đăng nhập vào hệ thống hoặc thiết bị cầm tay trong lúc thao tác. Ví dụ JSMITHBWILLISAMILLER | |||
| Mức độ ưu tiên PriorityLevel | Mức độ ưu tiên của lệnh kho, chẳng hạn 'Cao', 'Thông thường' hoặc 'Thấp'. | ||
| Mô tả Mức độ ưu tiên cho biết lệnh kho cần được xử lý gấp đến đâu. Các lệnh ưu tiên cao, chẳng hạn lô hàng cần giao nhanh, thường cần được xử lý nhanh hơn lệnh thông thường. WMS dùng thuộc tính này để sắp xếp thứ tự tác vụ và phân bổ tài nguyên. Trong process mining, thuộc tính này rất quan trọng để đánh giá hiệu quả của chiến lược ưu tiên. Bảng điều khiển Hoàn tất đơn hàng ưu tiên cao dùng trường này để lọc các đơn gấp và so sánh thời gian chu kỳ với đơn thông thường. Qua đó, bạn có thể kiểm tra xem đơn ưu tiên cao có thực sự đi qua quy trình nhanh hơn hay vẫn mắc ở những điểm nghẽn tương tự. Vì sao điều này quan trọng Thuộc tính này giúp đánh giá đơn ưu tiên cao có được xử lý nhanh hơn đơn thông thường hay không, qua đó kiểm chứng hiệu quả của các quy tắc ưu tiên. Lấy dữ liệu ở đâu Thông tin này thường được lưu trong bảng tiêu đề lệnh kho. Ví dụ CaoThông thườngThấp | |||
| Ngày hoàn tất theo yêu cầu RequestedCompletionDate | Ngày giờ dự kiến hoặc được yêu cầu để hoàn tất và xuất lệnh kho. | ||
| Mô tả Ngày hoàn tất theo yêu cầu là thỏa thuận mức dịch vụ (SLA) hoặc mục tiêu hoàn tất lệnh kho xuất hàng. Đây là hạn chót để lấy hàng, đóng gói và chuẩn bị hàng sẵn sàng giao. Ngày này là mốc chuẩn để đo hiệu suất thực tế. Thuộc tính này được dùng để tính KPI Tỷ lệ giao hàng đúng hạn bằng cách so sánh với dấu thời gian xuất hàng thực tế. Phân tích đơn hàng theo thuộc tính này giúp tìm những đơn có nguy cơ trễ và xác định nguyên nhân gốc rễ khiến không đạt SLA. Vì sao điều này quan trọng Thuộc tính này là mốc chuẩn để đo hiệu suất giao hàng đúng hạn và rất quan trọng khi tính KPI Tỷ lệ giao hàng đúng hạn. Lấy dữ liệu ở đâu Thường được lưu trong bảng tiêu đề lệnh kho và có thể kế thừa từ đơn bán hàng nguồn hoặc yêu cầu giao hàng. Ví dụ 2023-10-27T17:00:00Z2023-10-28T12:00:00Z2023-11-01T17:00:00Z | |||
| Số lượng dự kiến PlannedQuantity | Số lượng mặt hàng dự kiến cho một tác vụ, chẳng hạn số lượng cần lấy hoặc nhận. | ||
| Mô tả Số lượng dự kiến là số đơn vị mục tiêu được chỉ định trong lệnh kho cho một tác vụ cụ thể. Với lệnh giao hàng đến, đây là số lượng dự kiến nhận từ nhà cung cấp. Với tác vụ lấy hàng, đây là số lượng khách hàng đặt. Thuộc tính này rất quan trọng để phân tích độ chính xác. So sánh số lượng dự kiến với số lượng thực tế giúp phát hiện chênh lệch khi nhận hàng, lấy hàng hoặc kiểm kê tồn kho. Thuộc tính này hỗ trợ trực tiếp các KPI như Tỷ lệ chênh lệch số lượng lấy hàng và rất cần thiết cho bảng điều khiển Kiểm tra độ chính xác số lượng. Vì sao điều này quan trọng Đây là cơ sở để đo độ chính xác và phát hiện chênh lệch số lượng trong các hoạt động nhận hàng và lấy hàng. Lấy dữ liệu ở đâu Có trong bảng chi tiết hoặc dòng hàng liên kết với lệnh kho hay tác vụ cụ thể. Ví dụ 1005024 | |||
| Số lượng thực tế ActualQuantity | Số lượng mặt hàng thực tế được xử lý trong một tác vụ, chẳng hạn số lượng được đếm hoặc lấy trực tiếp. | ||
| Mô tả Số lượng thực tế là số đơn vị mà nhân viên kho đã xử lý trong một tác vụ. Đây có thể là số mặt hàng nhận từ nhà cung cấp, số đơn vị lấy từ ô chứa hoặc số lượng đóng vào thùng vận chuyển. Khi so sánh với số lượng dự kiến, thuộc tính này cho thấy các ngoại lệ và lỗi trong quy trình. Đây là chỉ số cốt lõi để tính tỷ lệ chênh lệch, một thước đo quan trọng về chất lượng vận hành. Dữ liệu này rất cần thiết để tìm vấn đề trong lô hàng của nhà cung cấp, lỗi lấy hàng hoặc sai lệch tồn kho. Vì sao điều này quan trọng So sánh số lượng này với số lượng dự kiến là việc cần thiết để phát hiện lỗi quy trình và tính các KPI chất lượng quan trọng như tỷ lệ chênh lệch. Lấy dữ liệu ở đâu Có trong bảng xác nhận tác vụ hoặc nhật ký giao dịch, nơi nhân viên ghi lại số lượng đã xử lý. Ví dụ 1004924 | |||
| Thời gian kết thúc sự kiện EventEndTime | Dấu thời gian cho biết thời điểm một hoạt động hoặc sự kiện cụ thể trong kho hoàn tất. | ||
| Mô tả Thuộc tính này ghi lại ngày giờ một tác vụ hoặc sự kiện trong kho kết thúc. Khi có dữ liệu, thuộc tính này giúp đo chính xác thời gian xử lý của từng hoạt động. Có cả thời gian bắt đầu và kết thúc sẽ giúp phân tích hiệu suất chi tiết hơn. Nhờ đó, bạn có thể tách thời gian chờ giữa các hoạt động khỏi thời gian xử lý của chính hoạt động đó. Điều này rất quan trọng để xác định chậm trễ đến từ thời gian nhàn rỗi hay do tác vụ mất quá lâu để hoàn tất. Vì sao điều này quan trọng Thuộc tính này giúp tính chính xác thời gian xử lý hoạt động và phân biệt với thời gian chờ, từ đó xác định đúng hướng cải thiện hiệu suất. Lấy dữ liệu ở đâu Có trong nhật ký sự kiện hoặc bảng tác vụ, tương ứng với thời điểm hoàn tất hoặc đóng một thao tác được ghi nhận. Ví dụ 2023-10-26T08:35:12Z2023-10-26T09:20:05Z2023-10-26T11:06:00Z | |||
| Vị trí lưu trữ StorageLocation | Vị trí cụ thể trong kho, chẳng hạn ô chứa hoặc lối đi, nơi hàng hóa được lưu trữ hoặc lấy ra. | ||
| Mô tả Thuộc tính này xác định vị trí thực tế trong kho liên quan đến một tác vụ. Với hoạt động đưa hàng vào vị trí, đây là ô đích. Với hoạt động lấy hàng, đây là ô nguồn. Vị trí có thể được biểu diễn bằng mã ghép gồm lối đi, kệ, tầng và số ô chứa. Phân tích dữ liệu theo vị trí lưu trữ giúp đánh giá hiệu quả bố trí kho, chiến lược sắp xếp hàng và việc di chuyển tài nguyên. Thuộc tính này giúp tìm khu vực có lưu lượng cao, khu vực ít được sử dụng và điểm nghẽn tiềm ẩn trong luồng di chuyển hàng hóa. Đây là thuộc tính nền tảng cho bảng điều khiển Xu hướng sử dụng vị trí lưu trữ. Vì sao điều này quan trọng Thuộc tính này cung cấp bối cảnh quan trọng để phân tích cách bố trí kho, hiệu quả của chiến lược sắp xếp hàng và tìm điểm nghẽn trong luồng di chuyển. Lấy dữ liệu ở đâu Có trong các bảng liên quan đến hàng tồn kho, tác vụ kho (lấy hàng, đưa hàng vào vị trí) và dữ liệu danh mục ô chứa. Ví dụ A1-R03-S02-B01B5-R10-S04-B05C2-R01-S01-B02 | |||
| Giao hàng đúng hạn IsOnTimeShipment | Giá trị đúng/sai cho biết lô hàng được xuất vào hoặc trước ngày hoàn tất theo yêu cầu. | ||
| Mô tả Thuộc tính được tính toán này cho biết đơn hàng có đạt SLA giao hàng hay không. Thuộc tính được xác định bằng cách so sánh dấu thời gian của hoạt động 'Lô hàng rời kho' với 'Ngày hoàn tất theo yêu cầu' của đơn hàng. Cờ này giúp đơn giản hóa việc phân tích và trực quan hóa hiệu suất giao hàng đúng hạn. Bạn có thể dễ dàng lọc và tổng hợp dữ liệu để tính KPI Tỷ lệ giao hàng đúng hạn và tạo bảng điều khiển tương ứng. Thuộc tính này cũng hỗ trợ phân tích nguyên nhân gốc rễ để tìm đặc điểm chung của các lô hàng trễ. Vì sao điều này quan trọng Cờ đúng/sai này giúp đơn giản hóa việc tính KPI Tỷ lệ giao hàng đúng hạn và dễ dàng lọc dữ liệu để phân tích đặc điểm của các đơn hàng trễ. Lấy dữ liệu ở đâu Được tính bằng cách so sánh EventStartTime của hoạt động 'Lô hàng rời kho' với thuộc tính RequestedCompletionDate. Ví dụ truefalsetrue | |||
| Loại lệnh kho WarehouseOrderType | Phân loại lệnh kho, chẳng hạn nhận hàng đến, gửi hàng đi hoặc chuyển hàng nội bộ. | ||
| Mô tả Thuộc tính này phân loại mục đích chung của lệnh kho. Các loại thường gặp gồm nhận hàng từ nhà cung cấp, gửi hàng cho khách, xử lý hàng trả lại hoặc chuyển hàng tồn kho giữa các vị trí trong kho. Phân đoạn quy trình theo loại lệnh kho là bước đầu tiên cơ bản trong mọi phân tích. Quy trình nhận hàng và gửi hàng thường khác nhau đáng kể về các bước, tài nguyên và mục tiêu hiệu suất. Thuộc tính này cho phép lọc dữ liệu để phân tích riêng một quy trình cụ thể, chẳng hạn như nhận hàng hoặc hoàn tất đơn hàng. Vì sao điều này quan trọng Thuộc tính này giúp tách riêng và so sánh các quy trình khác nhau, chẳng hạn nhận hàng và gửi hàng, vốn có luồng và mục tiêu riêng. Lấy dữ liệu ở đâu Có trong bảng tiêu đề lệnh kho, thường nằm ở trường loại chứng từ hoặc nhóm lệnh. Ví dụ Lệnh giao hàng đếnLô hàng gửi điChuyển hàng nội bộ | |||
| Mã kho WarehouseId | Mã định danh của kho hoặc trung tâm phân phối nơi hoạt động diễn ra. | ||
| Mô tả Mã kho xác định duy nhất cơ sở nơi quy trình diễn ra. Thuộc tính này rất cần thiết với các tổ chức vận hành nhiều trung tâm phân phối. Thuộc tính này cho phép so sánh và đối chiếu hiệu suất giữa các địa điểm. Bằng cách lọc hoặc chia dữ liệu theo mã kho, doanh nghiệp có thể so sánh hiệu suất, tìm cách làm hiệu quả tại các cơ sở hoạt động tốt nhất và hiểu vì sao một số cơ sở hoạt động kém hơn. Đây là chiều phân tích quan trọng khi theo dõi vận hành tại nhiều địa điểm. Vì sao điều này quan trọng Với tổ chức có nhiều địa điểm, thuộc tính này rất cần thiết để đối chiếu hiệu suất và so sánh quy trình giữa các cơ sở. Lấy dữ liệu ở đâu Đây thường là trường cấp cao nhất của tổ chức, có trong hầu hết các bảng giao dịch, hoặc có thể suy ra từ phiên bản hệ thống. Ví dụ WHC-01DC-EAST-03FAC-WEST | |||
| Mã lô hàng ShipmentId | Mã định danh duy nhất của lô hàng gửi đi mà lệnh kho thuộc về. | ||
| Mô tả Mã lô hàng là mã định danh ở cấp cao hơn, có thể nhóm nhiều lệnh kho nếu chúng được gửi đi cùng một xe tải hoặc thùng hàng. Với một lệnh riêng lẻ, mã này có thể trùng với mã lệnh kho hoặc mã giao hàng. Phân tích theo mã lô hàng giúp bạn theo dõi quy trình xuất hàng. Qua đó, bạn có thể hiểu cách gộp các đơn hàng, đo thời gian từ lúc tập kết đến khi xuất cả xe và phân tích hiệu quả của bộ phận giao hàng. Mã này kết nối hoạt động trong kho với chặng vận chuyển cuối cùng của chuỗi cung ứng. Vì sao điều này quan trọng Thuộc tính này nhóm các lệnh kho được gửi đi cùng nhau, giúp phân tích quy trình gộp lô hàng và xuất hàng. Lấy dữ liệu ở đâu Có trong các bảng liên quan đến lô hàng hoặc vận tải, được liên kết với lệnh kho. Ví dụ SHP-45000123SHP-45000124SHP-45000125 | |||
| Mã thiết bị EquipmentId | Mã định danh của thiết bị xử lý hàng hóa được sử dụng, chẳng hạn xe nâng hoặc băng chuyền cụ thể. | ||
| Mô tả Mã thiết bị cho biết máy móc hoặc thiết bị nào được dùng để thực hiện một tác vụ trong kho. Có thể là xe nâng, xe nâng tay, xe tự hành (AGV) hoặc trạm đóng gói cụ thể. Thuộc tính này cho phép phân tích mức độ sử dụng, hiệu suất và nhu cầu bảo trì thiết bị. Theo dõi hoạt động theo từng thiết bị giúp quản lý nhận biết tài sản nào được sử dụng quá nhiều hoặc chưa đủ, so sánh hiệu quả giữa các loại máy và lập lịch bảo trì dựa trên dữ liệu. Đây là chiều phân tích quan trọng của bảng điều khiển Mức sử dụng tài nguyên kho. Vì sao điều này quan trọng Thuộc tính này giúp phân tích mức độ sử dụng và hiệu suất thiết bị, từ đó tối ưu việc phân bổ tài sản và lịch bảo trì. Lấy dữ liệu ở đâu Có thể được ghi trong nhật ký thực hiện tác vụ, nhất là ở những nơi nhân viên đăng nhập vào thiết bị. Ví dụ FORKLIFT-07AGV-03PACKSTATION-12 | |||
| Sai lệch số lượng IsQuantityMismatch | Giá trị đúng/sai cho biết số lượng thực tế được xử lý có khác số lượng dự kiến của một tác vụ hay không. | ||
| Mô tả Thuộc tính được tính toán này là một cờ đơn giản, cho biết có chênh lệch số lượng trong một tác vụ như lấy hàng hoặc nhận hàng hay không. Cờ được đặt thành đúng khi 'Số lượng thực tế' không bằng 'Số lượng dự kiến'. Cờ này giúp dễ dàng xác định và đếm lỗi trong quy trình. Thuộc tính này đơn giản hóa việc tính các KPI như Tỷ lệ chênh lệch số lượng lấy hàng và Tỷ lệ chênh lệch số lượng hàng nhận. Thuộc tính cũng hỗ trợ phân tích nguyên nhân gốc rễ: chuyên viên phân tích có thể lọc tất cả sự kiện sai lệch và tìm xu hướng liên quan đến sản phẩm, nhân viên hoặc vị trí. Vì sao điều này quan trọng Thuộc tính này đánh dấu sự kiện có sai lệch số lượng, giúp tính tỷ lệ chênh lệch dễ hơn và phân tích tập trung các tác vụ thiếu chính xác. Lấy dữ liệu ở đâu Được tính bằng cách so sánh các trường PlannedQuantity và ActualQuantity cho từng hoạt động liên quan. Ví dụ falsetruefalse | |||
| SKU sản phẩm ProductSku | Mã SKU (Stock Keeping Unit) hoặc mã vật tư của mặt hàng được xử lý. | ||
| Mô tả Thuộc tính này xác định sản phẩm cụ thể liên quan đến một tác vụ trong kho. Thuộc tính cung cấp thông tin chi tiết về hàng hóa được di chuyển, lưu trữ, lấy và đóng gói. Phân tích quy trình theo SKU sản phẩm có thể cho thấy các xu hướng liên quan đến từng mặt hàng. Chẳng hạn, một số sản phẩm dễ bị lấy nhầm, mất nhiều thời gian đưa vào vị trí do yêu cầu xử lý đặc biệt hoặc được lưu ở vị trí chưa phù hợp. Nhờ đó, bạn có thể tối ưu quy trình cho từng sản phẩm và cải thiện chiến lược sắp xếp hàng. Vì sao điều này quan trọng Thuộc tính này cho phép phân tích đến từng sản phẩm, giúp tìm mặt hàng gây chậm trễ, lỗi quy trình hoặc cần được xử lý đặc biệt. Lấy dữ liệu ở đâu Thông tin này nằm ở cấp dòng hàng trong bảng lệnh kho hoặc bảng tác vụ. Ví dụ PN-A5540-BSKU-300-RED-LGHW-88201 | |||
| Trạng thái tác vụ TaskStatus | Trạng thái cuối của một tác vụ, chẳng hạn 'Hoàn tất', 'Đã hủy' hoặc 'Thất bại'. | ||
| Mô tả Thuộc tính này mô tả kết quả của một tác vụ cụ thể trong kho. Nhiều tác vụ hoàn tất thành công, nhưng một số có thể bị quản lý hủy hoặc thất bại do sự cố hệ thống hay vận hành. Thuộc tính này cung cấp thêm thông tin ngoài tên hoạt động. Phân tích theo trạng thái tác vụ giúp hiểu các trường hợp ngoại lệ và lỗi quy trình. Tỷ lệ tác vụ bị hủy hoặc thất bại cao có thể cho thấy vấn đề tiềm ẩn về độ chính xác của hàng tồn kho, cấu hình hệ thống hoặc đào tạo nhân viên. Thuộc tính này giúp xác định hoạt động nào dễ thất bại và cần được xem xét thêm. Vì sao điều này quan trọng Thuộc tính này cho biết kết quả của một hoạt động, giúp phân tích các trường hợp ngoại lệ như tác vụ bị hủy hoặc thất bại, vốn có thể báo hiệu vấn đề vận hành sâu hơn. Lấy dữ liệu ở đâu Thường có trong bảng tác vụ, cho biết trạng thái cuối của bản ghi tác vụ. Ví dụ Hoàn tấtĐã hủyTạm dừng | |||
Hoạt động quản lý kho hàng
| Hoạt động | Mô tả | ||
|---|---|---|---|
| Goods Put Away in Storage | Sự kiện này xác nhận hàng đã được chuyển đến và quét vào đúng ô lưu kho được chỉ định. Sự kiện được ghi lại khi nhân viên xác nhận hoàn tất nhiệm vụ đưa hàng vào kho, thường bằng thiết bị RF cầm tay. | ||
| Vì sao điều này quan trọng Đây là mốc kết thúc quy trình nhập hàng, khi hàng tồn kho đã sẵn sàng để xử lý đơn hàng. Phân tích thời gian từ lúc nhận hàng đến mốc này là yếu tố quan trọng của bảng điều khiển 'Goods Receipt to Putaway Cycle Time'. Lấy dữ liệu ở đâu Sự kiện được ghi dưới dạng giao dịch có dấu thời gian khi trạng thái nhiệm vụ đưa hàng vào kho được cập nhật thành 'Completed' hoặc 'Confirmed'. Dữ liệu này nằm trong bảng nhiệm vụ kho hoặc lệnh chuyển hàng. Thu thập Dấu thời gian xác nhận hoàn tất nhiệm vụ đưa hàng vào kho. Loại sự kiện explicit | |||
| Goods Received and Counted | Sự kiện này cho biết hàng đã được dỡ xuống, quét mã và kiểm tra số lượng theo chứng từ giao hàng. Thông thường, sự kiện được ghi lại khi nhân viên nhận hàng xác nhận số lượng nhận được của từng mặt hàng trong đơn hàng nhập trên hệ thống. | ||
| Vì sao điều này quan trọng Đây là mốc quan trọng, đánh dấu hàng tồn kho đã được ghi nhận chính thức trên hệ thống nhưng chưa sẵn sàng để xử lý đơn hàng. Thời lượng và độ chính xác của công đoạn này ảnh hưởng trực tiếp đến khả năng theo dõi tồn kho và thời điểm bắt đầu đưa hàng vào kho. Lấy dữ liệu ở đâu Đây là giao dịch cụ thể được ghi trong nhật ký tồn kho hoặc nhận hàng. Hãy tìm các giao dịch ghi nhận hàng đã nhận hoặc thay đổi trạng thái của từng dòng hàng trong chứng từ giao hàng nhập thành 'Received'. Thu thập Dấu thời gian của giao dịch xác nhận đã nhận hàng. Loại sự kiện explicit | |||
| Hoàn tất lệnh kho | Đây là trạng thái cuối cùng của lệnh kho, cho biết mọi hoạt động liên quan, bao gồm cả giao hàng, đã hoàn tất và lệnh đã đóng. Hệ thống ghi nhận khi trạng thái vòng đời của lệnh được cập nhật thành 'Hoàn tất' hoặc 'Đã đóng'. | ||
| Vì sao điều này quan trọng Hoạt động này đánh dấu điểm kết thúc chính thức của trường hợp quy trình. Nhờ đó, quá trình phân tích ghi nhận đầy đủ vòng đời của từng đơn hàng từ đầu đến cuối. Lấy dữ liệu ở đâu Có thể suy ra sự kiện này từ thay đổi trạng thái trong bảng tiêu đề lệnh kho. Hãy tìm trạng thái cuối như 'Hoàn tất', 'Đã đóng' hoặc 'Đã lập hóa đơn', cùng dấu thời gian thay đổi trạng thái. Thu thập Suy ra từ dấu thời gian của lần thay đổi trạng thái cuối trong tiêu đề lệnh. Loại sự kiện inferred | |||
| Lô hàng rời kho | Sự kiện này cho biết hàng đã đóng gói được chất lên xe của đơn vị vận chuyển và xe đã rời kho. Thông thường, hệ thống ghi nhận sự kiện khi hạch toán 'Xuất hàng', qua đó hoàn tất lô hàng. | ||
| Vì sao điều này quan trọng Đây là cột mốc quan trọng, đánh dấu thời điểm kho hết trách nhiệm với đơn hàng. Đây cũng là dữ liệu cuối cùng để đo lường tỷ lệ giao hàng đúng hạn và thời gian hoàn tất đơn hàng từ đầu đến cuối. Lấy dữ liệu ở đâu Đây là giao dịch quan trọng về tài chính và hậu cần, thường được gọi là 'Hạch toán xuất hàng' (PGI). Dấu thời gian của giao dịch này là thời điểm xuất hàng và thường được lưu trong bảng chứng từ giao hàng đi hoặc lô hàng. Thu thập Dấu thời gian của giao dịch Hạch toán xuất hàng (PGI). Loại sự kiện explicit | |||
| Picking Task Created | Sự kiện này ghi nhận thời điểm tạo nhiệm vụ để nhân viên lấy hàng từ vị trí lưu kho nhằm xử lý đơn hàng xuất. WMS tạo sự kiện cụ thể này khi đơn hàng xuất được chuyển sang khâu lấy hàng. | ||
| Vì sao điều này quan trọng Đây là thời điểm bắt đầu quy trình xuất hàng thực tế. Phân tích khoảng thời gian từ lúc tạo đơn hàng đến lúc tạo nhiệm vụ lấy hàng giúp phát hiện chậm trễ trong khâu xử lý và phân bổ đơn. Lấy dữ liệu ở đâu Sự kiện được ghi trong bảng quản lý nhiệm vụ hoặc kiểm soát kho. Đây là dấu thời gian tạo nhiệm vụ lấy hàng gắn với đơn hàng kho. Thu thập Dấu thời gian tạo nhiệm vụ lấy hàng do hệ thống tạo. Loại sự kiện explicit | |||
| Warehouse Order Created | Sự kiện này ghi nhận thời điểm tạo đơn hàng kho, tài liệu chính dùng để quản lý các công việc nhập, xuất hoặc luân chuyển nội bộ trong kho. Sự kiện thường được ghi lại qua một giao dịch cụ thể khi đơn hàng mới được nhập vào Blue Yonder WMS, thủ công hoặc qua tích hợp. | ||
| Vì sao điều này quan trọng Đây là thời điểm bắt đầu chính thức của quy trình. Phân tích khoảng thời gian từ sự kiện này đến khi hoàn tất sẽ cho biết tổng thời gian xử lý đơn hàng, một chỉ số cần thiết để đo hiệu quả chung và mức độ đáp ứng cam kết dịch vụ. Lấy dữ liệu ở đâu Sự kiện này có thể được ghi trong bảng tiêu đề đơn hàng, dựa trên dấu thời gian tạo bản ghi đơn hàng kho. Hãy tìm các bảng liên quan đến Thu thập Dấu thời gian tạo bản ghi đơn hàng kho. Loại sự kiện explicit | |||
| Đóng gói hàng hóa | Sự kiện này xác nhận tất cả mặt hàng trong lô hàng đã được đóng vào thùng vận chuyển và nhãn đã được tạo. Hệ thống ghi nhận sự kiện khi nhân viên đóng gói xác nhận hoàn tất đóng gói đơn hàng. | ||
| Vì sao điều này quan trọng Đây là thời điểm hoàn tất các hoạt động tạo giá trị trong kho. Khoảng thời gian từ đây đến lúc xe khởi hành là thời gian tập kết và chất hàng, một khâu dễ phát sinh chậm trễ. Lấy dữ liệu ở đâu Đây là giao dịch được ghi nhận rõ khi hoàn tất đóng gói. Hãy tìm trạng thái của lệnh giao hàng đi chuyển thành 'Đã đóng gói' hoặc dấu thời gian hoàn tất của giao dịch tại trạm đóng gói. Thu thập Dấu thời gian của giao dịch 'Xác nhận đóng gói' hoặc 'Đóng thùng'. Loại sự kiện explicit | |||
| Goods Arrived at Dock | Hoạt động này ghi nhận thời điểm xe tải hoặc đơn vị vận chuyển đến cửa nhận hàng của kho, trước khi bắt đầu dỡ hàng. Sự kiện thường được ghi rõ trong mô-đun quản lý bãi xe hoặc khi nhân viên cổng kiểm tra và xác nhận xe giao hàng. | ||
| Vì sao điều này quan trọng Theo dõi thời điểm xe đến giúp đo hiệu suất giao hàng đúng hạn của đơn vị vận chuyển và phát hiện chậm trễ giữa lúc xe đến với lúc bắt đầu nhận hàng. Qua đó, bạn có thể nhận ra điểm nghẽn tiềm ẩn trong khâu quản lý bãi xe hoặc tại cửa nhận hàng. Lấy dữ liệu ở đâu Sự kiện thường được ghi trong mô-đun quản lý bãi xe hoặc kiểm soát cổng của Blue Yonder WMS. Nhân viên nhận hàng cũng có thể nhập dấu thời gian thủ công khi xe tải đến. Thu thập Dấu thời gian của giao dịch xác nhận xe đến. Loại sự kiện explicit | |||
| Goods Picked from Storage | Sự kiện này ghi nhận việc hoàn tất nhiệm vụ lấy hàng, khi nhân viên đã lấy các mặt hàng và xác nhận thao tác trên hệ thống. Sự kiện được ghi lại khi nhân viên quét mặt hàng và xác nhận đã lấy trên thiết bị. | ||
| Vì sao điều này quan trọng Mốc này kết thúc công đoạn lấy hàng. Độ chính xác và thời lượng của hoạt động ảnh hưởng trực tiếp đến hiệu quả xử lý đơn hàng nói chung, đồng thời là cơ sở cho phân tích 'Picking Accuracy'. Lấy dữ liệu ở đâu Lấy dấu thời gian xác nhận khi trạng thái nhiệm vụ lấy hàng được đổi thành 'Completed'. Dữ liệu này nằm trong bảng nhiệm vụ kho, thường được liên kết với nhân viên và thiết bị cụ thể. Thu thập Dấu thời gian xác nhận hoàn tất nhiệm vụ lấy hàng trong kho. Loại sự kiện explicit | |||
| Hủy lệnh kho | Sự kiện này ghi nhận lệnh kho bị hủy trước khi xử lý xong hoặc giao hàng. Hệ thống ghi nhận khi người dùng thực hiện giao dịch hủy và cập nhật trạng thái lệnh thành 'Đã hủy'. | ||
| Vì sao điều này quan trọng Phân tích các trường hợp hủy giúp tìm nguyên nhân quy trình không hoàn tất, chẳng hạn hết hàng hoặc khách hàng thay đổi yêu cầu. Đây là sự kiện kết thúc quan trọng để hiểu các trường hợp đi lệch quy trình và bị dừng giữa chừng. Lấy dữ liệu ở đâu Thông thường, sự kiện này được suy ra từ trạng thái cuối của lệnh kho. Dấu thời gian được lấy từ lúc trạng thái chuyển thành 'Đã hủy' hoặc 'Đã xóa'. Thu thập Suy ra từ dấu thời gian khi trạng thái chuyển thành 'Đã hủy'. Loại sự kiện inferred | |||
| Inbound Delivery Notified | Ghi nhận việc nhận Thông báo giao hàng trước (ASN) từ nhà cung cấp, cho biết hàng hóa đang trên đường đến kho. Đây là sự kiện cụ thể được ghi lại khi hệ thống nhận và xử lý ASN, thường qua EDI hoặc cổng thông tin. | ||
| Vì sao điều này quan trọng Hoạt động này kích hoạt việc lập kế hoạch nhận hàng và phân bổ tài nguyên. Thời gian từ lúc nhận thông báo đến khi hàng được nhận thực tế là KPI quan trọng để đo hiệu suất nhà cung cấp và khả năng theo dõi hàng đang trên đường. Lấy dữ liệu ở đâu Lấy dữ liệu từ nhật ký nhận ASN hoặc dấu thời gian tạo chứng từ giao hàng nhập trong Blue Yonder WMS. Hãy kiểm tra các bảng liên quan đến ASN hoặc thông báo lô hàng nhập. Thu thập Dấu thời gian từ ASN hoặc thời điểm tạo chứng từ giao hàng nhập. Loại sự kiện explicit | |||
| Packing Initiated | Hoạt động này ghi nhận thời điểm bắt đầu đóng gói tại trạm đóng gói. Thông thường, sự kiện được ghi lại khi nhân viên quét các mặt hàng đã lấy hoặc thùng hàng của đơn tại trạm để bắt đầu chuẩn bị lô hàng. | ||
| Vì sao điều này quan trọng Sự kiện này đánh dấu thời điểm bàn giao từ khâu lấy hàng sang đóng gói. Nhờ đó, bạn có thể tách riêng công đoạn đóng gói trong quy trình hoàn tất đơn hàng để xác định điểm nghẽn cụ thể tại khu vực này. Lấy dữ liệu ở đâu Đây có thể là nhật ký giao dịch được ghi rõ từ giao diện của trạm đóng gói. Hoặc có thể suy ra thời điểm này từ hoạt động đầu tiên có dấu thời gian gắn với khu vực đóng gói của đơn hàng. Thu thập Dấu thời gian của giao dịch 'Bắt đầu đóng gói' tại trạm đóng gói. Loại sự kiện explicit | |||
| Putaway Task Created | Hoạt động này ghi nhận thời điểm hệ thống tạo nhiệm vụ chuyển hàng đã nhận từ cửa nhận hàng đến vị trí lưu kho cuối cùng. Đây là sự kiện cụ thể do logic của WMS tạo ra để hướng dẫn nhân viên kho. | ||
| Vì sao điều này quan trọng Đây là thời điểm bắt đầu quy trình đưa hàng vào kho. Chậm trễ giữa lúc nhận hàng và lúc tạo nhiệm vụ có thể cho thấy vấn đề về cấu hình hoặc hiệu suất hệ thống, khiến hàng phải nằm lại ở khu vực nhận hàng. Lấy dữ liệu ở đâu Sự kiện được tạo và ghi trong bảng quản lý nhiệm vụ hoặc kiểm soát kho. Hãy tìm dấu thời gian tạo nhiệm vụ đưa hàng vào kho hoặc lệnh chuyển hàng liên kết với chứng từ giao hàng nhập. Thu thập Dấu thời gian tạo nhiệm vụ đưa hàng vào kho do hệ thống tạo. Loại sự kiện explicit | |||
| Quality Inspection Performed | Ghi nhận việc kiểm tra chất lượng hàng đã nhận. Đây có thể là bước tiêu chuẩn với một số loại vật liệu hoặc được kích hoạt khi có ngoại lệ. Sự kiện được ghi lại khi nhân viên kiểm tra chất lượng nhập kết quả vào hệ thống. | ||
| Vì sao điều này quan trọng Kiểm tra chất lượng có thể làm chậm đáng kể quy trình nhập hàng. Phân tích tần suất và thời lượng kiểm tra giúp phát hiện vấn đề chất lượng từ nhà cung cấp và điểm nghẽn trong quy trình kiểm tra. Lấy dữ liệu ở đâu Sự kiện được ghi trong mô-đun Quản lý chất lượng (QM) hoặc nhật ký liên quan đến chứng từ giao hàng nhập. Hãy tìm mã giao dịch cụ thể ghi nhận kết quả kiểm tra chất lượng hoặc thay đổi trạng thái tồn kho thành 'Quality Hold'. Thu thập Dấu thời gian hoàn tất kiểm tra chất lượng hoặc cập nhật trạng thái. Loại sự kiện explicit | |||
| Tập kết hàng chờ giao | Sự kiện này ghi nhận việc chuyển các thùng hàng đã đóng gói từ khu vực đóng gói đến làn tập kết được chỉ định để chờ đơn vị vận chuyển đến nhận. Hệ thống ghi nhận sự kiện khi nhân viên xác nhận đã chuyển đơn vị hàng hóa đến khu vực tập kết. | ||
| Vì sao điều này quan trọng Hoạt động này giúp phân tích thời gian lưu chờ, tức khoảng thời gian đơn hàng đã đóng gói chờ được chất lên xe. Thời gian tập kết kéo dài có thể cho thấy việc phối hợp với đơn vị vận chuyển chưa tốt hoặc chưa sử dụng hiệu quả khu vực tập kết. Lấy dữ liệu ở đâu Có thể suy ra sự kiện này từ thay đổi vị trí của đơn vị hàng hóa hoặc thùng vận chuyển sang khu vực tập kết. Sự kiện cũng có thể được ghi nhận rõ khi xác nhận tác vụ 'Chuyển đến khu vực tập kết'. Thu thập Suy ra từ nhật ký di chuyển hàng tồn kho, cho thấy hàng được chuyển đến ô tập kết. Loại sự kiện inferred | |||
Hướng dẫn trích xuất
Các bước
- Điều kiện tiên quyết và quyền truy cập: Đảm bảo bạn có tài khoản người dùng Blue Yonder WMS với quyền cần thiết để chạy lệnh MOCA và truy cập các bảng như ord_hdr, pckwrk_dtl và invmov. Bạn cần có quyền truy cập MOCA client, chẳng hạn MOCA Console hoặc giao diện dòng lệnh.
- Xem lại và tùy chỉnh tập lệnh MOCA: Sao chép tập lệnh MOCA được cung cấp. Kiểm tra kỹ tên bảng và cột để đảm bảo phù hợp với cấu hình Blue Yonder WMS của bạn. Chú ý các phần giữ chỗ như
@[where_clause_dates]và@[where_clause_warehouse], cần thay bằng giá trị thực tế. - Xác định tham số trích xuất: Thay các biến giữ chỗ trong tập lệnh. Với
@[where_clause_dates], hãy xác định khoảng ngày cụ thể, ví dụwhere adddte between 'YYYY-MM-DD' and 'YYYY-MM-DD'. Với@[where_clause_warehouse], hãy chỉ định mã kho cần trích xuất, ví dụwhere wh_id = '[Your Warehouse ID]'. - Kết nối với máy chủ MOCA: Mở MOCA client, chẳng hạn MOCA Console, rồi kết nối với đúng môi trường Blue Yonder WMS.
- Chạy tập lệnh MOCA: Dán tập lệnh đã tùy chỉnh vào MOCA Console và chạy lệnh. Tập lệnh sẽ chạy trên máy chủ và thu thập dữ liệu cho tất cả hoạt động được chỉ định.
- Theo dõi quá trình chạy: Truy vấn có thể mất nhiều thời gian với tập dữ liệu lớn. Theo dõi thông báo lỗi hoặc cảnh báo hiệu suất trong bảng điều khiển. Nếu truy vấn hết thời gian chờ, hãy thử chạy với khoảng ngày ngắn hơn.
- Xuất kết quả ra tệp: Khi tập lệnh chạy thành công, kết quả sẽ hiển thị trong bảng điều khiển. Dùng chức năng xuất của client để lưu kết quả thành tệp CSV. Một cách thường dùng trên dòng lệnh là chuyển đầu ra trực tiếp vào tệp, ví dụ:
mocarun -S "[Your MOCA Script]" > event_log.csv. - Định dạng CSV cho ProcessMind: Mở tệp CSV đã xuất. Kiểm tra tiêu đề cột có khớp với các thuộc tính trong truy vấn hay không (
WarehouseOrder,ActivityName,EventStartTime, v.v.). Lưu tệp ở định dạng UTF-8 để tránh lỗi ký tự khi tải lên. - Kiểm tra và tải lên: Kiểm tra lần cuối nội dung tệp để tìm lỗi hoặc điểm không nhất quán. Khi đã sẵn sàng, tải tệp CSV lên ProcessMind để phân tích.
Cấu hình
- Khoảng ngày: Nên trích xuất dữ liệu trong 3 đến 6 tháng để có mẫu đại diện cho các biến thể của quy trình. Áp dụng phần giữ chỗ bộ lọc ngày
@[where_clause_dates]cho cột dấu thời gian chính trong từng câu lệnh SELECT, chẳng hạnadddtehoặcmoddte. - Bộ lọc kho và khách hàng: Luôn dùng bộ lọc để giới hạn phạm vi trích xuất. Dùng phần giữ chỗ
@[where_clause_warehouse]để lọc theo mã kho cụ thể (wh_id) và, nếu phù hợp, mã khách hàng (client_id). Việc này rất quan trọng để đảm bảo hiệu suất và dữ liệu phù hợp. - Bộ lọc loại đơn hàng: Để tập trung phân tích, hãy cân nhắc lọc theo loại đơn hàng kho cụ thể (
ordtyp). Ví dụ, bạn có thể chỉ phân tích đơn hàng giao cho khách hoặc đơn đặt hàng nhập kho. Có thể thêm điều kiện này vào mệnh đề WHERE ở phần tương ứng của tập lệnh. - Lưu ý về hiệu suất: Tập lệnh trích xuất kết hợp và hợp nhất nhiều bảng lớn. Để tránh ảnh hưởng đến hiệu suất hệ thống, hãy lên lịch trích xuất vào giờ thấp điểm. Với môi trường rất lớn, nên trích xuất theo từng đợt nhỏ, chẳng hạn mỗi lần một tháng.
- Điều kiện tiên quyết: Người chạy tập lệnh phải có quyền đọc tất cả bảng được tham chiếu trong truy vấn, bao gồm
ord_hdr,ord_dtl,invmov,pckwrk_dtl,asnhdrvàtrn_log. Người đó cũng cần được phép chạy lệnh MOCA.
Truy vấn mẫu 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]'
] Các bước
- Kết nối cơ sở dữ liệu: Lấy thông tin kết nối và thông tin đăng nhập chỉ đọc (địa chỉ máy chủ, tên cơ sở dữ liệu, cổng) cho cơ sở dữ liệu nền của Blue Yonder WMS, thường là Oracle hoặc SQL Server. Dùng SQL client phổ biến như DBeaver, Oracle SQL Developer hoặc SQL Server Management Studio để kết nối.
- Xác định các bảng WMS chính: Truy vấn được cung cấp sử dụng các bảng Blue Yonder WMS tiêu chuẩn như
ord(đơn hàng),pckwrk(công việc lấy hàng),wrkque(hàng đợi công việc),invmov(di chuyển tồn kho) vàlodhdr(tiêu đề lô hàng). Đối chiếu tên bảng và cấu trúc cột với từ điển dữ liệu của hệ thống, vì có thể đã tùy chỉnh. - Xem lại và thiết lập tham số cho truy vấn SQL: Sao chép tập lệnh SQL được cung cấp vào SQL client. Tìm các biến giữ chỗ trong Common Table Expression (CTE)
BaseOrdersở đầu tập lệnh. - Đặt khoảng ngày: Sửa các mệnh đề
adddte >= 'YYYY-MM-DD'vàadddte < 'YYYY-MM-DD'để xác định khoảng thời gian trích xuất dữ liệu. Nên dùng khoảng 3 đến 6 tháng cho lần phân tích đầu tiên. - Áp dụng bộ lọc riêng cho hệ thống: Điều chỉnh bộ lọc
wh_id = '[Your_Warehouse_ID]'để giới hạn dữ liệu ở một kho cụ thể. Khi cần, hãy thêm hoặc sửa các bộ lọc khác, chẳng hạnclient_idtrong môi trường có nhiều khách hàng. - Chạy tập lệnh trích xuất: Chạy toàn bộ tập lệnh SQL. Truy vấn sẽ tổng hợp sự kiện từ nhiều bảng thành một nhật ký sự kiện thống nhất. Thời gian chạy tùy thuộc vào khoảng ngày và khối lượng dữ liệu.
- Kiểm tra kết quả ban đầu: Sau khi truy vấn hoàn tất, kiểm tra nhanh kết quả. Đảm bảo các cột
WarehouseOrder,ActivityNamevàEventStartTimecó dữ liệu như mong đợi. Số hàng thường lớn hơn đáng kể số đơn hàng kho duy nhất. - Xuất nhật ký sự kiện: Xuất kết quả truy vấn thành tệp CSV. Đặt mã hóa tệp là UTF-8 để tránh lỗi ký tự khi tải lên.
- Chuẩn bị tải lên: Xác nhận tiêu đề cột trong tệp CSV đã xuất khớp với các thuộc tính bắt buộc, chẳng hạn
WarehouseOrder,ActivityName,EventStartTime. Sau đó, bạn có thể tải tệp lên phần mềm process mining.
Cấu hình
- Điều kiện tiên quyết: Bạn cần có quyền SQL chỉ đọc vào cơ sở dữ liệu Blue Yonder WMS. Việc nắm rõ cấu hình WMS và mô hình dữ liệu riêng của tổ chức sẽ rất hữu ích.
- Kết nối cơ sở dữ liệu: Phương pháp này cần kết nối trực tiếp với cơ sở dữ liệu. Trước khi bắt đầu, hãy đảm bảo đã thiết lập các quy tắc tường lửa và quyền truy cập mạng cần thiết.
- Lọc theo khoảng ngày: Cần đặt khoảng ngày cụ thể trong mệnh đề
WHEREcủa truy vấn để kiểm soát khối lượng dữ liệu. Thông thường, khoảng 3 đến 6 tháng là đủ để phân tích có ý nghĩa mà không gây tải quá lớn cho cơ sở dữ liệu. - Lọc theo kho và khách hàng: Trong môi trường có nhiều kho hoặc khách hàng, luôn lọc theo
wh_id(mã kho) vàclient_id(mã khách hàng) cụ thể để tập trung phân tích và giữ tập dữ liệu ở quy mô phù hợp. - Lưu ý về hiệu suất: Chạy truy vấn này trên cơ sở dữ liệu sản xuất đang hoạt động có thể ảnh hưởng đến hiệu suất hệ thống. Bạn nên chạy vào giờ thấp điểm hoặc, tốt hơn, trên cơ sở dữ liệu báo cáo chuyên dụng hay bản sao nếu có.
- Tùy chỉnh hệ thống: Truy vấn được cung cấp dùng tên bảng và cột tiêu chuẩn. Hãy chuẩn bị điều chỉnh các tên này theo tùy chỉnh hoặc khác biệt phiên bản trong hệ thống Blue Yonder WMS của bạn. Tham khảo quản trị viên WMS nội bộ hoặc từ điển dữ liệu để được hướng dẫn.
Truy vấn mẫu 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 Sẵn sàng bắt đầu?
Dùng mẫu này để bắt đầu hành trình process mining và cải thiện hiệu quả vận hành kho. Hãy bắt đầu tối ưu luồng hàng hóa ngay hôm nay.
Tối ưu hiệu quả Blue Yonder WMS ngay hôm nay
Xác định điểm nghẽn, giảm lỗi lấy hàng và đạt độ chính xác tồn kho 99,5%.
Không cần thẻ tín dụng. Dùng thử miễn phí trong 14 ngày.