次の方法で共有


倉庫固有の在庫トランザクション

倉庫固有の在庫トランザクション (この記事では 倉庫トランザクション と呼びます)は、在庫が倉庫内でどのように保管され、移動されたかに関する情報を格納するデータベース レコードです。 倉庫のトランザクション レコードは、倉庫業務に高度に最適化されています。

Microsoft Dynamics 365 Supply Chain Management 10.0.32 より前のバージョンでは、システムは 1 種類の標準在庫トランザクション (この記事では 在庫トランザクション と呼びます) を使用していました。倉庫業務とその他の種類の在庫取引の両方に対応します。 ただし、新しいシステムでは、倉庫トランザクションが適用される場合はそれを使用することをお勧めします (ただし、在庫トランザクションは他の機能をサポートするために引き続き使用されます)。 倉庫業務の場合、倉庫取引は在庫取引と比較して多くの利点があります。 次にいくつか例を挙げます。

  • 特に、大量のシリアル番号やバッチ番号 (分析コード) を含むシナリオにおいて、倉庫作業のパフォーマンスが大幅に向上します。
  • 倉庫業務をサポートするために必要な在庫トランザクション レコードの数を削減することにより、スケーラビリティが向上しました。 標準の在庫トランザクションではさらに多くのレコードが生成されるため、データベースに大きな負荷がかかる可能性があります。

倉庫トランザクションと在庫トランザクションの比較

倉庫トランザクションはいくつかの点で在庫トランザクションとは異なります。 主な違いは次の通りです:

  • 倉庫トランザクションはアイテムを一括して操作できます。 つまり、1 つの倉庫トランザクションで、異なるシリアル番号またはバッチ番号を持つアイテムのセットを予約、発行、または受け取ることができます。 この機能により、システムは検証の繰り返しを回避し、効率的なセットベースの操作を使用できるようになります。 また、システムによって生成されるデータの量も削減されます。 項目セットは再利用できるため、同じ情報を複数回記録する必要がありません。
  • 倉庫トランザクションでは財務情報やコスト情報は保持されません。 これらは倉庫業務でのみ使用され、財務的な影響はありません。 この変更により、データベースで必要なフィールド、インデックス、および検証の数が大幅に減少します。 財務に影響を与える倉庫業務 (棚卸、調整、調整など) の場合、システムは引き続き在庫トランザクションに依存します。
  • 倉庫トランザクションは不変です。 したがって、一部のシステム プロセスを除き、更新または削除されることはありません。 このプロパティにより、トランザクションの分割が回避されるため、システム パフォーマンスがより予測可能になります。 また、システム内で発生したことのより詳細な監査ログも可能になります。 追加の詳細は調査中に役立つ場合があります。
  • 倉庫トランザクションは頻繁にアーカイブされます。 この機能は、倉庫トランザクション テーブルのサイズを小さく保つのに役立ちます。 また、システムがアクティブなトランザクションと完了したトランザクションに対して異なるデータ モデルを実装できるようになります。 アクティブなトランザクションのデータ モデルは、挿入用に最適化されています。 (この最適化は、モバイル デバイスの高速操作にとって重要です。)対照的に、完了したトランザクションのデータ モデルはクエリ用に最適化されています。

前提条件

この機能を使用する前に、以下の前提条件を満たしている必要があります:

倉庫トランザクションをサポートするためにカスタマイズを監査および更新します

倉庫固有の在庫トランザクション 機能を有効にすると、システムで次の変更が行われます:

  • システムは、倉庫業務のための在庫トランザクションを生成しなくなります。 代わりに倉庫トランザクションを使用します。 したがって、倉庫業務に関連する在庫トランザクションに依存するカスタマイズと拡張機能は更新する必要があります。 この変更は、倉庫トランザクションを使用するように構成した倉庫シナリオにのみ影響します。 (詳細については、この記事の 倉庫トランザクションを使用するシナリオを選択する セクションを参照してください。)
  • いくつかの既存のメソッドは、倉庫操作の処理時に呼び出されなくなります。

この機能を有効にしようとすると、システムは一連のチェックを実行して、これらの変更が原因で機能しなくなる可能性のある拡張機能を特定します。 問題が見つかった場合は、拡張機能を特定し、更新する必要がある方法を説明するエラー メッセージが表示されます。 機能を有効にしようとしたときにこのようなメッセージが表示された場合は、次の手順に従ってください。

  1. 開発者または Microsoft パートナーに連絡し、関連する拡張機能を確認して必要な修正を行うように依頼してください。
  2. 問題のある拡張機能を含むモジュールを 検証済み として宣言します。 この変更を行うには、buildValidatedModuleSet() クラスの WHSWarehouseInventoryTransactionFeatureExtensionValidator メソッドを拡張し、フラグ付きの拡張機能を含むモジュールの名前をセットに追加します。
  3. 更新されたモジュールを展開します。 これで、機能検証コントロールによって機能をアクティブ化できるようになります。

