入庫オーダーと出庫オーダーの使用例

メモ

Azure Active Directory は Microsoft Entra ID になりました。 詳細はこちら

この記事は、メッセージ処理による入庫と出庫オーダーの作成方法のシナリオを例示しています。 ここでは、USMF サンプル法人 (会社) に関連付けられた標準サンプル データを使用します。

作成プロセスをテストする方法

メッセージを介して出荷注文 (受信) および出荷注文を作成するプロセスを試すには、ソース システム レコードについて、出庫オーダー メッセージの手動作成を有効化する および 入庫オーダー メッセージの手動作成を有効化する オプションを はい に設定します。 その後、出荷注文メッセージを 出荷注文メッセージ および 出荷注文メッセージのページに直接作成 できます。

サンプル メッセージを簡単に転記するもう 1 つの簡単な方法は、Open Data Protocol (OData) 要求を使用することです。

両方の例では、Microsoft Dynamics 365 Supply Chain Management の メッセージ プロセッサ がメッセージを処理し、倉庫システムで注文が作成されます。

ヒント

メッセージによる出荷注文作成プロセスを完全にスキップするには、ソース システムに対して入庫オーダーの手動作成を有効にする および 出庫オーダーの手動作成を有効にする 設定を許可することにより、入庫オーダーと出庫オーダーを注文ページで直接作成できます。

同じメッセージ構造ロジックが、入庫および出庫の両方の出荷注文メッセージに適用されます。

  • 注文ヘッダー

    • 注文明細行 1

    • 注文明細行 2

    • 注文明細行 n

  • 完了

ヒント

メッセージを作成し、在庫マスタ データと製品マスタ データを統合するためのHTTP要求の例については、 Dynamics365scm-warehouseリポジトリ (有効) にアクセスしてください

前提条件

Supply Chain Management 環境を使用してこの例を実行する前に、次の方法でシステムを準備する必要があります。

  • バージョン要件を確認し、倉庫管理専用モードを有効にして構成する の説明に従って機能を有効にします。
  • 標準の デモ データ がインストールされているシステムで作業し、 USMF 法人を選択します。
  • ソース システム ページで少なくとも 1 つのレコードを設定します。 このシナリオ例では、ソース システム フィールドが ERP に設定されていることを前提としています。 詳細については、ソース システム を参照してください。
  • 数値シーケンスを設定する の説明に従って必要な数値シーケンスを設定します。

例で使用する認証を設定します

Microsoft Entra ID 申請 ページで、外部ソースからの Supply Chain Management 環境で作業中の認証に使用したクライアントに、管理 ユーザーを割り当てます。 あるいは、既定の 倉庫システム統合オペレーター ロールなど、統合メッセージへの認証アクセス権を持つ別のユーザーを割り当てます。 製品マスター データのインポートの一部として同じユーザーを使用する場合は、製品マスター データ エンティティに関連する追加の権限を 倉庫システム統合オペレーター ロールに追加する必要があります。

エンティティを OData で投稿する時、ユーザーの既定の会社がエンティティが投稿される会社と一致することを確認します。一致しない場合、会社 (dataAreaId 値) は要求ペイロード メッセージで指定されます。 いずれの場合でも、出荷注文メッセージは、会社 (dataAreaId 値) が指定されたときにのみ完了できます。

出荷オーダー メッセージの作成

単純な入庫オーダー メッセージの例

InboundShipmentOrderMessages 入庫オーダーのヘッダー メッセージには、少なくとも次のデータを指定する必要があります。

  • MessageId: M1
  • dataAreaId: USMF (オプション。既定の認証ユーザー会社に応じて異なります)
  • SourceSystemId: ERP
  • OrderNumber: IO1
  • ReceivingWarehouseId: 51

変数を使用すると、InboundShipmentOrderMessages メッセージは次の例のようになります。

POST {{resource}}/data/InboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ReceivingWarehouseId": "{{Warehouse}}"
}

InboundShipmentOrderLineMessages メッセージは次の例のようになります。

POST {{resource}}/data/InboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"ExpectedQuantity": 10,
"ExpectedUnitSymbol": "Pcs"
}

メッセージをコミットするには、ヘッダーと行の 完了 メッセージを投稿します。 完了したメッセージは次の例のようになります。

POST {{resource}}/data/InboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true

ノート

dataAreaId 値は、リリースされたヘッダーおよび行メッセージと照合するためのキーの一部として使用されます。 そのため、dataAreaId 値を指定する必要があります。 接尾語 ?cross-company=true は、会社が Microsoft Entra ID アプリケーション ページで設定されたユーザーの既定の会社と異なるメッセージにのみ必要です。

単純な出庫オーダー メッセージの例

OutboundShipmentOrderMessages 出庫オーダーのヘッダー メッセージには、少なくとも次のデータを指定する必要があります。

  • MessageId: M2
  • dataAreaId: USMF (オプション。既定の認証ユーザー会社に応じて異なります)
  • SourceSystemId: ERP
  • OrderNumber: OO1
  • ShipFromWarehouseId: 51
  • ConsigneeName または ReceiverName: マイクロソフト
  • ConsigneeCountryRegionId または ReceiverCountryRegionId: USA

変数を使用すると、OutboundShipmentOrderMessages メッセージは次の例のようになります。

POST {{resource}}/data/OutboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ShipFromWarehouseId": "{{Warehouse}}",
"ConsigneeName": "{{ConsigneeName}}",
"ConsigneeCountryRegionId": "{{ConsigneeCountryRegionId}}"
}

OutboundShipmentOrderLineMessages メッセージは次の例のようになります。

POST {{resource}}/data/OutboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"OrderedQuantity": 10,
"OrderedUnitSymbol": "Pcs"
}

メッセージをコミットするには、ヘッダーの 完了 メッセージを投稿します。 完了したメッセージは次の例のようになります。

POST {{resource}}/data/OutboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true

ノート

dataAreaId 値は、リリースされたヘッダーおよび行メッセージと照合するためのキーの一部として使用されます。 そのため、dataAreaId 値を指定する必要があります。 接尾語 ?cross-company=true は、会社が Microsoft Entra ID アプリケーション ページで設定されたユーザーの既定の会社と異なるメッセージにのみ必要です。

出荷オーダーのメッセージ プロセッサ メッセージ

2 つのドキュメントが メッセージ キュー にインポートされた後、メッセージ プロセッサ を使用して処理し、実際の入庫オーダーおよび出庫オーダーを作成します。