Intégration avec des systèmes d’exécution de fabrication tiers

Certaines organisations de fabrication qui utilisent Microsoft Dynamics 365 Supply Chain Management utilisent la fonctionnalité native de Dynamics 365 pour contrôler leurs activités de fabrication pour les machines, les équipements et le personnel. Cependant, d’autres organisations de fabrication, en particulier celles qui ont des exigences de fabrication avancées, utilisent à la place un système d’exécution de production tiers. Les organisations peuvent choisir une solution de système d’exécution de la production tierce parce que, par exemple, elle est spécifiquement adaptée à leur secteur vertical.

Dans la solution intégrée, l’échange de données est entièrement automatisé et se produit en temps quasi réel. Par conséquent, les données sont tenues à jour dans les deux systèmes et aucune saisie manuelle de données n’est requise. Par exemple, lorsque la consommation de matière est enregistrée dans le système d’exécution de la production, l’intégration garantit que la même consommation est également enregistrée dans Dynamics 365. Par conséquent, des enregistrements de stock à jour sont disponibles pour d’autres processus importants, tels que la planification et les ventes.

La solution permet aux utilisateurs de Supply Chain Management de s’intégrer plus rapidement, plus facilement et à moindre coût aux systèmes d’exécution de la production tiers. Elle offre les fonctionnalités suivantes :

  • Événements commerciaux et interfaces prenant en charge les processus clés d’exécution de la production
  • Un tableau de bord centralisé où vous pouvez suivre l’historique du traitement des événements, et dépanner et corriger les processus qui échouent

L’illustration suivante montre une collection typique d’événements, de processus et de messages commerciaux qui sont échangés dans une solution intégrée.

Scénario d’intégration classique.

Activer la fonction d’intégration de système d’exécution de la production

Avant de pouvoir utiliser cette fonctionnalité, un administrateur doit l’activer dans votre système comme décrit dans la procédure suivante.

  1. Accédez à Administration système > Paramétrage > Configuration des licences.
  2. Assurez-vous que la clé de licence Pointage est activée (affiche une coche). Cette clé de licence est requise car elle contrôle les fonctionnalités et les données du système d’exécution de fabrication. S’il n’est pas activé, procédez comme suit :
    1. Mettez votre système en mode maintenance comme décrit dans Mode maintenance.
    2. Sur la page Configuration de la licence, cochez la case Pointage.
    3. Désactiver le mode maintenance comme décrit dans Mode maintenance
  3. Accédez au Administration système > Espaces de travail > Gestion des fonctionnalités.
  4. Utilisez l'espace de travail Gestion des fonctionnalités pour activer la fonctionnalité Intégration du système d’exécution de la fabrication. (À partir de la version 10.0.29, de Supply Chain Management, cette fonctionnalité est activée par défaut. À partir de la version 10.0.32, de Supply Chain Management, cette fonctionnalité est obligatoire et ne peut pas être désactivée.)

Processus disponibles pour l’intégration de système d’exécution de la production

Vous pouvez activer tout ou partie des processus suivants pour l’intégration.

Nom du processus Description
Lancer les ordres de fabrication et les événements commerciaux de changement de statut des ordres de fabrication Ce processus fournit un événement commercial que le système d’exécution de la production peut écouter, pour obtenir des informations sur les ordres de fabrication qui devraient être produits. Les données de référence liées à l’ordre de production devraient être partagées entre Supply Chain Management et le système d’exécution de la production via l’Open Data Protocol (OData) ou des entités de données.
Démarrer l’ordre de fabrication Ce processus fournit à Supply Chain Management des informations sur les ordres de fabrication lancés à l’aide du système d’exécution de la production. Il garantit que les deux systèmes ont une vue à jour de toutes les activités de fabrication.
Rapporter la quantité produite ou mise au rebut Ce processus fournit à Supply Chain Management des informations sur les quantités de marchandises et d’erreurs signalées sur une tâche de production à l’aide du système d’exécution de la production. Il garantit que les chefs d’atelier ont une vue à jour de l’avancement du plan de production.
Signaler la consommation de matières premières Ce processus fournit à Supply Chain Management les informations du système d’exécution de la production sur les quantités de matières consommées. Des enregistrements de stock à jour sont mises à disposition pour d’autres processus importants, tels que la planification et les ventes.
Signaler le temps consommé pour l’opération Ce processus fournit à Supply Chain Management des informations sur le temps utilisé pour une opération spécifique.
Terminer l’ordre de fabrication Ce processus informe Supply Chain Management que le système d’exécution de la production a mis à jour un ordre de fabrication à son statut final de Terminé. Ce statut indique qu’aucune autre quantité ne sera produite sur l’ordre de fabrication.