注意

機能検証ツールは、考えられるすべての問題を検出できるわけではありません。 たとえば、拡張機能が倉庫作業に関連する在庫トランザクションを読み取っているかどうかを検出できません。 (この機能を有効にすると、これらの在庫トランザクションは存在しなくなります。)

倉庫トランザクションを使用するシナリオを選択してください

システムでは、倉庫取引を使用するシナリオを選択できます。 たとえば、最初は倉庫の移動に新しい倉庫トランザクションを使用し、他のすべての操作には引き続き在庫トランザクションを使用できます。 したがって、倉庫固有の在庫トランザクション 機能が有効になる前にカスタマイズされたシステムを使用している組織は、倉庫トランザクションの使用に徐々に移行できる柔軟性を備えています。 カスタマイズが最も少ないシナリオから始めることも、パフォーマンスの向上が最も必要なシナリオから始めることもできます。

倉庫トランザクションを使用するシナリオを選択するには、次の手順に従います。

  1. 倉庫管理 > 設定 > 倉庫管理パラメーターの順に移動します。
  2. 全般 タブの 倉庫在庫取引メカニズム クイックタブで、倉庫トランザクションを使用する各シナリオで、倉庫在庫トランザクションを使用する チェックボックスを選択します。 このチェックボックスをオフのままにしたシナリオでは、引き続き在庫トランザクションが使用されます。
  3. アクション ウィンドウで、保存を選択します。

一部の倉庫作業タイプは、他のシステム プロセス (調整/調整や計数操作など) の単なるラッパーであり、引き続き在庫トランザクションを使用します。 これらの操作により、すべての在庫分析コードの手持在庫が変更されるため、財務に影響を与えます。

ソース ドキュメント トランザクションは引き続きインベントリ トランザクション (InventTrans テーブル内のレコード) を使用して表され、引き続きインベントリ スタックを使用します。 たとえば、販売ピッキング シナリオでは、販売明細に関連する予約は依然として在庫トランザクションで表されます。 ただし、販売注文を倉庫にリリースすると、作成される作業では倉庫トランザクションが使用されます。 作業が完了すると、販売ラインの在庫トランザクションは 選択済み ステータスに更新され、作業で在庫トランザクションが使用されたかのように、すべての特定の分析コード値が割り当てられます。

倉庫トランザクションのレビュー

倉庫トランザクション ページには、倉庫トランザクションと在庫トランザクションの両方が表示されます。 対照的に、在庫トランザクション ページには在庫トランザクションのみが表示されます。 したがって、倉庫トランザクション ページのみに、倉庫業務に関連するすべてのトランザクションが表示されます。 たとえば、販売ピッキング シナリオで、販売注文に関連するすべてのトランザクションを表示したい場合は、倉庫トランザクション ページを開く必要があります。 受注在庫トランザクションと作業関連の倉庫トランザクションの両方が表示されます。 在庫トランザクション ページには、販売注文取引のみが表示されます。

倉庫トランザクション ページの目的は、倉庫の管理に関連するすべてのトランザクションを表示することです。 注文済 または 注文中 ステータスの在庫取引は表示されません。 手持ち在庫 ページや 倉庫在庫トランザクション ページなど、システム内のいくつかの場所から開くことができます。

たとえば、選択した商品の 手持ち在庫 ページから 倉庫トランザクション ページを開くには、次の手順に従います。

  1. 製品管理情報 > 製品 > リリースされた製品の順に移動します。

  2. リリース済製品を選択します。

  3. アクション ペインの 在庫の管理 タブの 表示 グループで、手持ち在庫 を選択します。

    ノート

    選択した商品の しべての トランザクションを表示するには、代わりに 倉庫トランザクション を選択します。

  4. 手持ち在庫ページで、検査したい手元在庫の行を選択します。

  5. アクション ペインで倉庫トランザクションを選択します。

倉庫トランザクション そして 在庫トランザクション ページでも同様の機能が提供されます。 しかし 倉庫トランザクション ページは、倉庫業務に適用される機能に限定されています。 実行できるアクションは次のとおりです。

  • 表示する分析コードを管理するには、アクション ペインの 分析コードの表示 を選択します。
  • 選択した行と同じ在庫分析コードを持つすべてのトランザクションを表示するには、アクション ペインの インベントリ タブで、分析コードの倉庫トランザクション を選択します。
  • 選択した行の在庫分析コードをトレースするには、 アクション ペインの インベントリ タブで トレース を選択し、在庫分析コード のトレース ページを開きます。
  • 選択した行のバッチ属性の詳細を表示するには、アクション ペインの 在庫 タブで 在庫バッチ属性 を選択します。

