창고 관리 데이터 템플릿
창고 관리 데이터 템플릿
- 분석에 필요한 권장 속성
- 자재 흐름 전반에서 추적할 주요 활동
- Blue Yonder WMS에서 데이터를 추출하는 실무 지침
창고 관리 속성
| 이름 | 설명 | ||
|---|---|---|---|
| 이벤트 시작 시각 EventStartTime | 특정 창고 활동이나 이벤트가 시작된 시각을 나타내는 타임스탬프입니다. | ||
| 설명 이 속성은 창고 작업이나 이벤트가 시작된 날짜와 시각을 기록합니다. 케이스 내 모든 활동의 시간 순서를 파악하는 데 사용됩니다. 시간 기반 process mining 분석에 필요한 속성입니다. 이벤트 순서를 정하고 활동 간 처리 시간을 계산하며, 전체 프로세스 소요 시간과 대기 시간 또는 지연을 파악하는 데 사용됩니다. 성과 분석의 기반이 되며 프로세스 맵을 애니메이션으로 표시할 때도 필요합니다. 중요한 이유 이벤트를 시간순으로 정렬하고 처리 시간과 대기 시간 등 성과 지표를 계산하려면 시작 타임스탬프가 필요합니다. 확보 방법 이벤트 로그 또는 작업 테이블에서 확인할 수 있으며, 기록된 작업의 생성 시각이나 시작 시각에 해당합니다. 예시 2023-10-26T08:30:00Z2023-10-26T09:15:10Z2023-10-26T11:05:45Z | |||
| 창고 주문 WarehouseOrder | 창고 주문을 식별하는 고유 ID입니다. 주문 생성부터 완료까지 관련된 모든 물류 활동을 추적하는 기본 케이스로 사용됩니다. | ||
| 설명 창고 주문은 입고 또는 출고 배송과 같은 특정 물류 요청에 관련된 모든 이벤트와 작업을 묶는 중심 식별자입니다. 창고에서 처리하는 하나의 전체 작업 단위를 나타냅니다. process mining에서는 이 속성으로 케이스를 정의해 주문의 전체 수명 주기를 처음부터 끝까지 분석합니다. 단일 창고 주문에 연결된 모든 활동을 추적하면 전체 이행 시간과 자주 발생하는 프로세스 변형을 측정하고, 주문이 시설 내에서 거치는 전 과정을 파악할 수 있습니다. 중요한 이유 관련된 모든 창고 활동을 연결하는 필수 케이스 식별자입니다. 이를 통해 주문 이행 또는 상품 입고 프로세스를 처음부터 끝까지 분석할 수 있습니다. 확보 방법 일반적으로 창고 주문 헤더 테이블의 기본 키입니다. 주문 관리 관련 테이블은 Blue Yonder WMS 문서를 참조하세요. 예시 WO-0012845WO-0012991WO-0013057 | |||
| 활동 이름 ActivityName | '상품 피킹' 또는 '배송 출고'와 같이 발생한 특정 창고 작업이나 이벤트의 이름입니다. | ||
| 설명 이 속성은 창고 관리 프로세스에서 수행한 구체적인 단계나 작업을 설명합니다. 프로세스 로그의 각 이벤트에는 활동 이름이 연결되어 있으며, 이 이름들이 모여 프로세스 흐름을 구성합니다. 분석에서는 활동 이름을 바탕으로 프로세스 맵을 발견하고, 단계 간 전환을 분석하며, 병목이나 표준 절차에서 벗어난 부분을 파악합니다. 적합성 검사부터 성과 모니터링까지 거의 모든 process mining 분석에 사용됩니다. 중요한 이유 프로세스 맵을 구성하는 개별 단계를 정의하고 프로세스 흐름을 시각화·분석하는 데 필요한 속성입니다. 확보 방법 일반적으로 창고 작업 또는 이벤트 로그 테이블에서 확인할 수 있으며, 작업 유형이나 상태 코드에서 가져오는 경우가 많습니다. 예시 피킹 작업 생성보관 위치에서 상품 피킹배송 출고 | |||
| 마지막 데이터 업데이트 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 | |||
| 계획 수량 PlannedQuantity | 피킹하거나 입고할 수량 등 특정 작업에서 처리할 것으로 예상되는 품목 수량입니다. | ||
| 설명 계획 수량은 창고 주문에서 특정 작업의 목표 수량으로 지정한 값입니다. 입고 배송에서는 공급업체로부터 받을 것으로 예상되는 수량이며, 피킹 작업에서는 고객 주문에서 요청한 수량입니다. 이 속성은 정확도 분석에 필요합니다. 계획 수량과 실제 수량을 비교하면 입고, 피킹 또는 재고 실사에서 발생한 차이를 파악할 수 있습니다. 피킹 수량 불일치율과 같은 KPI를 산출하는 데 사용되며, 수량 정확도 감사 대시보드에도 필요합니다. 중요한 이유 정확도를 측정하는 기준으로, 입고 및 피킹 작업에서 수량 차이를 파악할 수 있습니다. 확보 방법 창고 주문 또는 특정 작업과 연결된 상세 테이블이나 품목 테이블에서 확인할 수 있습니다. 예시 1005024 | |||
| 보관 위치 StorageLocation | 상품을 보관하거나 피킹하는 창고 내의 구체적인 위치입니다. 보관 칸이나 통로 등이 이에 해당합니다. | ||
| 설명 이 속성은 작업과 관련된 창고 내 실제 위치를 식별합니다. 적치 작업에서는 목적지 보관 위치이고, 피킹 작업에서는 출발지 보관 위치입니다. 통로, 랙, 선반, 보관 칸 번호를 조합한 코드로 표시할 수 있습니다. 보관 위치별로 데이터를 분석하면 창고 배치의 효율성, 로케이션 배정 전략, 리소스 이동을 파악할 수 있습니다. 이동이 잦은 구역과 활용도가 낮은 구역, 자재 흐름의 병목을 찾는 데 사용됩니다. 보관 위치 활용 추이 대시보드의 주요 분석 기준입니다. 중요한 이유 창고 배치와 로케이션 배정 전략의 효과를 분석하고 이동 과정의 병목을 찾는 데 필요한 정보를 제공합니다. 확보 방법 재고, 창고 작업(피킹, 적치), 보관 위치 마스터 데이터 관련 테이블에서 확인할 수 있습니다. 예시 A1-R03-S02-B01B5-R10-S04-B05C2-R01-S01-B02 | |||
| 사용자/작업자 ID UserOperatorId | 활동을 수행한 창고 직원 또는 작업자의 식별자입니다. | ||
| 설명 이 속성은 피킹, 포장, 적치 등의 창고 작업을 수행한 담당자의 고유 ID를 기록합니다. 프로세스 활동과 인적 리소스를 연결합니다. 사용자/작업자 ID별로 활동을 분석하면 리소스 활용도, 업무량 분배, 개인별 성과를 파악할 수 있습니다. 작업자별 효율성, 추가 교육이 필요한 담당자, 팀 내 작업 배분을 확인하는 데 도움이 됩니다. 창고 리소스 활용도 대시보드의 주요 분석 기준입니다. 중요한 이유 프로세스 단계와 작업자를 연결해 리소스 성과와 업무량, 교육 필요성을 분석할 수 있습니다. 확보 방법 일반적으로 작업 또는 트랜잭션 테이블에서 확인할 수 있으며, 작업 중 시스템이나 휴대용 기기에 로그인한 사용자와 연결됩니다. 예시 JSMITHBWILLISAMILLER | |||
| 실제 수량 ActualQuantity | 실제로 수량을 세거나 피킹하는 등 작업 중 처리한 품목 수량입니다. | ||
| 설명 실제 수량은 창고 작업자가 작업 중 실제로 처리한 단위 수입니다. 공급업체에서 입고한 품목 수, 보관 위치에서 피킹한 단위 수, 배송 컨테이너에 포장한 수량 등이 이에 해당합니다. 계획 수량과 비교하면 프로세스 예외와 오류를 파악할 수 있습니다. 운영 품질을 나타내는 주요 지표인 수량 불일치율을 계산하는 데 사용됩니다. 공급업체 배송 문제, 피킹 오류 또는 재고 부정확성을 찾는 데도 필요한 데이터입니다. 중요한 이유 계획 수량과 비교하면 프로세스 오류를 파악하고 불일치율과 같은 주요 품질 KPI를 계산할 수 있습니다. 확보 방법 작업자가 실제 처리 수량을 기록하는 작업 확인 또는 트랜잭션 로그 테이블에서 확인할 수 있습니다. 예시 1004924 | |||
| 요청 완료 일시 RequestedCompletionDate | 창고 주문을 완료하고 출고하기로 예정했거나 요청한 날짜와 시각입니다. | ||
| 설명 요청 완료 일시는 출고 창고 주문의 서비스 수준 협약(SLA) 또는 이행 목표를 나타냅니다. 상품을 피킹하고 포장해 배송 준비를 마쳐야 하는 기한입니다. 실제 성과를 측정할 때 기준으로 삼으며, 이 일시와 실제 출고 타임스탬프를 비교해 정시 배송률 KPI를 계산합니다. 이 속성으로 주문을 분석하면 지연 위험이 있는 주문을 찾고 SLA 미준수의 원인을 파악할 수 있습니다. 중요한 이유 정시 배송 성과를 측정하는 기준이며 정시 배송률 KPI를 계산하는 데 필요합니다. 확보 방법 일반적으로 창고 주문 헤더 테이블에 저장되며, 원본 판매 주문이나 배송 요청에서 가져오는 경우가 많습니다. 예시 2023-10-27T17:00:00Z2023-10-28T12:00:00Z2023-11-01T17:00:00Z | |||
| 우선순위 PriorityLevel | '높음', '일반', '낮음' 등 창고 주문의 우선순위입니다. | ||
| 설명 우선순위는 창고 주문의 긴급도를 나타냅니다. 긴급 배송과 같은 고우선순위 주문은 일반 주문보다 빠르게 처리해야 합니다. WMS는 이 속성을 사용해 작업 순서를 정하고 리소스를 배정합니다. process mining에서는 우선순위 전략이 효과적인지 분석하는 데 사용됩니다. 고우선순위 주문 이행 대시보드는 이 필드로 긴급 주문을 필터링하고 일반 주문과 처리 시간을 비교합니다. 고우선순위 주문이 실제로 더 빠르게 처리되는지, 아니면 같은 병목에 걸리는지 확인할 수 있습니다. 중요한 이유 고우선순위 주문이 일반 주문보다 빠르게 처리되는지 분석해 우선순위 규칙의 효과를 확인할 수 있습니다. 확보 방법 일반적으로 창고 주문 헤더 테이블에 저장됩니다. 예시 높음일반낮음 | |||
| 이벤트 종료 시각 EventEndTime | 특정 창고 활동이나 이벤트가 완료된 시각을 나타내는 타임스탬프입니다. | ||
| 설명 이 속성은 창고 작업이나 이벤트가 완료된 날짜와 시각을 기록합니다. 데이터가 있으면 각 활동의 처리 시간을 정확하게 측정할 수 있습니다. 시작 시각과 종료 시각을 모두 사용하면 성과를 더 세밀하게 분석할 수 있습니다. 활동 사이의 대기 시간과 활동 자체의 처리 시간을 구분할 수 있어, 지연이 유휴 시간 때문에 발생하는지 작업 완료에 시간이 오래 걸려 발생하는지 파악하는 데 도움이 됩니다. 중요한 이유 활동의 처리 시간을 정확히 계산하고 대기 시간과 구분할 수 있어, 성과를 개선할 지점을 구체적으로 찾는 데 도움이 됩니다. 확보 방법 이벤트 로그 또는 작업 테이블에서 확인할 수 있으며, 기록된 작업의 완료 시각이나 종료 시각에 해당합니다. 예시 2023-10-26T08:35:12Z2023-10-26T09:20:05Z2023-10-26T11:06:00Z | |||
| 배송 ID ShipmentId | 창고 주문이 속한 출고 배송을 식별하는 고유 ID입니다. | ||
| 설명 배송 ID는 여러 창고 주문을 하나의 트럭이나 컨테이너로 함께 출고하는 경우 이를 묶는 상위 식별자입니다. 단일 주문에서는 창고 주문 번호나 배송 번호와 같을 수 있습니다. 배송 ID별 분석을 통해 출고 프로세스를 파악할 수 있습니다. 주문 통합 방식을 이해하고, 트럭을 가득 채워 출고할 때 출고 대기부터 최종 출고까지 걸리는 시간을 측정하며, 배송 부서의 효율성을 분석하는 데 도움이 됩니다. 창고 활동과 공급망의 최종 운송 단계를 연결합니다. 중요한 이유 함께 출고되는 창고 주문을 묶어 배송 통합 및 출고 프로세스를 분석할 수 있습니다. 확보 방법 배송 또는 운송 관련 테이블에서 확인할 수 있으며, 창고 주문과 연결됩니다. 예시 SHP-45000123SHP-45000124SHP-45000125 | |||
| 수량 불일치 여부 IsQuantityMismatch | 작업 중 실제 처리한 수량이 계획 수량과 다른지 나타내는 불리언 플래그입니다. | ||
| 설명 이 계산 속성은 피킹이나 입고 작업에서 수량 차이가 발생했는지 표시합니다. '실제 수량'이 '계획 수량'과 다르면 참으로 설정됩니다. 이 플래그를 사용하면 프로세스 내 오류를 쉽게 찾아 집계할 수 있습니다. 피킹 수량 불일치율과 입고 수량 불일치율 같은 KPI를 간편하게 계산할 수 있습니다. 또한 분석가가 불일치 이벤트를 모두 필터링해 제품, 작업자 또는 위치와 관련된 패턴을 찾을 수 있어 원인 분석에도 도움이 됩니다. 중요한 이유 수량 오류가 있는 이벤트를 표시해 불일치율을 쉽게 계산하고, 수량이 부정확한 작업을 집중적으로 분석할 수 있습니다. 확보 방법 관련 활동별 PlannedQuantity와 ActualQuantity 필드를 비교해 계산합니다. 예시 falsetruefalse | |||
| 작업 상태 TaskStatus | '완료', '취소됨', '실패' 등 특정 작업의 최종 상태입니다. | ||
| 설명 이 속성은 특정 창고 작업의 결과를 설명합니다. 대부분의 작업은 정상적으로 완료되지만, 관리자가 취소하거나 시스템 또는 운영 문제로 실패할 수도 있습니다. 활동 이름만으로는 알 수 없는 작업 결과를 파악할 수 있습니다. 작업 상태별 분석은 예외와 프로세스 실패를 이해하는 데 유용합니다. 취소되거나 실패한 작업의 비율이 높으면 재고 정확도, 시스템 설정 또는 작업자 교육에 문제가 있을 수 있습니다. 실패가 잦아 추가 조사가 필요한 활동을 찾는 데 도움이 됩니다. 중요한 이유 활동 결과를 제공하므로 취소 또는 실패한 작업과 같은 예외를 분석해 운영상의 근본 문제를 파악할 수 있습니다. 확보 방법 일반적으로 작업 테이블에서 확인할 수 있으며, 작업 레코드의 최종 상태를 나타냅니다. 예시 완료취소됨보류 | |||
| 장비 ID EquipmentId | 지게차나 컨베이어 벨트 등 자재 취급에 사용한 장비의 식별자입니다. | ||
| 설명 장비 ID는 창고 작업에 사용한 기계나 장비를 지정합니다. 지게차, 팔레트 잭, 무인 운반차(AGV), 특정 포장 작업대 등이 이에 해당합니다. 이 속성을 사용해 장비 활용도와 성능, 유지보수 필요성을 분석할 수 있습니다. 장비별 활동을 추적하면 과다 또는 저활용 자산을 파악하고, 장비 유형별 효율성을 비교하며, 유지보수 일정을 수립하는 데 필요한 데이터를 확보할 수 있습니다. 창고 리소스 활용도 대시보드의 주요 분석 기준입니다. 중요한 이유 장비 활용도와 성능을 분석해 자산 배치와 유지보수 일정을 최적화할 수 있습니다. 확보 방법 작업자가 장비에 로그인하는 환경에서는 작업 실행 로그에 기록될 수 있습니다. 예시 FORKLIFT-07AGV-03PACKSTATION-12 | |||
| 정시 배송 여부 IsOnTimeShipment | 요청 완료 일시까지 배송이 출고되었으면 참으로 설정되는 불리언 플래그입니다. | ||
| 설명 이 계산 속성은 주문이 배송 SLA를 준수했는지 참 또는 거짓으로 표시합니다. '배송 출고' 활동의 타임스탬프와 주문의 '요청 완료 일시'를 비교해 산출합니다. 이 플래그를 사용하면 정시 배송 성과를 간편하게 분석하고 시각화할 수 있습니다. 데이터를 쉽게 필터링하고 집계해 정시 배송률 KPI를 계산하고 관련 대시보드를 구성할 수 있습니다. 지연 배송의 공통 특성을 찾아 원인을 분석하는 데도 사용할 수 있습니다. 중요한 이유 이 불리언 플래그를 사용하면 정시 배송률 KPI를 간편하게 계산하고, 지연 주문의 특성을 분석하도록 데이터를 쉽게 필터링할 수 있습니다. 확보 방법 '배송 출고' 활동의 EventStartTime과 RequestedCompletionDate 속성을 비교해 계산합니다. 예시 truefalsetrue | |||
| 제품 SKU ProductSku | 취급하는 품목의 재고 관리 단위(SKU) 또는 자재 번호입니다. | ||
| 설명 이 속성은 창고 작업에서 취급하는 제품을 식별합니다. 이동, 보관, 피킹, 포장하는 자재를 세부적으로 파악할 수 있습니다. 제품 SKU별로 프로세스를 분석하면 특정 품목과 관련된 패턴을 찾을 수 있습니다. 예를 들어 일부 제품은 피킹 오류가 잦거나, 특별 취급 요건 때문에 적치 시간이 길거나, 비효율적인 위치에 보관될 수 있습니다. 이를 바탕으로 제품별 프로세스와 로케이션 배정 전략을 개선할 수 있습니다. 중요한 이유 제품별 분석을 통해 지연이나 오류를 유발하거나 특별 취급이 필요한 품목을 찾을 수 있습니다. 확보 방법 창고 주문 또는 작업 테이블의 품목 수준 데이터에서 확인할 수 있습니다. 예시 PN-A5540-BSKU-300-RED-LGHW-88201 | |||
| 창고 ID WarehouseId | 활동이 발생한 창고 또는 물류 센터를 식별하는 ID입니다. | ||
| 설명 창고 ID는 프로세스가 진행되는 시설을 고유하게 식별합니다. 여러 물류 센터를 운영하는 조직에 필요한 속성입니다. 이 속성을 사용해 사업장별 성과를 비교하고 벤치마킹할 수 있습니다. 창고 ID로 데이터를 필터링하거나 구분하면 사업장별 성과를 비교하고, 성과가 우수한 사업장의 모범 사례를 찾으며, 특정 시설의 성과가 뒤처지는 이유를 파악할 수 있습니다. 여러 사업장의 운영을 분석하는 데 필요한 기준입니다. 중요한 이유 여러 사업장을 운영하는 조직에서 성과를 벤치마킹하고 위치별 프로세스를 비교하는 데 필요한 속성입니다. 확보 방법 대부분의 트랜잭션 테이블에서 확인할 수 있는 최상위 조직 필드인 경우가 많으며, 시스템 인스턴스를 바탕으로 추정할 수도 있습니다. 예시 WHC-01DC-EAST-03FAC-WEST | |||
| 창고 주문 유형 WarehouseOrderType | 창고 주문을 입고, 출고 배송, 내부 이동 등으로 분류합니다. | ||
| 설명 이 속성은 창고 주문의 전반적인 목적을 분류합니다. 일반적인 유형으로는 공급업체 입고, 고객 출고 배송, 반품 처리, 창고 내 재고 이동이 있습니다. 창고 주문 유형별로 프로세스를 구분하는 것은 분석의 기본 단계입니다. 입고와 출고는 단계, 리소스, 성과 목표가 크게 다를 수 있습니다. 이 속성으로 데이터를 필터링해 상품 입고나 주문 이행과 같은 특정 프로세스를 따로 분석할 수 있습니다. 중요한 이유 입고와 출고처럼 흐름과 목표가 다른 프로세스를 구분하고 비교 분석할 수 있습니다. 확보 방법 창고 주문 헤더 테이블에서 확인할 수 있으며, 일반적으로 문서 유형이나 주문 범주 필드에 저장됩니다. 예시 입고 배송출고 배송내부 이동 | |||
창고 관리 활동
| 활동 | 설명 | ||
|---|---|---|---|
| 배송 출고 | 포장된 상품을 운송업체의 트럭에 싣고 트럭이 창고를 출발했음을 나타내는 이벤트입니다. 일반적으로 시스템에 '상품 출고'가 전기되어 배송이 최종 확정될 때 기록됩니다. | ||
| 중요한 이유 이 시점은 해당 주문에 대한 창고의 책임이 끝나는 중요한 기준점입니다. 정시 배송 실적과 주문 접수부터 이행 완료까지의 전체 리드 타임을 측정하는 마지막 데이터 지점입니다. 확보 방법 흔히 '상품 출고 전기'(PGI)라고 부르는 주요 재무·물류 트랜잭션입니다. 이 트랜잭션의 타임스탬프가 출고 시각으로 사용되며, 일반적으로 출고 배송 또는 배송 문서 테이블에 저장됩니다. 기록 상품 출고 전기(Post Goods Issue, PGI) 트랜잭션이 발생한 시각입니다. 이벤트 유형 explicit | |||
| 상품 보관 | 상품을 지정된 보관 위치로 옮겨 스캔한 작업이 완료되었음을 확인하는 이벤트입니다. 일반적으로 작업자가 휴대용 RF 단말기로 적치 작업 완료를 확인할 때 기록됩니다. | ||
| 중요한 이유 이 이벤트는 입고 프로세스의 종료를 나타내며, 재고를 주문 이행에 사용할 수 있게 합니다. 입고부터 이 시점까지 걸리는 시간을 분석하는 것은 ‘입고부터 적치까지의 주기 시간’ 대시보드에 중요합니다. 확보 방법 적치 작업 상태가 ‘완료’ 또는 ‘확인됨’으로 변경될 때 타임스탬프가 포함된 트랜잭션으로 기록됩니다. 이 데이터는 창고 작업 또는 이동 주문 테이블에서 확인할 수 있습니다. 기록 적치 창고 작업의 확인 타임스탬프입니다. 이벤트 유형 explicit | |||
| 입고 및 수량 확인 | 상품을 하역하고 스캔한 뒤 배송 문서와 대조해 수량을 확인한 시점을 나타냅니다. 일반적으로 입고 담당자가 입고 주문의 각 품목 수량을 시스템에서 확인할 때 기록됩니다. | ||
| 중요한 이유 이 단계는 재고가 시스템상 공식적으로 사용 가능한 상태가 되는 중요한 시점입니다. 다만 주문 이행에 바로 사용할 수 있는 상태는 아닙니다. 이 단계의 소요 시간과 정확도는 재고 가시성과 적치 작업 시작 시점에 직접 영향을 줍니다. 확보 방법 재고 또는 입고 로그에 명시적인 트랜잭션으로 기록됩니다. 입고 처리 트랜잭션이나 입고 배송 품목의 상태가 ‘입고 완료’로 변경된 기록을 확인합니다. 기록 상품 입고를 확인한 트랜잭션의 타임스탬프입니다. 이벤트 유형 explicit | |||
| 창고 주문 생성 | 이 이벤트는 창고 주문이 생성된 시점을 나타냅니다. 창고 주문은 입고, 출고 또는 창고 내부 작업을 관리하는 기준 문서입니다. 일반적으로 Blue Yonder WMS에 신규 주문을 수동으로 입력하거나 연동 시스템을 통해 등록할 때 명시적인 트랜잭션으로 기록됩니다. | ||
| 중요한 이유 이 이벤트는 프로세스의 시작을 명확히 나타냅니다. 이 시점부터 완료까지 걸리는 시간을 분석하면 전체 주문 이행 리드 타임을 확인할 수 있으며, 이는 전반적인 효율성과 서비스 수준 협약 준수 여부를 측정하는 데 중요합니다. 확보 방법 이 이벤트는 주문 헤더 테이블에 기록될 가능성이 높으며, 창고 주문 레코드의 생성 타임스탬프로 확인할 수 있습니다. 기록 창고 주문 레코드의 생성 타임스탬프입니다. 이벤트 유형 explicit | |||
| 창고 주문 완료 | 배송을 비롯한 관련 작업이 모두 끝나 주문이 종료되었음을 나타내는 창고 주문의 최종 상태입니다. 주문의 수명 주기 상태가 '완료' 또는 '종료'로 변경될 때 기록됩니다. | ||
| 중요한 이유 이 활동은 프로세스 케이스가 완전히 종료되는 시점을 나타냅니다. 모든 주문의 시작부터 완료까지 전체 수명 주기를 프로세스 분석에 포함할 수 있습니다. 확보 방법 창고 주문 헤더 테이블의 상태 변경을 바탕으로 추정할 수 있습니다. '완료', '종료' 또는 '청구 완료'와 같은 최종 상태와 해당 상태가 변경된 타임스탬프를 확인합니다. 기록 주문 헤더의 최종 상태가 변경된 타임스탬프를 바탕으로 추정합니다. 이벤트 유형 inferred | |||
| 피킹 작업 생성 | 출고 주문을 처리하기 위해 작업자가 보관 위치에서 상품을 가져오는 작업이 생성된 시점을 나타냅니다. 출고 주문이 피킹 대상으로 배정될 때 WMS가 생성하는 명시적인 이벤트입니다. | ||
| 중요한 이유 실제 출고 프로세스의 시작입니다. 주문 생성부터 피킹 작업 생성까지 걸리는 시간을 분석하면 주문 처리와 할당 과정의 지연을 파악할 수 있습니다. 확보 방법 작업 관리 또는 창고 제어 테이블에 기록됩니다. 창고 주문과 연결된 피킹 작업의 생성 타임스탬프에 해당합니다. 기록 시스템에서 생성한 피킹 작업의 생성 타임스탬프입니다. 이벤트 유형 explicit | |||
| 배송 출고 대기 | 포장된 컨테이너를 포장 구역에서 지정된 출고 대기 레인으로 옮겨 운송업체가 수거할 때까지 대기시키는 작업입니다. 작업자가 취급 단위를 출고 대기 구역으로 옮긴 것을 확인할 때 이벤트가 기록됩니다. | ||
| 중요한 이유 이 활동을 통해 포장된 주문이 상차되기 전까지 대기하는 시간을 분석할 수 있습니다. 출고 대기 시간이 길면 운송업체와의 조율이 원활하지 않거나 대기 공간을 비효율적으로 사용하고 있음을 나타낼 수 있습니다. 확보 방법 취급 단위나 배송 컨테이너의 위치가 출고 대기 위치로 변경된 기록을 바탕으로 이 이벤트를 추정할 수 있습니다. '출고 대기 구역으로 이동' 작업을 명시적으로 확인한 기록일 수도 있습니다. 기록 출고 대기 보관 위치로 이동한 기록이 있는 재고 이동 로그를 바탕으로 추정합니다. 이벤트 유형 inferred | |||
| 보관 위치에서 상품 피킹 | 작업자가 상품을 가져와 시스템에서 확인해 피킹 작업을 완료한 것을 나타냅니다. 작업자가 단말기로 상품을 스캔하고 피킹을 확인할 때 이벤트가 기록됩니다. | ||
| 중요한 이유 이 시점에 피킹 단계가 완료됩니다. 이 활동의 정확도와 소요 시간은 전체 주문 이행 효율에 중요하며 ‘피킹 정확도’ 분석의 기준이 됩니다. 확보 방법 피킹 작업 상태가 ‘완료’로 변경될 때 기록되는 확인 타임스탬프를 사용합니다. 이 데이터는 창고 작업 테이블에서 확인할 수 있으며, 작업자와 장비 정보가 연결되는 경우가 많습니다. 기록 피킹 창고 작업의 확인 타임스탬프입니다. 이벤트 유형 explicit | |||
| 상품 도크 도착 | 하역을 시작하기 전에 트럭이나 운송업체 차량이 창고 입고 도크에 실제로 도착한 시점을 나타냅니다. 야드 관리 모듈에서 명시적으로 기록하거나 출입 담당자가 배송 차량을 확인할 때 기록하는 경우가 많습니다. | ||
| 중요한 이유 도착 시간을 추적하면 운송업체의 정시 도착 성과를 측정하고 차량 도착부터 입고 작업 시작까지의 지연을 파악할 수 있습니다. 야드 관리나 입고 도크에서 발생할 수 있는 병목도 확인할 수 있습니다. 확보 방법 일반적으로 Blue Yonder WMS의 야드 관리 또는 출입 통제 모듈에 기록됩니다. 트럭 도착 시 입고 담당자가 수동으로 타임스탬프를 입력할 수도 있습니다. 기록 운송업체 도착 확인 트랜잭션의 타임스탬프입니다. 이벤트 유형 explicit | |||
| 상품 포장 완료 | 이 이벤트는 배송할 모든 품목을 배송용 컨테이너에 포장하고 라벨을 생성했음을 확인합니다. 포장 담당자가 시스템에서 해당 주문의 포장 완료를 확인할 때 기록됩니다. | ||
| 중요한 이유 창고 내에서 부가가치를 창출하는 작업이 완료된 시점을 나타냅니다. 이 시점부터 배송 출고까지의 시간은 출고 대기 및 상차 시간으로, 지연이 발생할 수 있는 주요 구간입니다. 확보 방법 포장 작업이 완료될 때 명시적으로 기록되는 트랜잭션입니다. 출고 배송의 상태가 '포장 완료'로 변경되었는지 확인하거나, 포장 작업대 트랜잭션의 완료 타임스탬프를 확인합니다. 기록 '포장 확인' 또는 '컨테이너 닫기' 트랜잭션이 발생한 시각입니다. 이벤트 유형 explicit | |||
| 입고 예정 통지 수신 | 공급업체로부터 사전 선적 통지(ASN)를 받아 상품이 창고로 운송 중임을 알리는 이벤트입니다. ASN을 수신해 시스템에서 처리할 때 기록되며, 주로 EDI나 포털을 통해 접수됩니다. | ||
| 중요한 이유 이 활동은 입고 계획과 리소스 배정의 시작점입니다. 통지를 받은 시점부터 상품을 실제로 입고할 때까지 걸리는 시간은 공급업체 성과와 입고 물량의 가시성을 측정하는 주요 KPI입니다. 확보 방법 ASN 수신 로그 또는 Blue Yonder WMS의 입고 배송 문서 생성 타임스탬프에서 확인합니다. ASN이나 입고 배송 통지 관련 테이블을 살펴봅니다. 기록 ASN 또는 입고 배송 문서의 생성 타임스탬프입니다. 이벤트 유형 explicit | |||
| 적치 작업 생성 | 입고된 상품을 입고 도크에서 최종 보관 위치로 옮기는 작업이 시스템에 생성된 시점을 나타냅니다. 창고 관리 시스템(WMS)이 작업자를 안내하기 위해 생성하는 명시적인 시스템 이벤트입니다. | ||
| 중요한 이유 적치 프로세스의 시작입니다. 상품 입고 후 적치 작업이 생성되기까지 지연이 발생하면 시스템 설정이나 성능에 문제가 있을 수 있으며, 상품이 입고 구역에 계속 쌓일 수 있습니다. 확보 방법 작업 관리 또는 창고 제어 테이블에 생성되어 기록됩니다. 입고 배송과 연결된 적치 작업이나 이동 주문의 생성 타임스탬프를 확인합니다. 기록 시스템에서 생성한 적치 작업의 생성 타임스탬프입니다. 이벤트 유형 explicit | |||
| 창고 주문 취소 | 창고 주문이 완전히 처리되거나 배송되기 전에 취소된 경우를 나타냅니다. 사용자가 취소 트랜잭션을 실행해 주문 상태를 '취소됨'으로 변경할 때 이 이벤트가 기록됩니다. | ||
| 중요한 이유 취소 내역을 분석하면 재고 부족이나 고객 요청 변경 등 프로세스가 중단된 원인을 파악할 수 있습니다. 프로세스 이탈과 중단을 이해하는 데 중요한 종료 이벤트입니다. 확보 방법 일반적으로 창고 주문의 최종 상태를 바탕으로 추정하는 이벤트입니다. 상태가 '취소됨' 또는 '삭제됨'으로 변경된 타임스탬프를 사용합니다. 기록 상태가 '취소됨'으로 변경된 타임스탬프를 바탕으로 추정합니다. 이벤트 유형 inferred | |||
| 포장 시작 | 포장 작업장에서 포장 프로세스가 시작된 시점을 나타냅니다. 일반적으로 작업자가 포장 작업장에서 피킹한 상품이나 주문용 토트를 스캔해 배송 준비를 시작할 때 기록됩니다. | ||
| 중요한 이유 이 이벤트는 피킹에서 포장으로 작업이 넘어가는 시점을 나타냅니다. 주문 이행 프로세스에서 포장 단계를 구분해 포장 구역의 병목을 파악하는 데 도움이 됩니다. 확보 방법 포장 작업대의 사용자 인터페이스에서 명시적으로 기록한 트랜잭션 로그일 수 있습니다. 또는 해당 주문과 연결된 포장 작업 센터의 첫 번째 타임스탬프가 있는 활동을 기준으로 추정할 수도 있습니다. 기록 포장 작업대에서 '포장 시작' 트랜잭션이 발생한 시각입니다. 이벤트 유형 explicit | |||
| 품질 검사 수행 | 입고된 상품에 품질 검사를 수행한 것을 나타냅니다. 특정 자재에 대한 정규 단계일 수도 있고 예외 상황으로 인해 시작된 검사일 수도 있습니다. 품질 검사 담당자가 시스템에 검사 결과를 기록할 때 이벤트가 생성됩니다. | ||
| 중요한 이유 품질 검사는 입고 프로세스에서 상당한 지연을 일으킬 수 있습니다. 검사 빈도와 소요 시간을 분석하면 공급업체 품질 문제와 검사 워크플로의 병목을 파악할 수 있습니다. 확보 방법 품질 관리(QM) 모듈이나 입고 배송 관련 로그에 기록됩니다. 품질 검사 결과 관련 트랜잭션 코드나 재고 상태가 ‘품질 보류’로 변경된 기록을 확인합니다. 기록 품질 검사 완료 또는 상태 변경 타임스탬프입니다. 이벤트 유형 explicit | |||
데이터 추출 가이드
단계
- 사전 준비 및 접근 권한: MOCA 명령어를 실행하고 ord_hdr, pckwrk_dtl, invmov 등의 필수 테이블에 접근할 수 있는 권한이 있는 Blue Yonder WMS 사용자 계정을 준비합니다. MOCA Console이나 명령줄 인터페이스와 같은 MOCA 클라이언트도 필요합니다.
- 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]에는where wh_id = '[Your Warehouse ID]'와 같이 추출할 창고 ID를 지정합니다. - MOCA 서버 연결: MOCA 클라이언트(예: MOCA Console)를 실행하고 올바른 Blue Yonder WMS 환경에 연결합니다.
- MOCA 스크립트 실행: 수정한 스크립트를 MOCA Console에 붙여 넣고 실행합니다. 스크립트가 서버에서 실행되어 지정한 모든 활동의 데이터를 수집합니다.
- 실행 상태 확인: 데이터가 많으면 쿼리 실행에 상당한 시간이 걸릴 수 있습니다. Console에서 오류 메시지나 성능 경고를 확인합니다. 시간 초과가 발생하면 날짜 범위를 더 짧게 나누어 실행하세요.
- 결과 파일로 내보내기: 스크립트가 정상적으로 실행되면 결과가 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 테이블 확인: 제공된 쿼리는
ord(주문),pckwrk(피킹 작업),wrkque(작업 대기열),invmov(재고 이동),lodhdr(적재 헤더) 등 일반적인 Blue Yonder WMS 테이블을 사용합니다. 사용자 환경에 맞게 변경된 부분이 있을 수 있으므로 데이터 사전에서 테이블 이름과 열 구조를 확인합니다. - 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등 필수 속성과 일치하는지 확인합니다. 이제 파일을 process mining 소프트웨어에 업로드할 수 있습니다.
구성
- 사전 준비: 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일간 무료로 체험할 수 있습니다.