Surveiller les messages entrants

Pour surveiller les messages MES entrants dans le système, accédez à Contrôle de la production > Configuration > Exécution de la fabrication > Intégration des systèmes d’exécution de la fabrication.

Tous les messages pour un ordre de fabrication spécifique sont traités dans l’ordre dans lequel ils sont reçus. Cependant, les messages pour différents ordres de fabrication peuvent ne pas être traités dans l’ordre reçu car les travaux par lots sont traités en parallèle. En cas d’échec, le traitement par lots tentera de traiter chaque message trois fois avant de le définir au statut Échoué.

La page Intégration des systèmes d’exécution de fabrication fonctionne de la même manière que la page Messages du processeur de messages et représente des fonctionnalités très similaires. (Il affiche même les messages MES en plus d’autres types de messages.) Pour plus d’informations sur l’utilisation de l’une ou l’autre des pages pour examiner les messages, rechercher et corriger les messages ayant échoué, etc., voir Page des messages du processeur de messages

Appeler l’API

Pour appeler l’API d’intégration de système d’exécution de la production, envoyez une demande POST à l’URL de point de terminaison suivante :

/api/services/SysMessageServices/SysMessageService/SendMessage

Le corps de la demande que vous envoyez doit ressembler à l’exemple suivant. Remplacez les valeurs de _companyId, _messageType et _messageContent comme demandé. Pour plus d’informations sur les différents types de messages pris en charge par l’API et sur la conception de leur contenu, consultez la section suivante.

{
    "_companyId": "USMF",
    "_messageQueue": "JmgMES3P",
    "_messageType": "ProdProductionOrderReportFinished",
    "_messageContent":
    "{\"ProductionOrderNumber\": \"P000123\", \"ReportFinishedLines\": [{\"ItemNumber\": \"A0001\", \"ReportedGoodQuantity\": 10, \"ReportAsFinishedDate\": \"2021-01-01\"}]}"
}

Types de messages et contenu de l’API

Cette section décrit chaque type de message pouvant être échangé via l’API d’intégration de système d’exécution de la production.

Message Démarrer un ordre de fabrication

Pour le message démarrer l’ordre de fabrication, la valeur _messageType est ProdProductionOrderStart. Le tableau suivant montre les champs pris en charge par ce message.

Nom du champ Status Type
ProductionOrderNumber Obligatoire Chaîne
StartedQuantity Facultatif Réel
StartedDate Facultatif date ;
AutomaticBOMConsumptionRule Facultatif Enum (PrincipeEffacement | Toujours | Jamais)

Message Déclarer comme terminé

Pour le message signaler comme terminé, la valeur _messageType est ProdProductionOrderReportFinished. Le tableau suivant montre les champs pris en charge par ce message.

Nom du champ Status Type
ProductionOrderNumber Obligatoire Chaîne
ReportFinishedLines Obligatoire Une liste de lignes (au moins une), dont chacune contient la charge utile décrite dans le tableau suivant

Le tableau suivant montre les champs que chaque ligne de la section ReportFinishedLines du message ProdProductionOrderReportFinished prend en charge.