倉庫トランザクションのアーカイブ

倉庫トランザクションと在庫トランザクションは性質が若干異なるため、システムは在庫トランザクションよりも頻繁に倉庫トランザクションをアーカイブすることができます。 倉庫作業が完了する (クローズまたはキャンセルされる) と、関連するすべての倉庫取引がシステムによってアーカイブされます。 アーカイブされた倉庫トランザクションは、アーカイブされていないトランザクションと同様に、ユーザー インターフェイス (UI) を通じて引き続き利用できます。 しかし、これらのトランザクションは、高速な挿入 (アクティブ トランザクション) に最適化されたストレージから、クエリ (アーカイブ トランザクション) に最適化されたストレージに移動されます。 システムはこの区別を検出することができ、たとえば手元再計算の整合性チェックが行われるときや、在庫分析コードのトレース ページが使用されるときに、アーカイブされた倉庫トランザクションを考慮します。

アーカイブ手順は、倉庫在庫トランザクションのアーカイブ プロセス オートメーション バックグラウンド プロセスによって実装されます。 このプロセスは、倉庫固有の在庫トランザクション 機能を有効にすると自動的に登録されます。 既定では、10 分ごとに実行されます。 ただし、システム管理者は、実際のシステムの使用状況に基づいて、繰り返しプロパティを変更できます。

倉庫在庫トランザクションのアーカイブ プロセスの繰り返しプロパティを変更するには、次の手順に従います。

  1. システム管理 > 設定 > プロセスの自動化 にアクセスします。
  2. バックグラウンド プロセス タブのグリッドで、名前 フィールドが 倉庫在庫トランザクションのアーカイブ に設定されている行を選択します。
  3. ツール バーの 編集 を選択します。
  4. バックグラウンド プロセスの編集 ダイアログが開きます。 必要に応じて構成を確認および編集し、OK を選択します。

倉庫在庫トランザクションのアーカイブ プロセスの実行履歴を確認するには、以下の手順に従ってください。

  1. システム管理 > 設定 > プロセスの自動化 にアクセスします。
  2. バックグラウンド プロセス タブのグリッドで、名前 フィールドが 倉庫在庫トランザクションのアーカイブ に設定されている行を選択します。
  3. ツールバーで 最新の結果を表示する を選択します。
  4. 実行結果 ダイアログ ボックスに、各プロセスの実行リストが表示されます。 ここでは、各プロセスが成功したかどうかを確認し、その実行ログを表示できます。

よくあるご質問

このセクションでは、倉庫固有の在庫トランザクションについてよく寄せられる質問に対する回答を提供します。

マイクロソフトは、手持ち在庫を InventTrans と WHSInventReserve テーブルから切り離す予定ですか?

これらのテーブルから手持ち在庫を除去する計画は現在存在されません。

新しいトランザクション タイプは何を表し、WHSInventoryTransactionTable テーブルでどのように使用されますか?

WHSInventoryTransactionTable テーブルには、以下の 4 種類のトランザクション (WHSInventoryTransactionTypeEnum で定義) が含まれます。

  • 物理的な問題 - 物理的に発行されている品目を表します。
  • 物理的な受領 - 物理的に受け取られる品目を表します。
  • 物理的な予約 - 品目の予約を表します。
  • 削除された予約 - 予約を削除する明示的な個別のトランザクション タイプを表します。 アーカイブ プロセス中に予約関連のすべてのトランザクションを削除して、設定に応じてスペースを節約できます。

ItemSetId とライセンス 契約の違い、今後の両方の処理方法に関するガイダンスは存在しますか?

InventTrans - ベースの在庫は、品目のセットに対する在庫操作 (発行受領予約など) を表現するようには設計されていませんでした。 ライセンス契約 (倉庫作業でターゲット ライセンスライセンスを購入するライセンスなど) も、このような品目セットの一例です。 InventTrans ベースの在庫スタックから見れば、ナンバープレートは InventDim の他の保管分析コードと同じようなコードに過ぎません。 新しいインベントリスタックにおける品目セットの概念は、このギャップに対処することを目的としています。 最初のピッキングでは、品目セットが構築され、その後の作業 (ステージに置くステージからピッキングするベイドアに置くなど) では、その品目セットが再利用されます。 この方法により、移動される品目に関する情報が記録されるのを防できます。 しかし、ナンバー プレートは新システムでも使用されます。

その他のリソース

  • この機能の詳細については、有用なガイドを見つけることができる 倉庫在庫トランザクション Yammer グループへの参加をご検討ください。倉庫トランザクションの使用に関する質問を投稿することができます。