Aracılığıyla paylaş


Gelen ve giden sevkiyat emirlerini kullanma örneği

Dekont

Azure Active Directory, artık Microsoft Entra ID'dir. Daha fazla bilgi

Mesaj işleme aracılığıyla bu makale, gelen ve giden sevkiyat siparişlerinin nasıl oluşturulacağını gösteren örnek bir senaryo sağlar. USMF örnek tüzel kişilik (şirket) ile ilişkili standart örnek verileri kullanır.

Oluşturma sürecini test etme

İletiler aracılığıyla gelen ve giden sevkiyat siparişleri oluşturma işlemini denemek için, Kaynak sistem kaydı için El ile giden sevkiyat siparişi iletisi oluşturmayı etkinleştir ve El ile gelen sevkiyat siparişi iletisi oluşturmayı etkinleştir seçeneklerini Evet olarak ayarlayın. Daha sonra gönderi sipariş mesajlarını doğrudan Giden sevkiyat sipariş mesajları ve Gelen sevkiyat sipariş mesajları sayfalarında oluşturabilirsiniz.

Örnek iletiler göndermenin bir diğer hızlı yolu da Açık Veri Protokolü (OData) isteklerini kullanmaktır.

Her iki örnekte de Microsoft Dynamics 365 Supply Chain Management'ın ileti işlemcisi daha sonra iletiyi işler ve siparişler ambar sisteminde oluşturulur.

İpucu

İletiler aracılığıyla sevkiyat siparişi oluşturma işlemlerini tamamen atlamak için, bir kaynak sistem için El ile gelen sevkiyat siparişi oluşturmayı etkinleştir ve El ile giden sevkiyat siparişi oluşturmayı etkinleştir ayarlarına izin vererek, gelen sevkiyat siparişlerini ve giden sevkiyat siparişlerini doğrudan sipariş sayfalarında oluşturabilirsiniz.

Aynı ileti yapısı mantığı hem gelen hem de giden sevkiyat siparişi iletileri için geçerlidir:

  • Sipariş başlığı

    • Sipariş satırı 1

    • Sipariş satırı 2

    • Sipariş satırı n

  • Tamamlanan

Bu makalede sağlanan örnek veriler, kullanıcılara yetki vermek için varsayılan şirkete bağlı olmayan bir süreç kullanır. Bu nedenle iletilerin bir dataAreaId değeri içermesi gerekir.

Ön Koşullar

Supply Chain Management ortamını kullanarak bu örneği incelemeden önce sisteminizi aşağıdaki şekilde hazırlamanız gerekir:

Örnek için kimlik doğrulaması ayarlama

Microsoft Entra Kimlik uygulamaları sayfasında, Yönetici kullanıcısını harici bir kaynaktan Supply Chain Management ile tümleştirme sırasında kimlik doğrulama için kullanılan istemciye atayın. Alternatif olarak, varsayılan Warehouse System Integration Operator rolü gibi, tümleştirme iletilerine kimlik doğrulama erişimi olan başka bir kullanıcı atayın. Ürün ana verilerini içe aktarma işleminin bir parçası olarak aynı kullanıcıyı kullanırsanız, Warehouse System Integration Operator rolüne ürün ana veri varlıklarıyla ilgili daha fazla ayrıcalık eklenmelidir.

OData aracılığıyla varlıkları naklettiğinizde, kullanıcının varsayılan şirketinin, varlığın nakledileceği şirketle eşleştiğinden veya şirketin (dataAreaId değer) istek yük iletilerinde belirtildiğinden emin olun. Her iki durumda da sevkiyat siparişi iletileri yalnızca şirket (dataAreaId değer) belirtildiyse tamamlanabilir.

Sevkiyat siparişi iletileri oluşturma

Basit bir gelen sevkiyat siparişi iletisi örneği

InboundShipmentOrderMessages gelen seviyat siparişi üst bilgi iletisi için en azından aşağıdaki verileri sağlamanız gerekir:

  • MessageId: M1
  • dataAreaId: USMF (Varsayılan yetkilendirme kullanıcı şirketine bağlı olarak isteğe bağlı)
  • SourceSystemId: ERP
  • OrderNumber: IO1
  • ReceivingWarehouseId: 51

Varyantlarla birlikte kullandığınızda, InboundShipmentOrderMessages iletisi aşağıdaki örneğe benzer.

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

InboundShipmentOrderLineMessages iletisi aşağıdaki örneğe benzer.

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

İletileri işlemek için üst yazı ve satırlara yönelik bir tamamla iletisi gönderin. İletinin tamamı aşağıdaki örneğe benzer.

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

Dekont

dataAreaId değeri, serbest bırakılan üst yazı ve satır iletileriyle eşleştirilmek için anahtarın bir parçası olarak kullanılır. Bu nedenle dataAreaId değeri belirtilmelidir. Son ek ?cross-company=true yalnızca Microsoft Entra ID başvuruları sayfasında ayarlanan kullanıcının varsayılan şirketinden farklı bir şirket iletisi olduğunu gereklidir.

Basit bir giden sevkiyat siparişi iletisi örneği

OutboundShipmentOrderMessages giden seviyat siparişi üst bilgi iletisi için en azından aşağıdaki verileri sağlamanız gerekir:

  • MessageId: M2
  • dataAreaId: USMF (Varsayılan yetkilendirme kullanıcı şirketine bağlı olarak isteğe bağlı)
  • SourceSystemId: ERP
  • OrderNumber: OO1
  • ShipFromWarehouseId: 51
  • ConsigneeName ya da ReceiverName: Microsoft
  • ConsigneeCountryRegionId ya da ReceiverCountryRegionId: ABD

Varyantlarla birlikte kullandığınızda, OutboundShipmentOrderMessages iletisi aşağıdaki örneğe benzer.

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

OutboundShipmentOrderLineMessages iletisi aşağıdaki örneğe benzer.

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

İletileri işlemek için üst yazıya yönelik bir tamamla iletisi gönderin. İletinin tamamı aşağıdaki örneğe benzer.

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

Dekont

dataAreaId değeri, serbest bırakılan üst yazı ve satır iletileriyle eşleştirilmek için anahtarın bir parçası olarak kullanılır. Bu nedenle dataAreaId değeri belirtilmelidir. Son ek ?cross-company=true yalnızca Microsoft Entra ID başvuruları sayfasında ayarlanan kullanıcının varsayılan şirketinden farklı bir şirket iletisi olduğunu gereklidir.

Sevkiyat siparişleri için ileti işlemci iletileri

İki belge mesaj kuyruğuna içe aktarıldıktan sonra, bunları işlemek ve gerçek gelen ve giden sevkiyat siparişleri oluşturmak için ileti işlemcisini kullanmanız gerekir.