Nom du champ Status Type
LineNumber Facultatif Réel
ItemNumber Facultatif Chaîne
ProductionType Facultatif Enum (MainItem | Formule | Nomenclature | Co_Produit | Sous_Produit | Aucun), extensible
ReportedErrorQuantity Facultatif Réel
ReportedGoodQuantity Facultatif Réel
ReportedErrorCatchWeightQuantity Facultatif Réel
ReportedGoodCatchWeightQuantity Facultatif Réel
AcceptError Facultatif Enum (Oui | Non)
ErrorCause Facultatif Enum (Aucun | Matériel | Machine | PersonnelExploitation), extensible
ExecutedDateTime Facultatif Date et heure
ReportAsFinishedDate Facultatif date ;
AutomaticBOMConsumptionRule Facultatif Enum (PrincipeEffacement | Toujours | Jamais)
AutomaticRouteConsumptionRule Facultatif Enum (DépendantGamme | Toujours | Jamais)
RespectFlushingPrincipleDuringOverproduction Facultatif Enum (Oui | Non)
ProductionJournalNameId Facultatif Chaîne
PickingListProductionJournalNameId Facultatif Chaîne
RouteCardProductionJournalNameId Facultatif Chaîne
FromOperationNumber Facultatif Entier
ToOperationNumber Facultatif Entier
InventoryLotId Facultatif Chaîne
BaseValue Facultatif Chaîne
EndJob Facultatif Enum (Oui | Non)
EndPickingList Facultatif Enum (Oui | Non)
EndRouteCard Facultatif Enum (Oui | Non)
PostNow Facultatif Enum (Oui | Non)
AutoUpdate Facultatif Enum (Oui | Non)
ProductColorId Facultatif Chaîne
ProductConfigurationId Facultatif Chaîne
ProductSizeId Facultatif Chaîne
ProductStyleId Facultatif Chaîne
ProductVersionId Facultatif Chaîne
ItemBatchNumber Facultatif Chaîne
ProductSerialNumber Facultatif Chaîne
LicensePlateNumber Facultatif Chaîne
InventoryStatusId Facultatif Chaîne
ProductionWarehouseId Facultatif Chaîne
ProductionSiteId Facultatif Chaîne
ProductionWarehouseLocationId Facultatif Chaîne
InventoryDimension1 vers InventoryDimension12 Facultatif Chaîne

Les 12 dimensions extensibles (de InventoryDimension1 à InventoryDimension12) nécessitent une personnalisation et ne sont pas toujours utilisées. Pour plus d’informations à leur sujet, consultez Ajouter de nouvelles dimensions de stock via l’extension.

Message de consommation de matériel (liste de prélèvement)

Pour le message consommation de matière (liste de prélèvement), la valeur _messageType est ProdProductionOrderPickingList. Le tableau suivant montre les champs pris en charge par ce message.

Nom du champ Status Type
ProductionOrderNumber Obligatoire Chaîne
JournalNameId Facultatif Chaîne
PickingListLines Obligatoire Une liste de lignes (au moins une), dont chacune contient la charge utile décrite dans le tableau suivant

Le tableau suivant montre les champs que chaque ligne de la section PickingListLines du message ProdProductionOrderPickingList prend en charge.

Nom du champ Status Type
ItemNumber Obligatoire Chaîne
ConsumptionBOMQuantity Facultatif Réel
ProposalBOMQuantity Facultatif Réel
ScrapBOMQuantity Facultatif Réel
BOMUnitSymbol Facultatif Chaîne
ConsumptionInventoryQuantity Facultatif Réel
ProposalInventoryQuantity Facultatif Réel
ConsumptionCatchWeightQuantity Facultatif Réel
ProposalCatchWeightQuantity Facultatif Réel
ConsumptionDate Facultatif Date
OperationNumber Facultatif Entier
LineNumber Facultatif Réel
PositionNumber Facultatif Chaîne
IsConsumptionEnded Facultatif Enum (Oui | Non)
ErrorCause Facultatif Enum (Aucun | Matériel | Machine | PersonnelExploitation), extensible
InventoryLotId Facultatif Chaîne

Message Temps utilisé pour l’opération (carte de gamme)

Pour le message temps utilisé pour l’opération (carte de gamme), la valeur _messageType est ProdProductionOrderRouteCard. Le tableau suivant montre les champs pris en charge par ce message.

