輸送管理データテンプレート
輸送管理データテンプレート
- 収集を推奨する属性
- 追跡すべき主要なアクティビティ
- 抽出手順
輸送管理の属性
| 名前 | 説明 | ||
|---|---|---|---|
| アクティビティ名 ActivityName | 出荷の輸送プロセス内で発生した、特定のイベントまたはマイルストーンの名称です。 | ||
| 説明 この属性は、「出荷計画済み」「商品集荷済み」「商品配送済み」など、輸送ライフサイクルにおける個々のステップを表します。各アクティビティは、出荷を完了に近づける個別のビジネスイベントです。 これらのアクティビティの順序と所要時間を分析することは、プロセスマイニングの中心的な作業です。実際のプロセスフローの把握、ステップ間のボトルネックの特定、標準業務手順への準拠状況の測定が可能になります。アクティビティフローの違いから、例外、手戻り、最適な経路からの逸脱を見つけられます。 重要な理由 プロセスマップ上のステップを定義し、出荷の進行状況、ボトルネック、逸脱を可視化・分析できるようにします。 入手先 Oracle Transportation Management内の追跡イベントテーブルまたはステータス変更ログから取得されます。具体的なアクティビティ名は、イベントコードと説明を連結して生成される場合があります。 例 出荷を計画商品を集荷通関を完了商品を配送 | |||
| イベント時刻 EventTime | 特定の輸送アクティビティまたはイベントが発生した正確な日時です。 | ||
| 説明 このタイムスタンプは、「運送会社割り当て済み」や「配送証明受領済み」などのアクティビティがシステムに記録された正確な時点を示します。各出荷におけるイベントの時系列を確立するため、タイムスタンプはプロセスマイニングの基盤となります。 これらのタイムスタンプの正確性は、時間に基づくすべての分析に欠かせません。アクティビティ間のサイクルタイムの算出、プロセス所要時間の測定、遅延の特定、サービスレベル合意に対するパフォーマンス評価に使われます。イベント時刻を分析することで、プロセスのどこで時間が失われているかを特定できます。 重要な理由 イベントを時系列に並べ、サイクルタイムや遅延など、すべてのパフォーマンス指標を算出するために必要です。 入手先 OTMの追跡イベントテーブルまたはステータス履歴テーブルにある、イベントに関連付けられたタイムスタンプ項目から取得されます。 例 2023-10-26T08:00:00Z2023-10-27T14:30:00Z2023-10-28T09:15:00Z | |||
| 出荷 ShipmentId | 単一の出荷を識別する一意の識別子であり、関連するすべての輸送アクティビティを追跡するための主要なケースIDです。 | ||
| 説明 Shipment IDは、荷送人から荷受人までの商品の1回の移動を一意に識別します。この属性はプロセス分析の基盤となり、計画、予約、集荷、輸送、納品、請求など、関連するすべてのイベントを1つのケースにまとめます。 プロセスマイニングでは、Shipment IDごとにイベントを分析することで、個々の出荷における輸送ライフサイクル全体をエンドツーエンドで把握できます。総サイクルタイム、納期遵守のパフォーマンス、出荷あたりのコストなどの主要指標の計算に使われ、プロセス効率と顧客サービス水準を詳細に理解できます。 重要な理由 これはすべてのプロセスステップをつなぐ必須のケースIDであり、個々の出荷について輸送 journey全体を分析できます。 入手先 これはOracle Transportation Managementの主キーで、通常は出荷または注文管理のテーブルにあります。具体的なテーブル名とフィールド名については、OTMのドキュメントを確認してください。 例 SH-0012345SH-0012346SH-0012347 | |||
| 出荷コスト ShipmentCost | 出荷品の輸送にかかる運賃の合計、または請求される金額です。 | ||
| 説明 運送会社への請求額、燃料サーチャージ、その他の付帯料金を含む、出荷に関連する財務コストの合計を表します。輸送プロセスの財務パフォーマンスを測る重要な指標です。 出荷コストを分析すると、出荷あたりの平均運送会社コストKPIを算出できます。運送会社、経路、輸送モード、出荷種別ごとに分けて、コスト削減の機会を特定することも可能です。また、運賃請求差異分析で、計画コストと実績コストを比較するためにも使われます。 重要な理由 輸送支出の分析、コスト削減の機会の特定、プロセスの非効率性が財務に与える影響の測定に必要な財務データを提供します。 入手先 通常はOTMの出荷に関する財務または原価計算のセクションにあり、運賃計算と精算の後に入力されます。 例 250.751200.00545.50 | |||
| 希望配送日時 RequestedDeliveryDate | 顧客が希望した、またはサービスレベル合意(SLA)の目標として合意された配送日時です。 | ||
| 説明 出荷の目標配送日時を記録します。顧客への約束を表し、定時配送パフォーマンスを測定する主要な基準になります。 プロセスマイニングでは、この日時を実際の配送日時(「商品配送済み」アクティビティから取得)と比較し、出荷が予定どおりだったか、遅延したかを判定します。定時配送率KPIの基盤であり、配送パフォーマンス概要ダッシュボードにも欠かせません。差異を分析することで、遅延の構造的な原因を特定し、顧客満足度を高められます。 重要な理由 定時配送パフォーマンスを測定する主要な基準です。顧客満足度と業務品質に関わる重要なKPIです。 入手先 通常はOTMの注文または出荷レベルに保存され、配送日や予約日時に関する項目に記録されます。 例 2023-11-15T17:00:00Z2023-11-20T12:00:00Z2023-11-22T09:00:00Z | |||
| 輸送モード TransportationMode | 出荷に使用する輸送手段です。トラック、鉄道、海運、航空などがあります。 | ||
| 説明 輸送手段によって出荷を分類する属性です。一般的なモードには、Full Truckload(FTL)、Less Than Truckload(LTL)、海運、航空、鉄道があります。出荷の基本的な特性であり、コスト、輸送時間、業務の複雑さに影響します。 分析では、輸送モードが重要な分類軸になります。モードごとにプロセスパフォーマンスやコストを比較できます。たとえば、輸送中の遅延が発生しやすいモードや、1マイルあたりのコストが高いモードを特定し、物流ネットワークに関する戦略的な判断に役立てられます。 重要な理由 輸送手段別にパフォーマンスとコストを分析でき、トラック、航空、海運、鉄道それぞれの物流に固有の傾向を把握できます。 入手先 OTMの出荷レベルにある標準属性で、専用の「モード」または「輸送種別」項目に記録されることが一般的です。 例 FTLLTLOCEANAIR | |||
| 遅延理由 DelayReason | 出荷の進行が遅れた原因を説明するコードまたは説明です。 | ||
| 説明 出荷が遅延した場合に、その理由を示します。たとえば、「天候」「通関保留」「港湾混雑」「機械故障」などがあります。この情報は、運送会社からの更新情報またはOTMへの手入力によって記録されます。 納期遅延の根本原因を分析するうえで欠かせない属性です。遅延理由を分類して件数を集計すると、サプライチェーンで頻発する問題を特定できます。特定の輸送経路でより信頼性の高い運送会社を選ぶ、通関を早めるために書類を改善するなど、対象を絞った改善施策につなげられます。 重要な理由 出荷遅延の根本原因を把握し、頻発する問題を抑えて定時配送パフォーマンスを高めるための対策につなげられます。 入手先 通常はOTMの追跡イベント詳細に記録され、特定の例外イベントコードまたは遅延イベントコードに関連付けられます。 例 WEATHER_DELAYCUSTOMS_INSPECTIONPORT_CONGESTIONTRAFFIC | |||
| 運送会社名 CarrierName | 出荷品の輸送を担当する運送会社またはサービス提供者の名称です。 | ||
| 説明 輸送を実行する物流パートナーを示します。大手貨物輸送会社、地域の配送業者、海運会社などが該当します。 運送会社別のパフォーマンス分析は、輸送プロセスマイニングの主要な目的の一つです。この属性を使うと、出荷を分けて、定時配送率、出荷あたりのコスト、輸送時間、遅延や請求差異などの問題発生頻度を比較できます。こうした分析結果は、運送会社の選定、契約交渉、パフォーマンス管理に役立ちます。 重要な理由 運送会社間のパフォーマンスを比較でき、運送会社の選定、交渉、コスト削減の最適化に役立ちます。 入手先 OTMの出荷詳細にあり、割り当てられた運送会社またはサービス提供者のレコードから関連付けられます。出荷やサービス提供者に関するテーブルに保存される場合があります。 例 FedEx FreightUPS Supply Chain SolutionsMaersk LineKnight-Swift Transportation | |||
| ソースシステム SourceSystem | イベントデータの取得元システムを示します。例として、Oracle Transportation Managementがあります。 | ||
| 説明 データが生成されたソースアプリケーションを示します。複雑な物流環境では、OTM、倉庫管理システム(WMS)、EDI経由の運送会社システム、その他の連携プラットフォームなど、さまざまなシステムからデータが届く場合があります。 ソースシステムを把握することは、データガバナンス、品質評価、トラブルシューティングにおいて重要です。データの背景を理解し、データの粒度や適時性に違いが生じる理由を説明するのに役立ちます。分析では、信頼できる特定のシステムから発生したイベントだけに絞り込むこともできます。 重要な理由 データの出所に関する重要な背景情報を提供します。データ検証や、複数のシステムにまたがる環境での分析に役立ちます。 入手先 通常は、レコードの出所を示すため、データ抽出時に付加される固定値です。 例 Oracle OTMOTM CloudSAP TM | |||
| ユーザー名 UserName | 特定のアクティビティを実行した、または担当するユーザーの名前またはIDです。 | ||
| 説明 「出荷計画済み」や「運送会社割り当て済み」など、特定のイベントを実行した個人ユーザーまたはシステムエージェントを示します。プロセスにおける担当者とリソースの関与状況を把握できます。 プロセスマイニングでユーザー別にアクティビティを分析すると、業務量の分布、トレーニングの必要性、ユーザーまたはチーム間のパフォーマンスを把握できます。手動で実行されたアクティビティと、システムが自動実行したアクティビティを区別することも可能です。 重要な理由 担当者を明確にし、ユーザーまたはチーム単位で業務量とパフォーマンスを分析できます。 入手先 OTMの履歴テーブルまたはログテーブルにある、ステータス変更やイベントに関連付けられたユーザーID項目(例:INSERT_USER)から取得されます。 例 JSMITHLOGISTICS_PLANNER_ASYSTEM_AUTO | |||
| 仕向国 DestinationCountry | 出荷品の配送先として予定されている国です。 | ||
| 説明 荷受人の所在地に基づいて、出荷の最終仕向国を示します。地理的なプロセス分析では、出発国を補完する属性です。 出発国と同様に、仕向国別の分析は、さまざまな貿易経路におけるパフォーマンスの違いを把握するうえで重要です。通関時間、ラストマイル配送のパフォーマンス、地域ごとの運送会社の有効性を分析する際に特に役立ちます。仕向地市場ごとの要件に合わせて物流戦略を調整できます。 重要な理由 特定の貿易経路におけるパフォーマンスを分析し、仕向地市場の通関、運送会社、規制に関する課題を把握するために欠かせません。 入手先 出荷先の所在地または荷受人の住所情報から取得され、OTMのロケーションマスターデータに保存されています。 例 CANFRAJPNBRA | |||
| 最終データ更新日時 LastDataUpdate | このイベントのデータがソースシステムから最後に更新または抽出された時点を示すタイムスタンプです。 | ||
| 説明 Oracle Transportation Managementからデータが最後に取得された時点を記録します。ビジネスイベントが発生した時刻ではなく、分析対象データの鮮度を示します。 このタイムスタンプは、プロセスマイニング分析の適時性を把握するうえで重要です。リアルタイム情報を見ているのか、特定時点のスナップショットを見ているのかを判断できます。また、データ更新サイクルの管理や、最新情報に基づく意思決定にも欠かせません。 重要な理由 データの鮮度を示し、分析がどの時点の情報に基づいているか、次回のデータ更新がいつ予定されているかを把握できるようにします。 入手先 通常は、データ取り込みまたはETL処理の際にシステムが生成して付加するタイムスタンプです。 例 2023-11-01T02:00:00Z2023-11-02T02:00:00Z | |||
| 出発国 OriginCountry | 出荷の輸送が始まる国です。 | ||
| 説明 荷送人の所在地に基づいて、出荷の開始国を示します。物流分析に使う重要な地理情報です。 出発国別にプロセスを分析すると、地域ごとのパフォーマンスの違いを把握できます。たとえば、通関時間、運送会社コスト、輸送時間は出発国によって大きく異なる場合があります。国際物流の管理や、地域固有のボトルネックの特定に欠かせない分類です。 重要な理由 輸送プロセスを地理的に分析でき、地域固有のボトルネック、コスト、パフォーマンスの違いを特定するのに役立ちます。 入手先 出荷元の所在地または荷送人の住所情報から取得されます。これらはOTMのロケーションマスターデータに保存されています。 例 USADEUCHNMEX | |||
| 出荷ステータス ShipmentStatus | 出荷ライフサイクルにおける現在の全体的なステータスです。「計画済み」「輸送中」「配送済み」などがあります。 | ||
| 説明 プロセス全体の中で出荷がどの段階にあるかを要約します。ある時点で発生するイベントであるアクティビティとは異なり、ステータスは出荷ケースの状態を表します。 プロセスマイニングではアクティビティの流れに注目しますが、全体ステータスはケースの絞り込みやダッシュボードでの状況把握に役立ちます。たとえば、「完了」した出荷だけを分析したり、多くの出荷が通常より長く「輸送中」のままになっている理由を調べたりできます。 重要な理由 出荷の進行状況を大まかに把握でき、分析でケースを絞り込んだり分類したりする際に役立ちます。 入手先 OTMの主要な出荷レコードにあり、ワークフロー上の現在の状態を示します。 例 PLANNEDBOOKEDIN_TRANSITDELIVERED | |||
| 出荷種別 ShipmentType | サービスレベル、商品種別、事業部門などに基づく出荷の分類です。 | ||
| 説明 出荷を業務上の目的に応じて分類します。たとえば、「標準」「特急」「危険物」「社内取引」などがあります。この分類により、異なる業務ルール、優先度、分析ビューを適用できます。 プロセスマイニングで出荷種別を分類軸として使うと、出荷の種類ごとにプロセスを比較できます。特定の種別で遅延が多い、コストが高い、標準外のプロセス経路をたどるといった傾向を把握できます。こうした分析結果をもとに、出荷種別ごとの要件に合わせてプロセスを調整できます。 重要な理由 業務上の背景に基づいて分析を分類し、出荷種別によってプロセスやパフォーマンスが異なるかを把握できます。 入手先 通常は、OTMの出荷または注文レコードにある設定可能な項目または属性です。 例 標準特急国際国内 | |||
| 定時配送かどうか IsOnTimeDelivery | 出荷が希望配送日時までに配送されたかどうかを示す計算フラグです。 | ||
| 説明 「商品配送済み」アクティビティのタイムスタンプと「希望配送日時」を比較して算出するブール属性です。配送が予定どおり、または予定より早ければ「true」、遅ければ「false」になります。 定時配送率KPIを直接算出し、配送パフォーマンス概要ダッシュボードの主要な構成要素になります。出荷ごとの結果を明確な二値で示すため、定時配送と遅延配送を簡単に絞り込み、集計、可視化できます。 重要な理由 定時配送KPIの測定を簡単にし、定時配送と遅延配送を容易に絞り込んで分析できます。 入手先 ソースシステムには存在しません。データ変換時に、「商品配送済み」アクティビティのタイムスタンプと「RequestedDeliveryDate」属性を比較して算出されます。 例 truefalse | |||
| 経路変更の有無 IsRerouted | 初回予約後に出荷経路が変更されたかどうかを示すフラグです。 | ||
| 説明 計画・予約済みの出荷で、その後に大幅な経路変更が発生した場合に「true」になるブールフラグです。顧客からの依頼、予期しない障害、最適化の機会などが原因になります。 出荷経路変更率KPIと、経路変更・特急輸送インサイトダッシュボードを直接支援します。経路変更の頻度を追跡すると、計画や実行における根本的な問題を特定できます。業務の不安定さと関連コストを明らかにし、コストと影響の大きい変更を減らす方法を検討できます。 重要な理由 経路変更などの業務上の例外の頻度と影響を定量化し、計画・実行プロセスの非効率性を明らかにします。 入手先 イベントログ内の特定の経路変更イベントを検出するか、最終経路と初期計画経路を比較して算出されます。 例 truefalse | |||
| 通関業者 CustomsAgent | 出荷の通関手続きを担当する通関ブローカーまたは代理人です。 | ||
| 説明 国際出荷において、通関書類や手続きを担当する外部代理人または社内チームを示します。この担当者のパフォーマンスは、輸送時間全体に大きく影響する場合があります。 通関業者別に通関サイクルタイムを分析すると、パフォーマンスを比較できます。特定の国や商品種別で最も効率的な業者を特定することも可能です。最適な通関パートナーの選定や、パフォーマンスが低い業者との改善活動に役立ちます。 重要な理由 通関ブローカーのパフォーマンスを測定し、効率の高いパートナーの特定と通関関連の遅延削減に役立ちます。 入手先 OTMの国際出荷詳細にあるサービス提供者または取引先の役割として保存される場合があります。 例 Global Customs ServicesLivingston InternationalFlexport | |||
| 運賃請求差異 FreightBillDiscrepancy | 運賃請求書の監査で差異が見つかったかどうかを示すフラグです。 | ||
| 説明 運送会社から受け取った運賃請求書が、OTMで算出した想定コストと一致しない場合に「true」になります。差異は、誤った料金、付帯料金、その他の請求エラーによって生じる場合があります。 運賃請求差異率KPIの基礎となる属性です。運送会社、輸送経路、出荷種別ごとにフラグの発生頻度を分析すると、請求エラーの根本原因を特定できます。データの正確性向上、監査プロセスの効率化、過払いの防止に向けた施策を進められます。 重要な理由 請求エラーのある出荷を特定し、過払いの削減と財務管理の改善につなげることで、運賃請求差異分析を直接支援します。 入手先 通常は、OTM内の運賃精算および請求書照合プロセスで設定されるステータスまたはフラグです。 例 truefalse | |||
輸送管理のアクティビティ
| アクティビティ | 説明 | ||
|---|---|---|---|
| 出荷を計画 | このアクティビティは、OTMの計画エンジンによって1件以上のOrder Releaseが実行可能なShipmentとして正常に計画されたことを示します。システムがShipmentのステータスを計画済みへ変更した時点で記録され、たとえば「PLANNING_PLANNED FINAL」などが該当します。 | ||
| 重要な理由 これは需要フェーズと実行フェーズを分ける重要なマイルストーンです。このアクティビティまでにかかる時間を分析することで、計画効率やエンジン性能のボトルネックを特定できます。 入手先 SHIPMENTテーブルにあるShipmentオブジェクトのステータス履歴から推定します。計画完了を示すステータスへの変更を確認します。 取得 SHIPMENT.SHIPMENT_STATUS_VALUE_GIDが「Planned」ステータスに変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 商品を配送 | このアクティビティは、出荷が最終目的地の荷受人へ正常に納品されたことを示します。出荷の最後のStopに実際の到着時刻が記録された時点で取得します。 | ||
| 重要な理由 これは納期遵守のパフォーマンスとエンドツーエンドのサイクルタイムを測定する主要なマイルストーンです。輸送実行プロセスの完了を示します。 入手先 出荷に関連付けられたSHIPMENT_STOPテーブルの最後のStopレコードにACTUAL_ARRIVALフィールドが入力されたことから推定します。 取得 出荷のSHIPMENT_STOPテーブルにある最後のレコードのACTUAL_ARRIVALタイムスタンプを使用します。 イベントタイプ inferred | |||
| 商品を集荷 | このアクティビティは、運送会社が出発地で商品を引き取り、実際の輸送が始まったことを示します。出荷の最初のStopが「DEPARTED」と記録された時点で取得します。 | ||
| 重要な理由 これは輸送中フェーズの開始を示す重要なマイルストーンです。運送会社による集荷のパフォーマンスと実際の輸送時間を追跡するうえで欠かせません。 入手先 SHIPMENT_STOPテーブルにある最初のStopのステータスが「DEPARTED」に変わったこと、または集荷を示す出荷ステータスイベントから推定します。 取得 出荷のSHIPMENT_STOPテーブルにある最初のレコードのACTUAL_DEPARTUREタイムスタンプを使用します。 イベントタイプ inferred | |||
| 支払いを処理 | これは最終アクティビティで、運送会社のサービスに対する支払いが正常に処理されたことを示します。このイベントによって出荷に関する財務処理が完了します。 | ||
| 重要な理由 このアクティビティで輸送ライフサイクルが完了します。運送会社への支払い処理時間を測定し、関係を適切に管理するうえで欠かせません。 入手先 関連するVoucherまたはBillのステータスが「PAID」に変わったことから推定します。データはVOUCHERテーブルまたはBILLテーブルにあります。 取得 VOUCHER.VOUCHER_STATUS_IDが「PAID」に変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 輸送依頼を受領 | このアクティビティは、通常はOrder Releaseとして、システム内で輸送需要が作成されたことを示します。Oracle Transportation Managementで新しいOrder Releaseレコードが作成された時点で記録され、出荷に対する初期需要を表します。 | ||
| 重要な理由 プロセスの開始点となるこのアクティビティは、エンドツーエンドの総サイクルタイムを測定し、需要のパターンを把握するうえで重要です。依頼から計画までにかかる時間の分析に役立ちます。 入手先 これは、ORDER_RELEASEテーブルにあるOrder Releaseレコードの作成タイムスタンプから取得する明示的なイベントです。INSERT_DATEまたは作成日を示す特定のフィールドを使用できます。 取得 ORDER_RELEASEテーブルにあるOrder Releaseの作成タイムスタンプを使用します。 イベントタイプ explicit | |||
| 配送証明を受領 | このアクティビティは、署名済み書類など、納品が完了したことを正式に確認する証明を受領し、記録したことを示します。通常、出荷に添付された特定の書類タイプとして記録されます。 | ||
| 重要な理由 PODは請求と紛争解決に欠かせません。受領状況を追跡することで、プロセスのコンプライアンスを確保し、財務決済のサイクルを短縮できます。 入手先 明示的なイベントとして取得するか、出荷に関連付けられたPOD書類の作成日から推定します。DOCUMENTテーブルで、書類タイプがPODの書類を確認します。 取得 出荷に関連付けられた「POD」書類タイプの作成タイムスタンプを使用します。 イベントタイプ explicit | |||
| 出荷をキャンセル | 計画後に出荷がキャンセルされ、ライフサイクルが途中で終了したことを示します。Shipmentオブジェクトのステータスが「cancelled」に変わった時点で取得します。 | ||
| 重要な理由 キャンセルを追跡することで、プロセス上の例外や失敗を把握できます。需要の変化や計画ミスなど、キャンセルの理由を特定するのに役立ちます。 入手先 SHIPMENTテーブルにあるShipmentオブジェクトのステータス履歴から推定します。「PLANNING_CANCELED」などのステータスへの変更を確認します。 取得 SHIPMENT.SHIPMENT_STATUS_VALUE_GIDが「Cancelled」ステータスに変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 出荷を予約 | 入札が正常に完了した後、運送会社との正式な予約が確定したことを示します。通常、Shipmentのステータスが「SECURE RESOURCES_BOOKED」または同等のステータスに更新された時点で記録します。 | ||
| 重要な理由 これは運送会社の引き受けを確認し、出荷を正式に実行フェーズへ移行させるものです。Shipment Planning Cycle Time KPIを測定するうえで重要なステップです。 入手先 SHIPMENTテーブルにあるShipmentオブジェクトのステータス変更から推定します。運送会社の割り当て後、確定済みまたは予約済みのステータスへ移行した時点を追跡します。 取得 SHIPMENT.SHIPMENT_STATUS_VALUE_GIDが「Booked」ステータスに変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 出荷を輸送中 | 商品が集荷され、目的地に向けて移動中であることを示します。これは特定の1時点ではなく、「Goods Picked Up」アクティビティの直後にこの状態が始まった時点を記録します。 | ||
| 重要な理由 このアクティビティは輸送フェーズの開始を示します。配送の進捗を監視し、輸送中の遅延を特定するうえで重要です。In-Transit Delay Hotspotsダッシュボードの基盤となります。 入手先 これは「Goods Picked Up」と同じイベントですが、新しいフェーズの開始を示すため、プロセスモデルでは別のアクティビティとして表すことがあります。最初のStopの出発から導出します。 取得 「Goods Picked Up」と同じです。最初のSHIPMENT_STOPにあるACTUAL_DEPARTUREタイムスタンプを使用します。 イベントタイプ inferred | |||
| 通関を完了 | 国際出荷では、このアクティビティは国境または港で商品が通関を正常に完了した時点を示します。通常、特定の出荷イベントまたはステータス更新から取得します。 | ||
| 重要な理由 通関は、国際物流で大幅な遅延が発生しやすい箇所です。このアクティビティを追跡することで、通関サイクルタイムを測定し、改善できます。 入手先 通常、手動入力または連携による「Customs」出荷イベントから取得します。SHIPMENT_STATUSテーブルで、通関に関連する特定のイベントコードを確認します。 取得 SHIPMENT_STATUSテーブルから「Customs Cleared」イベントのタイムスタンプを特定します。 イベントタイプ explicit | |||
| 運賃請求書を監査 | このアクティビティは、運賃請求書の監査が完了したことを示します。運送会社の請求書を出荷の詳細と照合し、検証するプロセスです。出荷の請求ステータスが「VOUCHER_AUDITED」などの状態に変わった時点で記録します。 | ||
| 重要な理由 監査は、財務管理と請求差異の特定に欠かせません。このアクティビティを分析することで、監査から支払いまでのプロセスを効率化し、Freight Bill Discrepancy Rate KPIを管理できます。 入手先 出荷に関連付けられたBillオブジェクトのステータス変更から推定します。BILLテーブルで、監査完了に関連するステータス更新を確認します。 取得 BILL.BILL_STATUS_VALUE_GIDが「Audited」ステータスに変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 運送業者を割り当て | このアクティビティは、出荷が特定の運送会社に正常に委託され、受諾された時点を示します。出荷の入札ステータスが「TENDER_ACCEPTED」などの状態に変わったことを確認して記録します。 | ||
| 重要な理由 これを追跡することで、運送会社の選定と入札プロセスの効率を分析できます。出荷がまだ移動を開始していない段階での遅延が、全体のスケジュールに大きく影響する場合があります。 入手先 SHIPMENT_TENDERテーブルのステータス履歴から推定します。運送会社による受諾を示すステータスになった時点のタイムスタンプを確認します。 取得 出荷の入札履歴でステータスが「TENDER_ACCEPTED」に変わった時点のタイムスタンプを使用します。 イベントタイプ inferred | |||
| 配送予約を設定 | このアクティビティは、荷受人との間で納品の具体的な日時が設定された時点を示します。出荷の最終Stopにある予約データから取得します。 | ||
| 重要な理由 これは最終納品を調整する重要なステップです。到着から予定された納品までの時間を分析することで、ラストマイル業務のボトルネックを明らかにできます。 入手先 SHIPMENT_STOPテーブルにある出荷の最終Stop(納品場所)について、予約日時のフィールドに値が入力されたことから推定します。 取得 納品Stopの予約フィールドに初めて値が入力された時点のタイムスタンプを使用します。 イベントタイプ inferred | |||
| 集荷予約を設定 | このアクティビティは、集荷の具体的な日時が設定され、記録されたことを示します。多くの場合、出荷のStopレベルにある予約関連データから取得します。 | ||
| 重要な理由 予約の設定は、調整における重要なステップです。これを分析することで、予約設定の効率と集荷の時間厳守への影響を把握できます。 入手先 SHIPMENT_STOPテーブルにある出荷の最初のStop(集荷場所)について、予約日時のフィールドに値が入力されたことから推定します。 取得 集荷Stopの予約フィールドに初めて値が入力された時点のタイムスタンプを使用します。 イベントタイプ inferred | |||
抽出ガイド
ステップ
- BI Publisherにアクセス:Oracle Transportation Management(OTM)アプリケーションにログインします。Business Process Automation、Reportingの順に移動し、Report Managerを選択します。Oracle Business Intelligence Publisherの画面が開きます。
- データモデルを作成:BI PublisherでNewボタンをクリックし、Data Modelを選択します。レポートのデータソースを定義するデータモデルエディターが開きます。
- SQL Queryを定義:データモデルエディターでData Sets図のプラスアイコンをクリックし、SQL Queryを選択します。データセットに「OTM_Process_Mining_DS」などの名前を付けます。Data SourceとしてOTMデータベースを選択します。このドキュメントの「query」セクションに記載された完全なSQLクエリをコピーし、SQL Queryのテキストボックスに貼り付けます。
- パラメーターを追加:このクエリでは、日付範囲とドメイン名にパラメーター(:P_START_DATE、:P_END_DATE、:P_DOMAIN_NAME)を使用します。BI Publisherがこれらを自動的に検出します。日付パラメーターのデータ型をDateに設定するなど、プロパティを設定できます。
- データモデルを保存:保存アイコンをクリックします。BI Publisherカタログ内の保存場所を選択し、「OTM Shipment Process Extraction」などの分かりやすい名前を付けて、データモデルを保存します。
- レポートを作成:カタログに戻り、NewボタンをクリックしてReportを選択します。レポート作成ウィザードで「Use Data Model」を選択し、先ほど保存したデータモデルを指定します。
- レポートレイアウトを設定:ウィザードに従ってレイアウトを作成します。シンプルな「Table」レイアウトで十分です。データセットのすべての列をテーブルへドラッグアンドドロップします。グループ化や集計は行わないでください。
- レポートを保存:レイアウトの設定が完了したら、最後の手順へ進み、レポートを保存します。データモデルと同様の名前を付けてください。
- レポートを実行:作成したレポートを開きます。パラメーター(Start Date、End Date、Domain Name)の入力を求められるため、対象の範囲を入力します。
- データをエクスポート:レポートの実行後、データが表示されたら、ActionsメニューをクリックしてExportを選択します。CSV形式を選択します。イベントログを含むCSVファイルがダウンロードされます。
- アップロードの準備:ダウンロードしたCSVファイルを開きます。列見出しが必須属性の「ShipmentId」「ActivityName」「EventTime」および推奨属性と一致していることを確認します。「EventTime」列の日付と時刻の形式が統一されていることも確認してください。これでProcessMindへアップロードする準備が整います。
設定
- データソース:クエリは、通常GLOGOWNERという名前のOTM主要運用データベーススキーマに対して実行する必要があります。
- レポートパラメーター:
P_START_DATE:レポート期間の開始日です。形式は「YYYY-MM-DD」です。P_END_DATE:レポート期間の終了日です。形式は「YYYY-MM-DD」です。P_DOMAIN_NAME:データを抽出する特定のOTMドメインです。「[Your Domain Name]」を使用してください。
- 日付範囲:初回の分析では、データ量とパフォーマンスのバランスを取るため、3~6か月分のデータを抽出することを推奨します。本番実行では、月次または四半期単位で抽出することを検討してください。
- 権限:レポートを実行するOTMユーザーには、データモデルとレポートの作成・変更に必要なBI PUBLISHER DATA MODEL DEVELOPERやBI PUBLISHER REPORT DEVELOPERなどのロールが必要です。基盤となるデータベーステーブルへの読み取り専用アクセスも必要です。
- パフォーマンス:このクエリでは、複数の大規模なテーブルを結合します。データ量が多い環境では、システムへの影響を避けるため、利用の少ない時間帯にレポートを実行することを強く推奨します。レポートを適切な時間内に完了できるよう、日付範囲はできるだけ絞ってください。
a サンプルクエリ sql
WITH SHIPMENTS_BASE AS (
SELECT
S.SHIPMENT_GID AS ShipmentId,
SP.SERVPROV_NAME AS CarrierName,
S.TOTAL_ACTUAL_COST AS ShipmentCost,
TM.TRANSPORT_MODE_NAME AS TransportationMode,
(
SELECT MAX(ORL.LATE_DELIVERY_DATE)
FROM SHIPMENT_S_SHIP_UNIT SSU
JOIN S_SHIP_UNIT SU ON SSU.S_SHIP_UNIT_GID = SU.S_SHIP_UNIT_GID
JOIN ORDER_RELEASE ORL ON SU.ORDER_RELEASE_GID = ORL.ORDER_RELEASE_GID
WHERE SSU.SHIPMENT_GID = S.SHIPMENT_GID
) AS RequestedDeliveryDate,
S.DOMAIN_NAME
FROM SHIPMENT S
LEFT JOIN SERVPROV SP ON S.SERVPROV_GID = SP.SERVPROV_GID
LEFT JOIN TRANSPORT_MODE TM ON S.TRANSPORT_MODE_GID = TM.TRANSPORT_MODE_GID
WHERE S.INSERT_DATE BETWEEN TO_DATE(:P_START_DATE, 'YYYY-MM-DD') AND TO_DATE(:P_END_DATE, 'YYYY-MM-DD') + 1
AND S.DOMAIN_NAME = :P_DOMAIN_NAME
)
-- 1. Transportation Request Received
SELECT
SB.ShipmentId,
'Transportation Request Received' AS ActivityName,
MIN(ORL.INSERT_DATE) AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_S_SHIP_UNIT SSU ON SB.ShipmentId = SSU.SHIPMENT_GID
JOIN S_SHIP_UNIT SU ON SSU.S_SHIP_UNIT_GID = SU.S_SHIP_UNIT_GID
JOIN ORDER_RELEASE ORL ON SU.ORDER_RELEASE_GID = ORL.ORDER_RELEASE_GID
WHERE SB.DOMAIN_NAME = ORL.DOMAIN_NAME
GROUP BY SB.ShipmentId, SB.CarrierName, SB.RequestedDeliveryDate, SB.ShipmentCost, SB.TransportationMode
UNION ALL
-- 2. Shipment Planned
SELECT
SB.ShipmentId,
'Shipment Planned' AS ActivityName,
SS.STATUS_CHANGE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STATUS SS ON SB.ShipmentId = SS.SHIPMENT_GID
WHERE SS.STATUS_CODE_GID = 'PLANNING_PLANNED FINAL'
UNION ALL
-- 3. Carrier Assigned
SELECT
SB.ShipmentId,
'Carrier Assigned' AS ActivityName,
ST.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_TENDER ST ON SB.ShipmentId = ST.SHIPMENT_GID
WHERE ST.TENDER_STATUS_GID = 'TENDER_ACCEPTED'
UNION ALL
-- 4. Shipment Booked
SELECT
SB.ShipmentId,
'Shipment Booked' AS ActivityName,
SS.STATUS_CHANGE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STATUS SS ON SB.ShipmentId = SS.SHIPMENT_GID
WHERE SS.STATUS_CODE_GID = 'SECURE RESOURCES_BOOKED'
UNION ALL
-- 5. Pickup Appointment Scheduled
SELECT
SB.ShipmentId,
'Pickup Appointment Scheduled' AS ActivityName,
SST.APPOINTMENT_START_TIME AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.APPOINTMENT_START_TIME IS NOT NULL
UNION ALL
-- 6. Goods Picked Up
SELECT
SB.ShipmentId,
'Goods Picked Up' AS ActivityName,
SST.ACTUAL_DEPARTURE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.ACTUAL_DEPARTURE_DATE IS NOT NULL
UNION ALL
-- 7. Shipment In Transit
SELECT
SB.ShipmentId,
'Shipment In Transit' AS ActivityName,
SST.ACTUAL_DEPARTURE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.ACTUAL_DEPARTURE_DATE IS NOT NULL
UNION ALL
-- 8. Customs Cleared
SELECT
SB.ShipmentId,
'Customs Cleared' AS ActivityName,
SE.EVENT_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
SE.EVENT_REMARK_TEXT AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_EVENT SE ON SB.ShipmentId = SE.SHIPMENT_GID
WHERE SE.EVENT_CODE = '[Your Customs Cleared Event Code]'
UNION ALL
-- 9. Delivery Appointment Scheduled
SELECT
SB.ShipmentId,
'Delivery Appointment Scheduled' AS ActivityName,
SST.APPOINTMENT_START_TIME AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = (SELECT MAX(SST2.STOP_NUM) FROM SHIPMENT_STOP SST2 WHERE SST2.SHIPMENT_GID = SB.ShipmentId)
AND SST.APPOINTMENT_START_TIME IS NOT NULL
UNION ALL
-- 10. Goods Delivered
SELECT
SB.ShipmentId,
'Goods Delivered' AS ActivityName,
SST.ACTUAL_ARRIVAL_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = (SELECT MAX(SST2.STOP_NUM) FROM SHIPMENT_STOP SST2 WHERE SST2.SHIPMENT_GID = SB.ShipmentId)
AND SST.ACTUAL_ARRIVAL_DATE IS NOT NULL
UNION ALL
-- 11. Proof of Delivery Received
SELECT
SB.ShipmentId,
'Proof of Delivery Received' AS ActivityName,
SE.EVENT_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
SE.EVENT_REMARK_TEXT AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_EVENT SE ON SB.ShipmentId = SE.SHIPMENT_GID
WHERE SE.EVENT_CODE = '[Your POD Received Event Code]'
UNION ALL
-- 12. Freight Bill Audited
SELECT
SB.ShipmentId,
'Freight Bill Audited' AS ActivityName,
B.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN BILL B ON SB.ShipmentId = B.SHIPMENT_GID
WHERE B.BILL_STATUS_GID = 'VOUCHER_AUDITED'
UNION ALL
-- 13. Payment Processed
SELECT
SB.ShipmentId,
'Payment Processed' AS ActivityName,
B.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN BILL B ON SB.ShipmentId = B.SHIPMENT_GID
WHERE B.BILL_STATUS_GID = '[Your Payment Processed Bill Status]'
UNION ALL
-- 14. Shipment Cancelled
SELECT
SB.ShipmentId,
'Shipment Cancelled' AS ActivityName,
S.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT S ON SB.ShipmentId = S.SHIPMENT_GID
WHERE S.SHIPMENT_STATUS_GID = 'SHIPMENT_CANCELLED' ステップ
- データベース接続を確立:Oracle Transportation Managementデータベースの読み取り専用認証情報と接続情報(ホスト、ポート、サービスID)を取得します。
GLOGOWNERスキーマへのアクセスが必要です。 - SQLクライアントを設定:前の手順で取得した接続情報を使い、Oracle SQL Developer、DBeaver、ToadなどのSQLクライアントを設定します。
- クエリを準備:このドキュメントに記載された完全なSQLクエリをSQLクライアントのクエリエディターへコピーします。
- クエリパラメーターを設定:クエリの
WHERE句内にあるプレースホルダーを確認します。抽出対象に合わせて、[START_DATE]、[END_DATE]、[YOUR_DOMAIN_NAME]を適切な値に置き換えてください。たとえば、3~6か月の期間を日付に指定し、分析対象の運用ドメインを入力します。 - クエリを実行:変更したSQLクエリを実行します。日付範囲やシステム規模によっては、完了まで数分かかる場合があります。
- 結果を確認:クエリが完了したら、クライアント上で結果を簡単に確認し、行が返されていること、
ShipmentId、ActivityName、EventTimeなどの主要列に値が入っていることを確認します。 - CSVへエクスポート:結果セット全体をCSVファイルへエクスポートします。標準的なCSV設定として、区切り文字はカンマ、テキストは二重引用符、文字コードはUTF-8を使用します。
- 列見出しを確定:アップロード前に、CSVファイルの列見出しが必須属性名の
ShipmentId、ActivityName、EventTime、CarrierName、RequestedDeliveryDate、ShipmentCost、TransportationMode、DelayReasonと完全に一致していることを確認します。 - ProcessMindへアップロード:準備したCSVファイルをProcessMindへアップロードし、分析できる状態になりました。
設定
- データベーススキーマ:このクエリは、通常
GLOGOWNERという名前の標準Oracle Transportation Managementデータベーススキーマに対して実行するよう設計されています。 - 必要な権限:クエリで参照するテーブルへの読み取り専用アクセス権を持つデータベースユーザーが必要です。対象テーブルには、
SHIPMENT、SHIPMENT_STOP、ORDER_RELEASE、SHIPMENT_STATUS、SERVPROV、SHIPMENT_COST、DOCUMENT、BILL、VOUCHERが含まれます。 - ドメインによる絞り込み:複数テナントのOTM環境では、
DOMAIN_NAMEによる絞り込みが欠かせません。正しい事業体のデータを抽出するため、クエリに含まれるプレースホルダー[YOUR_DOMAIN_NAME]を設定してください。 - 日付範囲:パフォーマンスとデータ量を管理するため、開始日と終了日を指定する必要があります。
SHIPMENT.INSERT_DATEなどのインデックス付き列で絞り込むことを推奨します。初回の分析では、通常3~6か月の期間を指定します。 - ステータスコードのカスタマイズ:このクエリでは、一般的なデフォルトのステータスコード(例:
PLANNING_PLANNED FINAL、TENDER_ACCEPTED)を使用しています。OTMの導入環境でカスタムステータスコードを使用している場合があります。その場合は、システム設定に合わせてWHERE句の値を調整してください。
a サンプルクエリ sql
WITH ShipmentBase AS (
SELECT s.SHIPMENT_GID, s.SERVPROV_GID, s.LATE_DELIVERY_DATE, s.TRANSPORT_MODE_GID, sc.TotalShipmentCost
FROM GLOGOWNER.SHIPMENT s
LEFT JOIN (
SELECT sc.SHIPMENT_GID, SUM(sc.COST) as TotalShipmentCost
FROM GLOGOWNER.SHIPMENT_COST sc
GROUP BY sc.SHIPMENT_GID
) sc ON s.SHIPMENT_GID = sc.SHIPMENT_GID
WHERE s.INSERT_DATE BETWEEN TO_DATE('[START_DATE]', 'YYYY-MM-DD') AND TO_DATE('[END_DATE]', 'YYYY-MM-DD')
AND s.DOMAIN_NAME = '[YOUR_DOMAIN_NAME]'
),
OrderReleaseInfo AS (
SELECT ssu.SHIPMENT_GID, MIN(orl.INSERT_DATE) as Earliest_OR_Date
FROM GLOGOWNER.S_SHIP_UNIT ssu
JOIN GLOGOWNER.S_SHIP_UNIT_LINE ssul ON ssu.S_SHIP_UNIT_GID = ssul.S_SHIP_UNIT_GID
JOIN GLOGOWNER.ORDER_RELEASE_LINE orl ON ssul.ORDER_RELEASE_LINE_GID = orl.ORDER_RELEASE_LINE_GID
GROUP BY ssu.SHIPMENT_GID
)
-- 1. Transportation Request Received
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Transportation Request Received' AS "ActivityName",
ori.Earliest_OR_Date AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN OrderReleaseInfo ori ON sb.SHIPMENT_GID = ori.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ori.Earliest_OR_Date IS NOT NULL
UNION ALL
-- 2. Shipment Planned
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Planned' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'PLANNING_PLANNED FINAL'
UNION ALL
-- 3. Carrier Assigned
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Carrier Assigned' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'TENDER_ACCEPTED'
UNION ALL
-- 4. Shipment Booked
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Booked' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'SECURE RESOURCES_BOOKED'
UNION ALL
-- 5. Pickup Appointment Scheduled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Pickup Appointment Scheduled' AS "ActivityName",
stp.APPT_START_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.APPT_START_TIME IS NOT NULL
UNION ALL
-- 6. Goods Picked Up
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Goods Picked Up' AS "ActivityName",
stp.ACTUAL_DEPARTURE_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.ACTUAL_DEPARTURE_TIME IS NOT NULL
UNION ALL
-- 7. Shipment In Transit
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment In Transit' AS "ActivityName",
stp.ACTUAL_DEPARTURE_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.ACTUAL_DEPARTURE_TIME IS NOT NULL
UNION ALL
-- 8. Customs Cleared
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Customs Cleared' AS "ActivityName",
se.EVENT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
se.REMARK_TEXT AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_EVENT se ON sb.SHIPMENT_GID = se.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE se.EVENT_CODE_GID = '[Your Customs Cleared Event Code]'
UNION ALL
-- 9. Delivery Appointment Scheduled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Delivery Appointment Scheduled' AS "ActivityName",
stp.APPT_START_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = (SELECT MAX(s2.STOP_NUM) FROM GLOGOWNER.SHIPMENT_STOP s2 WHERE s2.SHIPMENT_GID = stp.SHIPMENT_GID)
AND stp.APPT_START_TIME IS NOT NULL
UNION ALL
-- 10. Goods Delivered
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Goods Delivered' AS "ActivityName",
stp.ACTUAL_ARRIVAL_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = (SELECT MAX(s2.STOP_NUM) FROM GLOGOWNER.SHIPMENT_STOP s2 WHERE s2.SHIPMENT_GID = stp.SHIPMENT_GID)
AND stp.ACTUAL_ARRIVAL_TIME IS NOT NULL
UNION ALL
-- 11. Proof of Delivery Received
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Proof of Delivery Received' AS "ActivityName",
d.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.DOCUMENT d ON sb.SHIPMENT_GID = d.OBJECT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE d.OBJECT_TYPE_GID = 'SHIPMENT' AND d.DOCUMENT_TYPE_GID = 'POD'
UNION ALL
-- 12. Freight Bill Audited
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Freight Bill Audited' AS "ActivityName",
b.UPDATE_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.BILL b ON sb.SHIPMENT_GID = b.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE b.APPROVAL_STATUS_GID = 'VOUCHER_AUDITED'
UNION ALL
-- 13. Payment Processed
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Payment Processed' AS "ActivityName",
v.UPDATE_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.BILL b ON sb.SHIPMENT_GID = b.SHIPMENT_GID
JOIN GLOGOWNER.VOUCHER v ON b.BILL_GID = v.BILL_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE v.VOUCHER_STATUS_GID = 'VOUCHER_PAID' -- This status may vary based on configuration
UNION ALL
-- 14. Shipment Cancelled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Cancelled' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID LIKE '%CANCELLED%'; 準備はできましたか?
このテンプレートを使って生のデータを具体的な改善案につなげ、輸送プロセスを大きく改善してください。今日から最適化を始めましょう。
今日から輸送管理を最適化
サイクルタイムを30%短縮し、Oracle OTMのボトルネックを解消します。
クレジットカード不要・14日間無料トライアル