Exempel på användning av inkommande och utgående försändelseorder
Obs
Azure Active Directory är nu Microsoft Entra ID. Lära sig mer
I den här artikeln ges ett exempelscenario som visar hur du skapar ingående och utgående leveransorder via meddelandebehandling. Den använder standardexempeldata som är associerad med USMF-exemplet på juridisk person (företag).
Så här testar du skapandeprocessen
För att testa skapandeprocessen för inkommande och utgående leveransordrar via meddelanden, ställ in Gör det möjligt att skapa meddelande om utgående leveransorder manuellt och alternativet Gör det möjligt att skapa meddelande om inkommande leveransorder manuellt till Ja för en post för Källsystem. Du kan sedan skapa meddelanden om leveransorder direkt på sidorna Utgående leveransordermeddelanden och Inkommande leveransordermeddelanden.
Ett annat snabbt sätt att bokföra exempelmeddelanden är att använda OData-begäran (Open Data Protocol).
I båda exemplen bearbetar meddelandeprocessorn meddelandena Microsoft Dynamics 365 Supply Chain Management och skapar order i lagersystemet.
Tips
För att helt hoppa över processerna för att skapa leveransorder via meddelanden kan du skapa inkommande och utgående leveransordrar direkt på ordersidorna genom att tillåta inställningarna för Gör det möjligt att skapa inkommande leveransorder manuellt och Gör det möjligt att skapa utgående leveransorder manuellt för ett källsystem.
Samma meddelandestrukturlogik gäller för både inkommande och utgående leveransordermeddelanden:
Orderhuvud
Orderrad 1
Orderrad 2
…
Orderrad n
Slutfört
Tips
Fler exempel på HTTP-begäranden för att skapa meddelanden och integrera lager- och produkthuvuddata finns i lagringsplatsen dynamics365scm-warehouse på GitHub.
Krav
Innan du kan arbeta igenom det här exemplet genom att använda en Supply Chain Management-miljö måste du förbereda ditt system på följande sätt:
- Kontrollera versionskraven och aktivera funktionen enligt beskrivningen i Aktivera och konfigurera läge för enbart lagerhantering.
- Arbeta i ett system där standard demodata är installerad och välj den juridiska personen USMF.
- Ställ in minst en post på sidan Källsystem. Detta exempelscenario förutsätter att du har ställt in ett källsystem där fältet Källsystem är angivet till ERP. Mer information finns i Konfigurera dina källsystem.
- Ställ in de nödvändiga nummersekvenserna enligt beskrivningen i Ställ in nummerserier.
Ställ in autentisering för exemplet
På sidan Microsoft Entra ID-appar tilldelar du användaren Administratör till klienten som används för autentisering under interaktion med Supply Chain Management-miljön från en extern källa. Alternativt kan du tilldela en annan användare som har autentiseringsåtkomst till integrationsmeddelandena, till exempel standardrollen Integreringsoperatör för lagerställesystem. Om du använder samma användare som en del av produktens huvuddataimport måste fler privilegier som är relaterade till produktens huvuddataentiteter läggas till i rollen Integreringsoperatör för lagerställesystem.
När du publicerar entiteter via OData måste du antingen se till att användarens standardföretag matchar företaget som entiteten kommer att publiceras till, eller att företaget (dataAreaId
-värdet) specificeras i meddelanden om nyttolast för begäran. Hur som helst kan meddelanden om leveransorder endast fyllas i om företaget (dataAreaId
-värdet) anges.
Skapa leveransordermeddelanden
Exempel på ett enkelt meddelande om inkommande leveransorder
För rubrikmeddelandet InboundShipmentOrderMessages
för inkommande leveransorder måste du åtminstone tillhandahålla följande data:
MessageId
: M1dataAreaId
: USMF (Valfritt, beroende på standardauktoriseringsanvändarföretaget)SourceSystemId
: ERPOrderNumber
: IO1ReceivingWarehouseId
: 51
När du använder variabler ser meddelandet InboundShipmentOrderMessages
ut som följande exempel.
POST {{resource}}/data/InboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ReceivingWarehouseId": "{{Warehouse}}"
}
Meddelandet InboundShipmentOrderLineMessages
ser ut som följande exempel.
POST {{resource}}/data/InboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"ExpectedQuantity": 10,
"ExpectedUnitSymbol": "Pcs"
}
För att bekräfta meddelanden, publicera ett fullständigt meddelande för rubriken och raderna. Det fullständiga meddelandet ser ut som följande exempel.
POST {{resource}}/data/InboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true
Kommentar
dataAreaId
-värdet används som en del av nyckeln för att matcha mot de frisläppta huvud- och radmeddelandena. Därför måste dataAreaId
-värdet anges. Suffixet ?cross-company=true
krävs endast för meddelanden där företaget skiljer sig från användarens standardföretag som är inställt på sidan Microsoft Entra ID-appar.
Exempel på ett enkelt meddelande om utgående leveransorder
För rubrikmeddelandet OutboundShipmentOrderMessages
för utgående leveransorder måste du åtminstone tillhandahålla följande data:
MessageId
: M2dataAreaId
: USMF (Valfritt, beroende på standardauktoriseringsanvändarföretaget)SourceSystemId
: ERPOrderNumber
: OO1ShipFromWarehouseId
: 51ConsigneeName
ellerReceiverName
: MicrosoftConsigneeCountryRegionId
ellerReceiverCountryRegionId
: USA
När du använder variabler ser meddelandet OutboundShipmentOrderMessages
ut som följande exempel.
POST {{resource}}/data/OutboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ShipFromWarehouseId": "{{Warehouse}}",
"ConsigneeName": "{{ConsigneeName}}",
"ConsigneeCountryRegionId": "{{ConsigneeCountryRegionId}}"
}
Meddelandet OutboundShipmentOrderLineMessages
ser ut som följande exempel.
POST {{resource}}/data/OutboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"OrderedQuantity": 10,
"OrderedUnitSymbol": "Pcs"
}
För att bekräfta meddelanden, publicera ett fullständigt meddelande för rubriken. Det fullständiga meddelandet ser ut som följande exempel.
POST {{resource}}/data/OutboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true
Kommentar
dataAreaId
-värdet används som en del av nyckeln för att matcha mot de frisläppta huvud- och radmeddelandena. Därför måste dataAreaId
-värdet anges. Suffixet ?cross-company=true
krävs endast för meddelanden där företaget skiljer sig från användarens standardföretag som är inställt på sidan Microsoft Entra ID-appar.
Meddelandebehandlarmeddelanden för leveransorder
Efter att de två dokumenten har importerats till meddelandekön måste du använda meddelandebehandlaren för att bearbeta dem och skapa de faktiska inkommande och utgående leveransbeställningarna.