輸送管理データテンプレート
輸送管理データテンプレート
- 収集を推奨する属性
- 追跡する主なアクティビティ
- データ抽出ガイド
輸送管理の属性
| 名前 | 説明 | ||
|---|---|---|---|
| Shipment ShipmentId | 個々の出荷を一意に識別するIDです。関連するすべての輸送アクティビティを追跡するための主要なケースIDとして使われます。 | ||
| 説明 Shipment IDは、荷送人から荷受人までの貨物の移動を一意に識別します。この属性はプロセス分析の基盤となり、計画、予約、集荷、輸送、納品、請求など、関連するすべてのイベントを1つのケースにまとめます。 プロセスマイニングでは、Shipment IDごとにイベントを分析することで、輸送ライフサイクルをエンドツーエンドで把握できます。総サイクルタイム、納期遵守パフォーマンス、出荷あたりのコストなどの重要指標の算出に使われ、プロセス効率や顧客サービスの水準を詳しく理解できます。 重要な理由 すべてのプロセスステップをつなぐ重要なケースIDです。出荷ごとの輸送全体を漏れなく分析できます。 入手先 Oracle Transportation Managementの主キーで、通常は出荷管理またはオーダー管理のテーブルにあります。具体的なテーブル名とフィールド名については、OTMの文書を参照してください。 例 SH-0012345SH-0012346SH-0012347 | |||
| アクティビティ名 ActivityName | 出荷の輸送プロセスで発生した特定のイベントまたはマイルストーンの名前です。 | ||
| 説明 この属性は、「出荷計画の完了」「貨物の集荷完了」「貨物の納品完了」など、輸送ライフサイクルの個々のステップを表します。各アクティビティは、出荷の完了に向けて進む個別の業務イベントです。 アクティビティの順序や所要時間の分析は、プロセスマイニングの中心です。実際のプロセスフローを把握し、ステップ間のボトルネックを特定し、標準業務手順への適合性を測定できます。アクティビティの流れに見られる違いから、例外、手戻り、最適な経路からの逸脱を把握できます。 重要な理由 プロセスマップ上のステップを定義し、出荷の流れやボトルネック、逸脱を可視化して分析できます。 入手先 Oracle Transportation Management内のイベント追跡テーブルまたはステータス変更ログから取得します。イベントコードと説明を組み合わせて、個別のアクティビティ名を作成する場合があります。 例 出荷計画の完了貨物の集荷完了通関完了貨物の納品完了 | |||
| イベント時刻 EventTime | 特定の輸送アクティビティまたはイベントが発生した正確な日時です。 | ||
| 説明 このタイムスタンプは、「運送会社の割り当て」や「納品証明の受領」などのアクティビティがシステムに記録された正確な時刻を示します。出荷ごとのイベントの時系列を確定するため、プロセスマイニングの基礎となります。 タイムスタンプの正確さは、時間に基づくすべての分析に欠かせません。アクティビティ間のサイクルタイムやプロセス所要時間の算出、遅延の特定、サービスレベル合意に対するパフォーマンスの評価に使われます。イベント時刻を分析すると、プロセスのどこで時間がかかっているかを特定できます。 重要な理由 イベントを時系列に並べ、サイクルタイムや遅延など、すべてのパフォーマンス指標を算出するために必要なタイムスタンプです。 入手先 OTMのイベント追跡テーブルまたはステータス履歴テーブルにある、イベント関連のタイムスタンプフィールドから取得します。 例 2023-10-26T08:00:00Z2023-10-27T14:30:00Z2023-10-28T09:15:00Z | |||
| 出荷コスト 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 | トラック、鉄道、海運、航空など、出荷に使用する輸送手段です。 | ||
| 説明 この属性は、輸送手段ごとに出荷を分類します。一般的な輸送手段には、トラック貸切(FTL)、トラック混載(LTL)、海運、航空、鉄道があります。出荷の基本的な特性であり、コスト、輸送時間、複雑さに影響します。 分析では、輸送手段が重要な分類軸となります。輸送手段ごとのプロセスパフォーマンスやコストを比較できます。たとえば、輸送中の遅延が起きやすい輸送手段や、1マイルあたりのコストが高い輸送手段を特定し、物流ネットワークに関する戦略的な判断に役立てられます。 重要な理由 輸送手段別にパフォーマンスやコストを分析し、トラック、航空、海運、鉄道それぞれの物流に関するインサイトを得られます。 入手先 OTMの出荷レベルにある標準属性で、通常は「mode」または「transport type」という専用フィールドにあります。 例 FTLLTL海運AIR | |||
| 遅延理由 DelayReason | 出荷の進行が遅れた原因を示すコードまたは説明です。 | ||
| 説明 出荷に遅延が発生した場合、この属性には「天候」「税関保留」「港湾混雑」「機械故障」などの理由が記録されます。OTMで運送会社からの更新情報や手動入力をもとに取得します。 この属性は、納品遅延の根本原因を分析するうえで欠かせません。遅延理由を分類して件数を集計すると、サプライチェーンで頻発する問題を特定できます。特定のルートで信頼性の高い運送会社を選ぶ、文書を整えて通関を迅速化するなど、対象を絞った改善策につなげられます。 重要な理由 出荷遅延の根本原因を把握し、頻発する問題への対策を講じて納期遵守パフォーマンスを改善できます。 入手先 通常、OTMのイベント追跡詳細に記録されます。特定の例外イベントコードや遅延イベントコードに関連付けられている場合があります。 例 天候による遅延税関検査港湾混雑交通渋滞 | |||
| 運送会社名 CarrierName | 出荷を輸送する運送会社またはサービス提供者の名前です。 | ||
| 説明 この属性は、貨物の輸送を担当する物流パートナーを示します。大手貨物輸送会社、地域の宅配業者、海運会社などが該当します。 運送会社別のパフォーマンス分析は、輸送プロセスマイニングの主な目的の1つです。この属性で出荷を分類し、納期遵守率、出荷あたりのコスト、輸送時間、遅延や請求内容の不一致などの問題の発生頻度を比較できます。こうしたインサイトは、運送会社の選定、契約交渉、パフォーマンス管理に役立ちます。 重要な理由 運送会社ごとのパフォーマンスを比較できます。運送会社の選定や交渉、コスト削減に役立ちます。 入手先 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の出荷メインレコードにあり、ワークフローにおける現在の状態を示します。 例 計画済み予約済み輸送中納品済み | |||
| 出荷タイプ 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が実行可能な出荷として計画されたことを示します。たとえば、出荷のステータスが「PLANNING_PLANNED FINAL」に変更されたときに記録されます。 | ||
| 重要な理由 需要フェーズと実行フェーズを分ける重要なマイルストーンです。このアクティビティまでにかかった時間を分析すると、計画の効率やエンジンのパフォーマンスに関するボトルネックを特定できます。 入手先 SHIPMENTテーブルにあるShipmentオブジェクトのステータス履歴から推定します。計画完了を示すステータスへの変更を確認してください。 記録 SHIPMENT.SHIPMENT_STATUS_VALUE_GIDが「Planned」ステータスに変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 支払い処理の完了 | 最終アクティビティで、運送会社へのサービス対価の支払いが正常に処理されたことを示します。このイベントをもって、出荷に関する財務処理が完了します。 | ||
| 重要な理由 このアクティビティで輸送のライフサイクルが完了します。運送会社への支払い処理時間の測定や、運送会社との関係管理に役立ちます。 入手先 関連するVoucherまたはBillのステータスが「PAID」に変わったことから推定します。このデータはVOUCHERテーブルまたはBILLテーブルにあります。 記録 VOUCHER.VOUCHER_STATUS_IDが「PAID」に変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 納品証明の受領 | 署名済み文書など、納品完了を正式に確認する記録を受領し、登録したことを示します。多くの場合、出荷に関連付けられた特定の文書タイプとして記録されます。 | ||
| 重要な理由 PODは請求処理や紛争解決に欠かせません。受領状況を追跡すると、プロセスのコンプライアンスを確保し、決済サイクルを短縮できます。 入手先 明示的なイベントとして記録される場合と、出荷に関連付けられたPOD文書の作成日から推定する場合があります。DOCUMENTテーブルで、文書タイプがPODのレコードを確認してください。 記録 出荷に関連付けられた文書タイプ「POD」の作成タイムスタンプを使用します。 イベントタイプ explicit | |||
| 貨物の納品完了 | 出荷が最終納品先の荷受人に正常に届けられたことを示します。出荷の最後のStopに実際の到着時刻が記録されたときに取得されます。 | ||
| 重要な理由 納期遵守パフォーマンスとエンドツーエンドのサイクルタイムを測定する主要なマイルストーンです。輸送実行プロセスの完了を示します。 入手先 出荷に関連付けられたSHIPMENT_STOPテーブルの最後のStopレコードで、ACTUAL_ARRIVALフィールドに値が設定されたことから推定します。 記録 出荷に対応するSHIPMENT_STOPテーブルの最後のレコードから、ACTUAL_ARRIVALのタイムスタンプを使用します。 イベントタイプ inferred | |||
| 貨物の集荷完了 | 運送会社が出発地で貨物を引き取り、実際の輸送が始まったことを示します。出荷の最初のStopが「DEPARTED」と記録されたときに取得されます。 | ||
| 重要な理由 輸送中フェーズの開始を示す重要なマイルストーンです。運送会社の集荷実績や実際の輸送時間を追跡するうえで欠かせません。 入手先 SHIPMENT_STOPテーブルにある最初のStopのステータスが「DEPARTED」に変わったことから推定します。または、集荷を示す出荷ステータスイベントを追跡します。 記録 出荷に対応するSHIPMENT_STOPテーブルの最初のレコードから、ACTUAL_DEPARTUREのタイムスタンプを使用します。 イベントタイプ inferred | |||
| 輸送依頼の受付 | このアクティビティは、通常はOrder Releaseとして、システム内で輸送需要が作成された時点を示します。Oracle Transportation Managementで新しいOrder Releaseレコードが作成されると記録され、出荷に対する最初の需要を表します。 | ||
| 重要な理由 プロセスの開始点となるこのアクティビティは、エンドツーエンドの総サイクルタイムを測定し、需要の傾向を把握するうえで重要です。依頼から計画までにかかる時間の分析に役立ちます。 入手先 ORDER_RELEASEテーブルにあるOrder Releaseレコードの作成タイムスタンプから取得できる、明示的なイベントです。INSERT_DATEまたは個別の作成日フィールドを使用できます。 記録 ORDER_RELEASEテーブルにあるOrder Releaseの作成タイムスタンプを使用します。 イベントタイプ explicit | |||
| 出荷のキャンセル | 計画後に出荷がキャンセルされ、ライフサイクルが予定より早く終了したことを示します。Shipmentオブジェクトのステータスが「cancelled」に変わったときに取得されます。 | ||
| 重要な理由 キャンセルを追跡すると、プロセス上の例外や失敗を把握できます。需要の変化や計画ミスなど、キャンセルの理由を特定するのに役立ちます。 入手先 SHIPMENTテーブルにあるShipmentオブジェクトのステータス履歴から推定します。「PLANNING_CANCELED」などのステータスへの変更を確認してください。 記録 SHIPMENT.SHIPMENT_STATUS_VALUE_GIDが「Cancelled」ステータスに変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 出荷の輸送開始 | 貨物が集荷され、目的地に向けて輸送中であることを示します。特定の時点を表すものではありませんが、「貨物の集荷完了」アクティビティの直後にこの状態が始まったことを記録します。 | ||
| 重要な理由 輸送フェーズの開始を示すアクティビティです。納品状況の監視や輸送中の遅延特定に欠かせません。「輸送中の遅延ホットスポット」ダッシュボードの基礎となります。 入手先 「貨物の集荷完了」と同じイベントですが、プロセスモデルでは新しいフェーズの開始を示すため、別のアクティビティとして表すことがあります。最初のStopの出発時刻から取得します。 記録 「貨物の集荷完了」と同じです。最初のSHIPMENT_STOPにあるACTUAL_DEPARTUREのタイムスタンプを使用します。 イベントタイプ inferred | |||
| 出荷予約の確定 | 委託が正常に完了した後、運送会社との予約が正式に確定したことを示します。通常、出荷ステータスが「SECURE RESOURCES_BOOKED」または同等のステータスに更新されたときに記録されます。 | ||
| 重要な理由 運送会社の引き受けが確定し、出荷が正式に実行フェーズへ移行したことを示します。出荷計画サイクルタイムのKPIを測定するうえで重要なステップです。 入手先 SHIPMENTテーブルにあるShipmentオブジェクトのステータス変更から推定します。運送会社の割り当て後、確定または予約済みのステータスに変わった時点を追跡します。 記録 SHIPMENT.SHIPMENT_STATUS_VALUE_GIDが「Booked」ステータスに変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 納品予約の設定 | 荷受人との間で納品日時が設定された時点を示します。このイベントは、出荷の最後のStopにある予約データから取得されます。 | ||
| 重要な理由 最終納品の調整における重要なステップです。到着から納品予定までの時間を分析すると、ラストマイル業務のボトルネックが明らかになります。 入手先 SHIPMENT_STOPテーブルにある出荷の最後のStop(納品先)について、予約日時フィールドに値が設定されたことから推定します。 記録 納品Stopの予約フィールドに初めて値が設定された時点のタイムスタンプを使用します。 イベントタイプ inferred | |||
| 通関完了 | 国際輸送の場合、このアクティビティは貨物が国境または港での通関を無事に終えた時点を示します。多くの場合、出荷イベントまたはステータスの更新から取得できます。 | ||
| 重要な理由 通関は、国際物流で大幅な遅延が発生しやすい工程です。このアクティビティを追跡すると、通関サイクルタイムを測定し、改善できます。 入手先 通常、このイベントは手動入力または連携による「Customs」出荷イベントとして記録されます。SHIPMENT_STATUSテーブルで、通関に関連するイベントコードを確認してください。 記録 SHIPMENT_STATUSテーブルにある「Customs Cleared」イベントのタイムスタンプを特定します。 イベントタイプ explicit | |||
| 運賃請求書の監査完了 | このアクティビティは、運賃請求書の監査が完了した時点を示します。運送会社の請求書を出荷の詳細と照合し、内容を確認します。出荷の請求ステータスが「VOUCHER_AUDITED」または同等の状態に変わったときに記録されます。 | ||
| 重要な理由 監査は、財務管理と請求内容の不一致の特定に欠かせません。このアクティビティを分析すると、監査から支払いまでのプロセスを効率化し、運賃請求不一致率のKPIを把握できます。 入手先 出荷に関連付けられたBillオブジェクトのステータス変更から推定します。BILLテーブルで、監査完了に関連するステータス更新を確認してください。 記録 BILL.BILL_STATUS_VALUE_GIDが「Audited」ステータスに変わった時点のタイムスタンプを特定します。 イベントタイプ inferred | |||
| 運送会社の割り当て | 出荷が特定の運送会社に正常に委託され、受諾された時点を示します。出荷の委託ステータスが「TENDER_ACCEPTED」または同等の状態に変わったことから確認できます。 | ||
| 重要な理由 このアクティビティを追跡すると、運送会社の選定と委託プロセスの効率を分析できます。ここで遅延が発生すると、出荷が動き出す前から全体のスケジュールに大きく影響する可能性があります。 入手先 SHIPMENT_TENDERテーブルのステータス履歴から推定します。運送会社が受諾したことを示すステータスのタイムスタンプを確認します。 記録 出荷の委託履歴で、ステータスが「TENDER_ACCEPTED」に変わった時点のタイムスタンプを使用します。 イベントタイプ 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クエリを定義:データモデルエディターの「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に設定するなど、必要に応じてプロパティを構成します。
- データモデルを保存:「Save」アイコンをクリックします。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などのロールが必要です。基盤となるデータベーステーブルへの読み取り専用アクセス権も必要です。
- パフォーマンス:このクエリは複数の大規模テーブルを結合します。データ量の多い環境では、システムへの影響を避けるため、利用の少ない時間帯にレポートを実行してください。レポートを時間内に完了できるよう、日付範囲はできるだけ絞ってください。
クエリの例 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ファイルにエクスポートします。区切り文字はカンマ、テキストの引用符は二重引用符、文字コードは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句の値を調整する必要があります。
クエリの例 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日間の無料トライアル