Nom du champ Status Type
ProductionOrderNumber Obligatoire Chaîne
JournalNameId Facultatif Chaîne
RouteCardLines Obligatoire Une liste de lignes (au moins une), dont chacune contient la charge utile décrite dans le tableau suivant

Le tableau suivant montre les champs que chaque ligne de la section RouteCardLines du message ProdProductionOrderRouteCard prend en charge.

Nom de champ Status Type
OperationNumber Obligatoire Entier
OperationPriority Facultatif Enum (Primaire | Secondaire1 | Secondaire2 | ... | Secondaire20)
OperationId Facultatif Chaîne
OperationsResourceId Facultatif Chaîne
Worker Facultatif Chaîne
HoursRouteCostCategoryId Facultatif Chaîne
QuantityRouteCostCategoryId Facultatif Chaîne
HourlyRate Facultatif Réel
Hours Facultatif Réel
GoodQuantity Facultatif Réel
ErrorQuantity Facultatif Réel
CatchWeightGoodQuantity Facultatif Réel
CatchWeightErrorQuantity Facultatif Réel
QuantityPrice Facultatif Réel
ProcessingPercentage Facultatif Réel
ConsumptionDate Facultatif date ;
TaskType Facultatif Enum (FileAttenteAvant | Configuration | Processus | Chevauchement | Transport | FileAttenteAprès | Charge)
ErrorCause Facultatif Enum (Aucun | Matériel | Machine | PersonnelExploitation), extensible
OperationCompleted Facultatif Enum (Oui | Non)
BOMConsumption Facultatif Enum (Oui | Non)
ReportAsFinished Facultatif Enum (Oui | Non)

Message Terminer un ordre de fabrication

Pour le message terminer l’ordre de fabrication, la valeur _messageType est ProdProductionOrderEnd. Le tableau suivant montre les champs pris en charge par ce message.

Nom du champ Status Type
ProductionOrderNumber Obligatoire Chaîne
ExecutedDateTime Facultatif Date et heure
EndedDate Facultatif date ;
UseTimeAndAttendanceCost Facultatif Enum (Oui | Non)
AutoReportAsFinished Facultatif Enum (Oui | Non)
AutoUpdate Facultatif Enum (Oui | Non)

Autres informations sur la fabrication

Les messages prennent en charge des actions ou des événements qui se produisent dans l’atelier. Ils sont traités à l’aide de l’infrastructure d’intégration MES décrite dans cet article. La conception suppose que d’autres informations de référence à partager avec le MES (telles que les informations relatives au produit, ou la nomenclature ou la gamme (avec ses temps d’installation et de configuration spécifiques) utilisées dans un ordre de fabrication spécifique) seront extraites du système en utilisant des entités de données via transfert de fichier ou OData.

Recevoir des commentaires sur l’état d’un message

Une fois que le système d’exécution de la production a envoyé un message à Supply Chain Management, il peut être pertinent pour Supply Chain Management de renvoyer des commentaires sur l’état du message. Voici quelques exemples de cas où ce comportement peut être approprié :

  • Personne n’est chargé de superviser en permanence l’intégration du système d’exécution de la production.
  • La personne chargée de superviser l’intégration du système d’exécution de la production souhaite être notifiée par e-mail en cas d’échec d’un message, afin qu’elle sache qu’elle doit prendre des mesures.
  • Le système d’exécution de la production doit afficher un message d’erreur pour informer l’opérateur de l’atelier ou une personne du service informatique qu’il doit prendre des mesures.
  • Le système d’exécution de la production doit recalculer le calendrier de commande après avoir reçu un message d’échec (par exemple, parce qu’un ordre de fabrication n’a pas pu démarrer).

Dans ces cas, vous pouvez profiter de la fonction d’alerte standard dans Supply Chain Management. Pour plus d’informations sur le fonctionnement des alertes standard, consultez les ressources suivantes :

Par exemple, vous pouvez configurer les alertes suivantes pour fournir des commentaires sur l’état d’un message :

  • Créez un événement commercial (« Envoyer en externe ») utilisé lorsqu’un message a Échoué.
  • Envoyez une notification et un e-mail à l’administrateur informatique ou au responsable de l’atelier de production.