Votre Template de Données de Planification de la Production
Votre Template de Données de Planification de la Production
- Attributs recommandés pour l'analyse de la planification de la production
- Activités clés de planification de la production à suivre
- Guide détaillé d'extraction de données pour SAP S/4HANA
Attributs de planification de la production
| Nom | Description | ||
|---|---|---|---|
| Activité Activity | Le nom de l'événement ou de la tâche spécifique qui s'est produit à un moment donné du processus de planification de la production. | ||
| Description Cet attribut enregistre les étapes et les jalons distincts du cycle de vie de l'ordre de production. Les exemples incluent 'Ordre de production créé', 'Disponibilité des matériaux vérifiée', 'Production démarrée' et 'Ordre clôturé financièrement'. Chaque activité représente une action spécifique ou un changement de statut documenté dans le système. L'analyse de la séquence et de la fréquence de ces activités est le cœur du Process Mining. Elle aide à visualiser le flux de processus, à identifier les écarts par rapport à la procédure standard et à repérer les activités qui causent des retards ou nécessitent des retouches fréquentes, telles que 'Plan de production ajusté'. Pourquoi c'est important Il définit les étapes du processus, permettant la découverte et la visualisation du workflow de production réel et de ses variations. Où obtenir Dérivé des changements de statut dans des tables comme JEST et JCDS, des codes de transaction utilisés (par exemple, CO01 pour créer), ou des enregistrements de confirmation spécifiques dans AFRU. Exemples Ordre de production crééOrdre de production libéréProduction démarréeConfirmation finale saisieRéception de marchandises enregistrée | |||
| Heure de début StartTime | L'horodatage indiquant le début d'une activité ou d'un événement spécifique. | ||
| Description Cet attribut fournit la date et l'heure pour chaque événement enregistré dans le processus de production. C'est la base temporelle de toute analyse de processus basée sur le temps. L'heure de début est cruciale pour calculer les durées entre les activités, mesurer le temps de cycle total d'un ordre de production et comprendre le timing des événements. Elle permet l'analyse des goulots d'étranglement, des temps d'attente et du respect du planning en comparant les horodatages réels aux dates prévues. Pourquoi c'est important Il fournit le contexte chronologique de tous les événements, rendant possible l'analyse des performances, des durées et des goulots d'étranglement du processus. Où obtenir Ces informations se trouvent généralement dans les tables de documents de modification (CDHDR/CDPOS) pour les changements de statut, les tables de confirmation (AFRU) pour les étapes d'exécution, et les tables d'en-tête (AFKO) pour les dates de création. Exemples 2023-10-26T09:00:00Z2023-10-26T14:30:00Z2023-10-27T08:15:00Z | |||
| Ordre de production ProductionOrder | L'identifiant unique d'un ordre de production, servant d'identifiant de cas principal pour le processus de planification de la production. | ||
| Description Le numéro d'ordre de production est une clé unique générée par SAP S/4HANA pour gérer et suivre toutes les activités liées à la fabrication d'une quantité spécifique de produit. Il relie tous les événements connexes, de la planification et la libération à l'exécution et au règlement final. Dans le Process Mining, cet attribut est essentiel pour regrouper tous les événements liés en une seule instance de processus de bout en bout. L'analyse des processus par ordre de production permet de mesurer des indicateurs de performance clés tels que le temps de cycle, le respect du planning et l'identification des goulots d'étranglement affectant des séries de production spécifiques. Pourquoi c'est important C'est l'attribut fondamental qui connecte toutes les étapes du processus, permettant une analyse complète au niveau du cas du cycle de vie de la production du début à la fin. Où obtenir Ceci est le numéro d'ordre de production, généralement trouvé dans les tables SAP comme AFKO (champ AUFNR) et AFPO. Exemples 100056710008341001299 | |||
| Dernière mise à jour des données LastDataUpdate | Le *timestamp* indiquant quand les *data* ont été rafraîchies ou extraites pour la dernière fois du système source. | ||
| Description Cet attribut enregistre la date et l'heure de la dernière extraction de données. C'est une pièce essentielle de métadonnées qui informe les utilisateurs sur la fraîcheur des données qu'ils analysent. Connaître l'heure de la dernière mise à jour est essentiel pour interpréter correctement l'analyse. Cela aide les utilisateurs à comprendre s'ils visualisent des informations en temps réel ou un instantané d'un moment précis, ce qui affecte la pertinence de toute découverte et des décisions prises sur la base des données. Pourquoi c'est important Il garantit que les utilisateurs sont conscients de l'actualité des données, ce qui est essentiel pour prendre des décisions commerciales précises et pertinentes. Où obtenir Ce Exemples 2024-05-21T02:00:00Z2024-05-22T02:00:00Z2024-05-23T02:00:00Z | |||
| Système source SourceSystem | Le système à partir duquel les données de planification de la production ont été extraites. | ||
| Description Cet attribut identifie l'origine des données, ce qui est essentiel dans les environnements avec plusieurs systèmes intégrés. Pour ce processus, il s'agira généralement de l'instance SAP S/4HANA spécifique. Dans un contexte d'analyse de données plus large, connaître le système source aide à garantir l'intégrité des données et permet un contexte approprié lors de la fusion de données provenant de différentes sources. C'est une pièce fondamentale de métadonnées pour la gouvernance et la traçabilité des données. Pourquoi c'est important Il fournit des métadonnées cruciales pour la gouvernance des données, garantissant que l'origine et le contexte des données de processus sont clairs. Où obtenir Il s'agit généralement d'une valeur statique ajoutée lors du processus d'extraction de données pour identifier le client SAP S/4HANA et l'ID système (SID). Exemples S4P_100S4H_PRD_200S4Q_300 | |||
| `Numéro d'article` MaterialNumber | L'identifiant unique du produit fabriqué dans l'ordre de production. | ||
| Description Le numéro de matériel spécifie l'article que l'ordre de production vise à produire. Il relie le processus de production aux données de base du matériel, y compris sa nomenclature (BOM) et ses informations de gamme. L'analyse du processus par numéro de matériel aide à identifier si certains produits sont plus sujets aux retards, aux retouches ou aux pénuries de matériaux. Cela permet une optimisation du processus spécifique au produit, comme l'ajustement des paramètres de planification ou l'amélioration de la chaîne d'approvisionnement pour des composants spécifiques. Pourquoi c'est important Il permet de filtrer et d'analyser en fonction du produit fabriqué, révélant des inefficacités ou des goulots d'étranglement spécifiques aux produits. Où obtenir Trouvé dans la table des articles de l'ordre de fabrication AFPO (champ MATNR). Exemples RM-1001FG-2050SA-3100-B | |||
| Centre de travail WorkCenter | La machine spécifique, le groupe de machines ou la zone d'assemblage responsable d'une opération. | ||
| Description Un poste de travail représente une unité opérationnelle spécifique au sein d'une usine où une étape de production est exécutée. Il peut s'agir d'une seule machine, d'une ligne de production ou d'un groupe d'employés. L'analyse des données de processus par poste de travail est essentielle pour identifier les goulots d'étranglement de capacité et optimiser l'allocation des ressources. Elle aide à répondre aux questions sur les postes de travail surchargés, sous-utilisés et où les retards sont les plus fréquents pendant la phase d'exécution de la production. Ceci est vital pour le tableau de bord d'identification des goulots d'étranglement de capacité. Pourquoi c'est important Il aide à identifier les machines ou lignes de production spécifiques qui sont des goulots d'étranglement, permettant des améliorations ciblées en matière de capacité et d'utilisation des ressources. Où obtenir Trouvé dans les données d'opération d'un ordre de fabrication, table AFVC (champ ARBPL). Exemples WC-ASSEMBLY-01WC-MILLING-05WC-PACKING | |||
| Date de fin prévue PlannedEndDate | La date d'achèvement prévue pour l'ordre de production selon le plan initial. | ||
| Description La date de fin prévue est la date cible à laquelle toutes les activités de production d'un ordre sont censées être achevées. Cette date est déterminée lors de la phase d'ordonnancement de la planification de la production. Cet attribut est essentiel pour mesurer le respect du planning. En comparant la date de fin prévue avec l'horodatage d'achèvement réel, les organisations peuvent calculer le KPI du taux de respect du planning de production et identifier les ordres en retard. Cette analyse est cruciale pour améliorer la précision de la planification et la satisfaction du client. Pourquoi c'est important Il sert de référence pour mesurer le respect des délais, aidant à évaluer la précision de la planification et l'efficacité de l'exécution. Où obtenir Trouvé dans la table d'en-tête de l'ordre de fabrication AFKO (champ GLTRP). Exemples 2023-11-152023-12-012024-01-20 | |||
| Statut de la Commande OrderStatus | Le statut de traitement actuel de l'ordre de production, tel que Créé, Libéré ou Techniquement achevé. | ||
| Description Le statut de l'ordre indique l'étape globale de l'ordre de production dans son cycle de vie. C'est un résumé des différents statuts système et utilisateur appliqués à l'ordre. Les statuts courants incluent CRTD (Créé), REL (Libéré), CNF (Confirmé), TECO (Techniquement terminé) et CLSD (Clôturé). L'analyse du statut actuel des ordres est utile pour comprendre l'état de l'encours. Dans le Process Mining, le suivi des transitions entre ces statuts au fil du temps est ce qui génère le journal d'événements et permet une vue détaillée du flux de processus et des durées passées à chaque étape. Pourquoi c'est important Il offre une vue d'ensemble du stade du cycle de vie d'une commande et est fondamental pour dériver la séquence d'activités pour le Process Mining. Où obtenir Dérivé du statut système stocké dans la table JEST, lié via le numéro d'objet dans AFKO (champ OBJNR). Exemples CRTDRELTECOCLSD | |||
| Usine Plant | L'installation ou le lieu de fabrication où l'ordre de production est exécuté. | ||
| Description L'usine est une unité organisationnelle dans SAP représentant un site ou une installation de production. Chaque ordre de production est attribué à une usine spécifique où les activités de fabrication auront lieu. Cet attribut est essentiel pour l'analyse comparative entre différents sites de fabrication. En segmentant les données de processus par usine, les organisations peuvent évaluer les performances, identifier les problèmes ou les meilleures pratiques spécifiques au site, et comprendre les variations régionales en termes d'efficacité, de capacité ou de respect des normes. Pourquoi c'est important Il permet de comparer les performances entre différents sites de production, aidant à identifier et à partager les meilleures pratiques ou à résoudre les problèmes spécifiques à un emplacement. Où obtenir Trouvé dans la table d'en-tête de l'ordre de fabrication AFKO (champ DWERK). Exemples 100017102000 | |||
| Date de début planifiée PlannedStartDate | La date de début prévue pour l'ordre de production selon le plan initial. | ||
| Description La date de début prévue est la date cible à laquelle les activités de production pour un ordre sont censées commencer. C'est un résultat clé du processus d'ordonnancement. Cet attribut fournit la base de départ pour l'analyse du respect du planning. La comparaison de la date de début prévue avec l'heure de début réelle aide à comprendre les retards initiaux, tels que les retards dans la mise à disposition des matériaux ou la libération des ordres, qui peuvent avoir un effet en cascade sur l'ensemble du calendrier de production. Pourquoi c'est important Il fournit une base de référence pour mesurer le respect des délais de démarrage, ce qui est crucial pour identifier les retards dans les étapes de pré-production comme la libération de la commande et la disponibilité des matériaux. Où obtenir Trouvé dans la table d'en-tête de l'ordre de fabrication AFKO (champ GSTRP). Exemples 2023-11-102023-11-252024-01-15 | |||
| Est à l'heure IsOnTime | Un indicateur signalant si l'ordre de fabrication a été complété à sa date de fin planifiée ou avant. | ||
| Description Cet attribut booléen calculé mesure directement le respect du planning en comparant la date d'achèvement réelle à la date de fin prévue. Il fournit un résultat clair et binaire pour la ponctualité de chaque ordre de production. Cet attribut est la base du KPI du taux de respect du planning de production. Il simplifie l'analyse en permettant une segmentation facile des ordres livrés à temps par rapport aux ordres en retard, aidant à identifier les caractéristiques communes ou les chemins de processus associés aux retards. Pourquoi c'est important Il fournit une mesure claire et simple du respect des délais pour chaque commande, facilitant l'analyse des causes profondes des retards. Où obtenir Champ calculé. Défini comme vrai si l'horodatage de l'activité « Commande techniquement terminée » est inférieur ou égal à l'attribut « Date de fin planifiée ». Exemples truefaux | |||
| Est un retravail IsRework | Un indicateur signalant si un ordre de fabrication a impliqué un retravail ou des ajustements significatifs du plan après le démarrage. | ||
| Description Cet attribut booléen est dérivé pour identifier les ordres de production ayant fait l'objet d'actions correctives ou de modifications de plan une fois la production déjà en cours. Cela pourrait être déclenché par une activité de retravail explicite ou un événement « Plan de production ajusté » survenant après le « Démarrage de la production ». Ce drapeau est crucial pour le calcul du KPI du taux de retravail de production et pour le tableau de bord des retouches et révisions de production. Il permet un filtrage et une analyse faciles des cas problématiques, aidant à découvrir les causes profondes des problèmes de qualité ou des écarts de processus qui entraînent des retouches coûteuses. Pourquoi c'est important Il isole les cas de retravail, permettant une analyse ciblée pour comprendre et réduire les problèmes de qualité, les déviations de processus et les coûts associés. Où obtenir Champ calculé. Défini comme vrai si une activité « Plan de production ajusté » se produit après une activité « Production démarrée » dans le même cas, ou si un type d'ordre de retravail spécifique est utilisé. Exemples truefaux | |||
| Heure de fin EndTime | L'horodatage indiquant quand une activité ou un événement spécifique a été achevé. | ||
| Description Cet attribut fournit la date et l'heure d'achèvement pour chaque événement enregistré. Il complète l'heure de début pour définir la durée des activités. L'heure de fin est cruciale pour calculer le temps de traitement précis des activités individuelles, qui est une donnée clé pour l'analyse de la capacité et de l'utilisation des ressources. Elle aide à différencier le temps de travail actif du temps d'inactivité ou d'attente, conduisant à une identification plus précise des goulots d'étranglement. Pourquoi c'est important Il permet le calcul de durées d'activité précises, ce qui est essentiel pour analyser l'efficacité des ressources et identifier les goulots d'étranglement du processus. Où obtenir Trouvé dans les tables de confirmation (AFRU) pour les étapes d'exécution. Pour d'autres événements, il peut être identique à l'heure de début si l'événement est instantané. Exemples 2023-10-26T09:45:00Z2023-10-26T15:00:00Z2023-10-27T10:30:00Z | |||
| Priorité de production ProductionPriority | Un code ou une valeur attribué à un ordre de fabrication pour indiquer son urgence ou son importance. | ||
| Description La priorité de production est utilisée par les planificateurs et les ordonnanceurs pour séquencer et prioriser les ordres, en particulier lorsque les ressources sont limitées. Un ordre de priorité plus élevée devrait idéalement être traité avant un ordre de priorité inférieure. L'analyse de cet attribut permet d'évaluer si les priorités assignées sont respectées sur l'atelier. Le tableau de bord de cohérence de la priorisation de la production compare la séquence de traitement à la priorité assignée pour identifier les incohérences, ce qui peut conduire à une meilleure discipline de planification et à un meilleur alignement entre la planification et l'exécution. Pourquoi c'est important Il aide à déterminer si la planification de la production suit les priorités commerciales, garantissant que les commandes critiques sont accélérées comme prévu. Où obtenir Il s'agit souvent d'un champ personnalisé ou basé sur d'autres paramètres de commande. Un emplacement spécifique dépend de la configuration. Exemples ÉlevéMoyenFaible15 | |||
| Quantité confirmée TotalConfirmedQuantity | La quantité totale de matériel qui a été confirmée comme produite pour l'ordre. | ||
| Description Cet attribut représente la quantité cumulative de produits finis ou semi-finis qui ont été déclarés via les confirmations de production. Il suit l'avancement de l'ordre vers son objectif d'achèvement. La comparaison de la quantité confirmée avec la quantité planifiée aide à surveiller l'avancement de la production et à identifier les problèmes de rendement ou les écarts. C'est une mesure fondamentale de la production et elle est utilisée dans divers calculs de performance, y compris les taux de rebut et l'efficacité. Pourquoi c'est important Il suit la production réelle de l'ordre de fabrication, ce qui est essentiel pour suivre les progrès, calculer le rendement et identifier les écarts. Où obtenir Agrégé à partir des enregistrements de confirmation dans AFRU (champ LMNGA pour la quantité de rendement). Exemples 9801000501200 | |||
| Statut de disponibilité des matériaux MaterialAvailabilityStatus | Indique si tous les matériaux requis pour l'ordre de fabrication sont disponibles. | ||
| Description Ce statut reflète le résultat du contrôle de disponibilité des matériaux effectué pour un ordre de production. Il peut indiquer que tous les matériaux sont disponibles, qu'il en manque certains ou que le contrôle n'a pas été effectué. Un statut de « pénurie » est un déclencheur clé de retards potentiels. Cet attribut est essentiel pour le tableau de bord d'analyse d'impact des pénuries de matériaux. Il aide à quantifier les retards causés par l'indisponibilité des matériaux en corrélant un statut de pénurie avec le temps entre la libération de l'ordre et le début de la production. L'amélioration de cette métrique est essentielle pour un flux de production plus fluide. Pourquoi c'est important Il explique directement les retards entre la libération de la commande et le début de la production, aidant à quantifier l'impact des problèmes de chaîne d'approvisionnement sur la fabrication. Où obtenir Il s'agit d'un statut, souvent dérivé du statut collectif des composants matériels. On le trouve dans le statut système (JEST) avec des statuts tels que 'MSPT' (pénurie de matériel). Exemples DisponiblePénurieNon vérifié | |||
| Temps de cycle de production ProductionCycleTime | Le temps total écoulé entre la libération d'un ordre de production et son achèvement technique. | ||
| Description Cette métrique calculée mesure la durée de bout en bout du cycle de vie d'un ordre de production en exécution. C'est un indicateur de performance clé qui reflète l'efficacité globale du processus de production. Cet attribut est la mesure principale pour le tableau de bord de l'aperçu des délais d'ordre de production et le KPI du temps de cycle moyen des ordres de production. L'analyse de ses composants, tels que les temps d'attente par rapport aux temps de traitement, aide à identifier les plus grandes opportunités d'accélération des processus et de réduction des délais. Pourquoi c'est important Ceci est un KPI essentiel pour mesurer l'efficacité globale de la production et identifier les opportunités d'accélérer l'exécution des commandes. Où obtenir Calculé en trouvant la durée entre l'activité « Ordre de fabrication libéré » et l'activité « Commande techniquement terminée » pour chaque ordre de fabrication. Exemples P5DT12H30MP10DT2HP3D | |||
| Type de commande OrderType | Une classification de l'ordre de fabrication qui définit son objectif et contrôle son traitement. | ||
| Description Le type d'ordre est un élément de configuration clé dans SAP PP qui détermine la manière dont un ordre de production est géré par le système. Il contrôle les plages de numéros, la sélection des données de base, les paramètres de coût et les règles de règlement. Les exemples incluent les ordres de production standard, les ordres de retravail ou les ordres de prototype. L'analyse du processus par type d'ordre permet de comparer les performances et le flux de différents types de processus de production. Cela peut révéler si les ordres de retravail prennent beaucoup plus de temps ou si certains types d'ordres sont plus sujets à des ajustements de planification, fournissant des informations précieuses pour une amélioration ciblée des processus. Pourquoi c'est important Il permet la segmentation de l'analyse par objectif commercial de la commande, permettant la comparaison entre la production standard, le retravail et d'autres processus. Où obtenir Trouvé dans la table d'en-tête de l'ordre de fabrication AFKO (champ AUART). Exemples PP01PP03ZP01 | |||
| Utilisateur User | L'ID système de l'utilisateur qui a créé, modifié ou confirmé un événement d'ordre de production. | ||
| Description Cet attribut capture l'ID utilisateur SAP associé à une transaction spécifique ou à un changement de statut, comme la libération d'un ordre ou la saisie d'une confirmation. Il assure la traçabilité des actions effectuées au sein du système. L'analyse des activités par utilisateur aide à comprendre la répartition de la charge de travail, à identifier les besoins en formation et à garantir le respect des procédures. Par exemple, elle peut mettre en évidence si certains utilisateurs sont fréquemment impliqués dans des ajustements de plan ou si des retards sont associés à des équipes spécifiques. Pourquoi c'est important Il assure la responsabilisation et permet l'analyse de la charge de travail, du comportement spécifique de l'utilisateur et des opportunités de formation potentielles. Où obtenir Généralement trouvé dans les en-têtes de documents de modification (CDHDR, champ UNAME) ou les enregistrements de confirmation (AFRU, champ PERNR pour le numéro de personnel). Exemples CB9980000021JSMITHPLANNER01 | |||
Activités de planification de la production
| Activité | Description | ||
|---|---|---|---|
| Confirmation finale saisie | Cette activité marque la confirmation de la dernière opération dans la gamme de l'ordre de production. Elle signifie que toutes les étapes de fabrication planifiées ont été achevées en atelier. | ||
| Pourquoi c'est important La confirmation finale est un jalon clé qui indique la fin du travail de production physique. Elle est souvent utilisée comme point final plus précis pour mesurer le temps de cycle en atelier avant la réception finale des marchandises. Où obtenir Déduit des données de confirmation dans la table AFRU. Il est identifié comme l'enregistrement de confirmation pour la dernière séquence d'opérations (AFVC-VPLNR) qui a l'indicateur de « confirmation finale » (AFRUD-AUERU) défini. Capture Trouver la dernière confirmation d'opération dans AFRU avec l'indicateur de confirmation finale défini. Type d'événement inferred | |||
| Ordre achevé techniquement | Il s'agit d'une étape de clôture administrative qui empêche toute modification logistique ultérieure de la commande, telle que les mouvements de marchandises ou les confirmations. La commande est considérée comme complète du point de vue logistique. | ||
| Pourquoi c'est important TECO est un point final définitif pour le processus de production, crucial pour le calcul du temps de cycle total de l'ordre de production. Il signale que toutes les activités logistiques sont terminées et que l'ordre est prêt pour le règlement financier. Où obtenir Ceci est déclenché par un utilisateur qui définit le statut sur TECO (Techniquement achevé). L'événement est capturé comme un changement de statut dans la table JCDS avec un horodatage correspondant. Capture Horodatage du changement de statut vers 'TECO' dans la table JCDS. Type d'événement inferred | |||
| Ordre de production créé | Il s'agit de la création initiale de l'ordre de production dans le système, qui sert de demande formelle pour produire une quantité spécifiée d'un produit. Cet événement est explicitement capturé lorsqu'un utilisateur enregistre un nouvel ordre, définissant son statut initial à CRTD (Créé). | ||
| Pourquoi c'est important Marque le début du cycle de vie de l'ordre de fabrication. L'analyse du temps entre la création et la libération aide à identifier les retards administratifs ou de planification avant que la production ne soit formellement planifiée. Où obtenir Cet événement est enregistré dans la table AUFK (données de base de l'ordre) avec la date de création (ERDAT). Le statut de création (CRTD) est enregistré dans les tables JEST et JCDS, lié via le numéro d'objet de l'ordre (OBJNR). Capture Horodatage de AUFK-ERDAT ou du journal de changement de statut vers 'CRTD' dans JCDS. Type d'événement explicit | |||
| Ordre de production libéré | C'est un jalon clé où l'ordre de production est approuvé et mis à disposition pour exécution en atelier. La libération permet de commencer les sorties de marchandises, les confirmations et d'autres étapes d'exécution. | ||
| Pourquoi c'est important Cet événement marque le début officiel du processus de production exécutable et est un point critique pour mesurer les délais. Le temps entre la création et la libération est un KPI clé pour l'efficacité de la pré-production. Où obtenir La libération est explicitement déclenchée par un utilisateur ou une tâche système, résultant en le statut REL. Ce changement de statut est enregistré avec un horodatage dans la table JCDS. La date de libération est également souvent stockée dans AFKO-FTRMI. Capture Horodatage du changement de statut vers 'REL' dans la table JCDS. Type d'événement inferred | |||
| Plan de production ajusté | Représente un changement significatif apporté à l'ordre de production après sa libération, tel qu'un changement de quantité, de dates ou de nomenclature. Ceci est capturé par l'analyse des documents de modification. | ||
| Pourquoi c'est important Des ajustements fréquents peuvent indiquer une instabilité de la planification ou une demande volatile. Cette activité constitue la base du KPI « Taux de révision du plan de production » et aide à identifier les sources de variabilité des processus. Où obtenir Déduit des journaux de modifications enregistrés dans les tables CDHDR (en-tête du document de modification) et CDPOS (éléments du document de modification) pour l'objet ordre de fabrication (AUFK ou AFPO). Les modifications effectuées après la date de libération sont considérées comme des ajustements. Capture Identifiez les modifications dans CDHDR/CDPOS pour les champs clés (par exemple, quantité, dates) après l'événement de libération. Type d'événement inferred | |||
| Production démarrée | Indique le début des activités de production physique pour la commande. Cela est généralement déduit de la première confirmation d'atelier ou de la première sortie de marchandises des composants par rapport à la commande. | ||
| Pourquoi c'est important Cette activité marque la transition de la planification à l'exécution. Elle est essentielle pour suivre le respect du planning en comparant la date de début réelle à la date de début prévue. Où obtenir C'est un événement inféré. Il est généralement dérivé de l'horodatage le plus ancien d'une écriture de mouvement de marchandises (table MSEG, type de mouvement 261) ou d'une écriture de confirmation de temps (table AFRU) associée à l'ordre. Capture Horodatage le plus ancien des AFRU (confirmations) ou MSEG (mouvements de marchandises) pour la commande. Type d'événement inferred | |||
| Réception de marchandises enregistrée | Cet événement enregistre la réception du produit fini de la ligne de production en stock. Il augmente formellement le niveau de stock du matériel produit. | ||
| Pourquoi c'est important C'est un jalon critique représentant l'achèvement de la production. Il est souvent considéré comme la fin du cycle de production pour mesurer la livraison à temps et le délai global. Où obtenir Il s'agit d'une écriture financière explicite enregistrée dans les tables de documents de matériel MSEG (niveau poste) et MKPF (niveau en-tête), généralement avec le type de mouvement 101. Ces documents sont liés à l'ordre de production. Capture Trouver le document matière dans MSEG lié à la commande avec le type de mouvement 101. Type d'événement explicit | |||
| Arrêt imprévu survenu | Cet événement calculé représente une période d'inactivité significative pendant la phase d'exécution de la production. Ce n'est pas un événement système explicite, mais il est dérivé en identifiant de longs intervalles de temps entre des confirmations de production consécutives. | ||
| Pourquoi c'est important Aide à la surveillance des perturbations imprévues comme les pannes de machines ou les problèmes de qualité. L'identification des arrêts fréquents ou longs est essentielle pour améliorer la stabilité et le débit de l'atelier. Où obtenir Ceci est calculé en analysant les horodatages des activités consécutives « Confirmation de production saisie » à partir de la table AFRU. Un écart dépassant un seuil prédéfini est signalé comme un arrêt imprévu. Capture Calculer la différence de temps entre les horodatages de confirmation consécutifs (AFRU-BUDAT/UZEIT). Type d'événement calculated | |||
| Besoins en capacité planifiés | Cette activité implique l'ordonnancement des opérations de l'ordre de production et la vérification de la disponibilité des capacités aux postes de travail requis. Le système évalue les charges de capacité des postes de travail et les nivelle si configuré, déterminant ainsi les dates de production. | ||
| Pourquoi c'est important Cette étape est essentielle pour garantir un planning de production réalisable. L'analyse de sa durée et de ses résultats permet d'identifier les goulots d'étranglement de capacité et d'améliorer la précision de la planification des ressources. Où obtenir Ceci est généralement déduit du statut système indiquant que l'ordre a été planifié, tel que SETC (Ordonnancement effectué). Les dates de début et de fin planifiées (AUFK-GSTRP, AUFK-GLTRP) étant renseignées signalent également l'achèvement de cette activité. Capture Déduit du remplissage des dates planifiées dans AUFK/AFKO ou d'un statut lié à la planification dans JEST. Type d'événement inferred | |||
| Confirmation de production saisie | Représente l'enregistrement de l'avancement pour une opération spécifique au sein de l'ordre de production. Cela inclut la consignation des quantités produites, des rebuts et du temps passé à un poste de travail. | ||
| Pourquoi c'est important Les confirmations offrent une visibilité en temps réel sur l'avancement de l'atelier et sont vitales pour suivre le statut de la production. L'analyse de la fréquence et du calendrier des confirmations aide à surveiller le flux et à identifier les retards entre les opérations. Où obtenir Chaque confirmation est explicitement enregistrée comme une entrée dans la table AFRU (Confirmations d'achèvement de commande) avec un horodatage (BUDAT, UZEIT) et des détails sur l'opération. Capture Enregistré comme document dans la table AFRU. Type d'événement explicit | |||
| Disponibilité des matériaux vérifiée | Représente l'action du système ou de l'utilisateur consistant à vérifier si tous les composants requis pour l'ordre de production sont disponibles dans les quantités requises et à temps. Il s'agit généralement d'un contrôle automatisé lors de la création ou de la libération de l'ordre, ou d'un contrôle manuel, qui met à jour le statut de l'ordre. | ||
| Pourquoi c'est important L'identification précoce des pénuries de matériaux est cruciale pour une planification proactive. Le suivi de cette activité aide à comprendre comment la disponibilité des matériaux impacte la capacité à libérer les commandes et à démarrer la production à temps. Où obtenir Déduit du statut de la commande. Un statut comme MACM (Matériel engagé) ou un changement dans la date de disponibilité du matériel (AFKO-MSERF) indique qu'une vérification a été effectuée. L'absence d'un statut de pénurie de matériel (MSPT) peut également déduire la disponibilité. Capture Déduit des changements de statut liés à l'engagement matériel ou à l'exécution de la transaction COMAC. Type d'événement inferred | |||
| Ordre clôturé financièrement | L'étape finale de clôture où l'ordre est réglé, et aucune autre écriture financière n'est possible. Cela signifie la fin du cycle de vie de l'ordre d'un point de vue du contrôle de gestion et de la comptabilité. | ||
| Pourquoi c'est important Bien que souvent en dehors du cadre de l'analyse pure de la production, cette activité offre une vue complète de bout en bout. Elle peut aider à analyser le temps entre l'achèvement logistique (TECO) et la clôture financière. Où obtenir Ceci est déclenché par un utilisateur qui définit le statut sur CLSD (Fermé). L'événement est capturé comme un changement de statut dans la table JCDS avec un horodatage correspondant. Capture Horodatage du changement de statut vers 'CLSD' dans la table JCDS. Type d'événement inferred | |||
| Ordre de production annulé | Représente l'annulation d'un ordre de production avant son achèvement. Il s'agit d'un état final alternatif, non abouti, pour le processus. | ||
| Pourquoi c'est important L'analyse des commandes annulées peut révéler des problèmes dans la planification de la demande, les données de base ou le processus de vente. Des taux d'annulation élevés peuvent indiquer des problèmes systémiques qui nécessitent d'être résolus. Où obtenir Ceci est déduit du statut système CACL (Annulation) étant défini dans la table JCDS. Alternativement, un indicateur de suppression (AUFK-LOEKZ) peut également signifier une annulation. Capture Horodatage du changement de statut vers 'CACL' dans JCDS ou de la définition de l'indicateur de suppression dans AUFK. Type d'événement inferred | |||
| Pénurie de Matériaux survenue | Cet événement indique que le processus de production a été impacté ou interrompu en raison de l'indisponibilité d'un ou plusieurs composants requis. Le système définit un statut spécifique sur l'ordre pour refléter cela. | ||
| Pourquoi c'est important Le suivi des pénuries de matériaux est essentiel pour l'analyse d'impact des pénuries de matériaux. Il aide à quantifier les retards causés par des problèmes de chaîne d'approvisionnement et à améliorer la planification des matériaux. Où obtenir Ceci est déduit de l'activation du statut 'MSPT' (Pénurie de matériel) pour l'ordre de production. L'horodatage de ce changement de statut peut être trouvé dans la table JCDS. Capture Horodatage du changement de statut vers 'MSPT' dans la table JCDS. Type d'événement inferred | |||
Guides d'extraction
Étapes
- Vérification des prérequis : Assurez-vous de disposer d'un utilisateur dans SAP S/4HANA avec les autorisations appropriées pour accéder aux vues CDS (Core Data Services) requises. Les vues nécessaires incluent
I_ProductionOrder,I_ProdOrdConfirmation,I_MaterialDocumentItem,I_ObjectStatusetI_ChangeDocument. L'accès à un environnement d'exécution SQL connecté à la base de données SAP HANA est également requis, tel que SAP HANA Studio, DBeaver ou un outil ETL externe. - Identifier les détails du système : Notez l'identifiant du système source que vous utiliserez pour l'attribut
SourceSystem. Il s'agit d'un nom logique que vous définissez pour identifier l'origine des données, par exemple,S4H_PROD. - Définir les paramètres d'extraction : Avant d'exécuter la requête, définissez les paramètres clés. Cela inclut les dates de début et de fin de la période d'extraction et tout filtre spécifique comme
PlantouProductionOrderTypepour limiter la portée des données. - Préparer la requête SQL : Copiez la requête SQL complète fournie dans la section
querydans votre client SQL ou votre outil d'extraction de données. - Configurer les placeholders : Remplacez les valeurs des placeholders dans la requête par vos paramètres spécifiques. Cela inclut
_StartDate,_EndDateet l'identifiant du système source. Ajustez le seuil pour l'événementUnplanned Halt Occurred(par exemple,'24:00:00') pour qu'il corresponde à votre contexte métier. - Exécuter la requête d'extraction : Exécutez le script SQL configuré sur la base de données du système SAP S/4HANA. Pour les grands ensembles de données couvrant une longue période, envisagez d'exécuter l'extraction par petits lots, par exemple, mois par mois, pour éviter les problèmes de performances.
- Examen initial des données : Une fois l'exécution de la requête terminée, effectuez un examen rapide de la sortie. Vérifiez le nombre de lignes, assurez-vous que toutes les colonnes sont présentes et vérifiez que la colonne
Activitycontient une variété d'événements attendus. - Validation des données : Suivez les étapes décrites dans la section
validationStepspour effectuer une validation plus approfondie. Rapprochez quelques ordres de fabrication avec leurs détails dans le système SAP en utilisant la transactionCO03pour confirmer l'exactitude du journal d'événements extrait. - Exporter au format CSV : Exportez le jeu de résultats final vers un fichier CSV. Assurez-vous que l'encodage du fichier est UTF-8 pour éviter les problèmes de caractères.
- Préparer pour le téléchargement : Confirmez que les en-têtes de colonne CSV correspondent aux noms d'attributs requis :
ProductionOrder,Activity,StartTime,SourceSystemetLastDataUpdate. Assurez-vous que la colonneStartTimeest dans un format d'horodatage standard, comme ISO 8601 (AAAA-MM-JJTHH:MM:SS), avant de télécharger dans l'outil de Process Mining.
Configuration
- Vues CDS principales : L'extraction s'appuie principalement sur un ensemble de vues CDS standard qui offrent une vision structurée et orientée métier des tables SAP sous-jacentes. Les vues clés incluent :
I_ProductionOrder: Pour les données d'en-tête et les événements de création.I_ProdOrdConfirmation: Pour toutes les confirmations d'opération.I_MaterialDocumentItem: Pour les mouvements de marchandises tels que les sorties et les entrées.I_ObjectStatus: Pour lire les changements de statut de l'ordre de fabrication.I_ChangeDocumentet les vues associées : Pour capturer les modifications des champs clés de la commande.
- Filtrage par plage de dates : Il est crucial d'appliquer un filtre de plage de dates pour gérer le volume de données. La requête fournie utilise la
CreationDatede l'ordre de fabrication. Une plage typique pour une analyse initiale est de 3 à 6 mois de données. - Filtres métier clés : Pour affiner davantage l'ensemble de données, appliquez des filtres basés sur des attributs organisationnels clés ou des données de base. Les filtres courants incluent :
Plant: Pour analyser une installation de fabrication spécifique.ProductionOrderType: Pour se concentrer sur la production standard, le retravail ou d'autres types de commandes.CompanyCode: Pour restreindre les données à une entité juridique spécifique.
- Seuil d'arrêt imprévu : La requête inclut une logique pour dériver les événements
Unplanned Halt Occurred. Cette logique nécessite un seuil de temps pour définir ce qui constitue un écart significatif entre les opérations. Cette valeur doit être configurée en fonction des cycles de production typiques et des règles métier. - Prérequis d'autorisation : L'utilisateur SAP exécutant la requête doit disposer d'une autorisation d'affichage pour toutes les vues CDS et leurs tables sous-jacentes. Des autorisations manquantes entraîneront un ensemble de résultats vide ou incomplet.
a Exemple de requête sql
WITH BaseOrders AS (
SELECT
ProductionOrder,
Material AS MaterialNumber,
ProductionPlant AS Plant,
CreationDate,
CreationTime,
BasicEndDate AS PlannedEndDate,
TechnicalCompletionDate,
LastChangeDateTime
FROM I_ProductionOrder
-- P_CreationDateFrom and P_CreationDateTo are placeholders for your date range
WHERE CreationDate BETWEEN '[_StartDate]' AND '[_EndDate]'
-- Add other filters as needed, for example:
-- AND ProductionPlant IN ('[Your_Plant_1]', '[Your_Plant_2]')
-- AND ProductionOrderType = '[Your_Order_Type]'
)
SELECT
bo.ProductionOrder,
'Production Order Created' AS Activity,
TO_TIMESTAMP(bo.CreationDate || ' ' || LPAD(bo.CreationTime, 6, '0'), 'YYYYMMDD HH24MISS') AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
'CRTD' AS OrderStatus
FROM BaseOrders bo
UNION ALL
-- System status changes like Released, Technically Completed, Closed, Cancelled, Material Shortage
SELECT
os.ObjectInternalID AS ProductionOrder,
CASE os.SystemStatus
WHEN 'I0002' THEN 'Production Order Released'
WHEN 'I0043' THEN 'Material Availability Checked' -- Status: MACM (Material committed)
WHEN 'I0045' THEN 'Order Technically Completed'
WHEN 'I0046' THEN 'Order Financially Closed'
WHEN 'I0047' THEN 'Production Order Cancelled'
WHEN 'I0010' THEN 'Material Shortage Occurred' -- Status: MSPT (Material shortage)
END AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus IN ('I0002', 'I0043', 'I0045', 'I0046', 'I0047', 'I0010') AND os.StatusIsInactive = ''
UNION ALL
-- Production Started, inferred from the first goods issue or first confirmation
SELECT
s.ProductionOrder,
'Production Started' AS Activity,
s.StartEventTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
s.MaterialNumber,
s.Plant,
NULL AS WorkCenter,
s.PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
bo.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime)) AS StartEventTime,
ROW_NUMBER() OVER(PARTITION BY bo.ProductionOrder ORDER BY MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime))) as rn
FROM BaseOrders bo
LEFT JOIN I_MaterialDocumentItem gm ON bo.ProductionOrder = gm.ProductionOrder AND gm.GoodsMovementType IN ('261', '262') -- Goods Issue
LEFT JOIN I_ProdOrdConfirmation cf ON bo.ProductionOrder = cf.ProductionOrder
WHERE gm.ProductionOrder IS NOT NULL OR cf.ProductionOrder IS NOT NULL
GROUP BY bo.ProductionOrder, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate
) s
WHERE s.rn = 1
UNION ALL
-- Production Confirmation Entered (for each confirmation)
SELECT
cf.ProductionOrder,
'Production Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
UNION ALL
-- Final Confirmation Entered
SELECT
cf.ProductionOrder,
'Final Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
WHERE cf.IsFinalConfirmation = 'X'
UNION ALL
-- Unplanned Halt Occurred (derived from gaps between confirmations)
SELECT
ProductionOrder,
'Unplanned Halt Occurred' AS Activity,
PreviousConfirmationTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
MaterialNumber,
Plant,
WorkCenter,
PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
cf.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
cf.WorkCenter,
cf.ConfirmationDateTime,
LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime) AS PreviousConfirmationTime,
(SECONDS_BETWEEN(LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime), cf.ConfirmationDateTime) / 3600.0) as HoursDiff
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
) AS gaps
WHERE gaps.HoursDiff > 24 -- Configurable threshold in hours, e.g. 24 hours
UNION ALL
-- Goods Receipt Posted
SELECT
gm.ProductionOrder,
'Goods Receipt Posted' AS Activity,
gm.PostingTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_MaterialDocumentItem gm
JOIN BaseOrders bo ON gm.ProductionOrder = bo.ProductionOrder
WHERE gm.GoodsMovementType = '101'
UNION ALL
-- Capacity Requirements Planned (using Release event as a proxy)
SELECT
os.ObjectInternalID AS ProductionOrder,
'Capacity Requirements Planned' AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus = 'I0002' AND os.StatusIsInactive = '' -- Status 'REL' (Released)
UNION ALL
-- Production Plan Adjusted
SELECT
ch.ObjectValue AS ProductionOrder,
'Production Plan Adjusted' AS Activity,
ch.CreationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL as WorkCenter,
bo.PlannedEndDate,
NULL as OrderStatus
FROM I_ChangeDocument AS ch
JOIN BaseOrders bo ON ch.ObjectValue = bo.ProductionOrder
WHERE ch.ChangeDocumentObject = 'PRODORDER'
-- Monitoring changes in key fields like Total Quantity (GAMNG) or Basic Finish Date (GLTRP)
AND ch.FieldName IN ('GAMNG', 'GLTRP')
GROUP BY ch.ObjectValue, ch.CreationDateTime, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate Étapes
- Vérification des prérequis : Assurez-vous de disposer d'un utilisateur dans SAP S/4HANA avec les autorisations appropriées pour accéder aux vues CDS (Core Data Services) requises. Les vues nécessaires incluent
I_ProductionOrder,I_ProdOrdConfirmation,I_MaterialDocumentItem,I_ObjectStatusetI_ChangeDocument. L'accès à un environnement d'exécution SQL connecté à la base de données SAP HANA est également requis, tel que SAP HANA Studio, DBeaver ou un outil ETL externe. - Identifier les détails du système : Notez l'identifiant du système source que vous utiliserez pour l'attribut
SourceSystem. Il s'agit d'un nom logique que vous définissez pour identifier l'origine des données, par exemple,S4H_PROD. - Définir les paramètres d'extraction : Avant d'exécuter la requête, définissez les paramètres clés. Cela inclut les dates de début et de fin de la période d'extraction et tout filtre spécifique comme
PlantouProductionOrderTypepour limiter la portée des données. - Préparer la requête SQL : Copiez la requête SQL complète fournie dans la section
querydans votre client SQL ou votre outil d'extraction de données. - Configurer les placeholders : Remplacez les valeurs des placeholders dans la requête par vos paramètres spécifiques. Cela inclut
_StartDate,_EndDateet l'identifiant du système source. Ajustez le seuil pour l'événementUnplanned Halt Occurred(par exemple,'24:00:00') pour qu'il corresponde à votre contexte métier. - Exécuter la requête d'extraction : Exécutez le script SQL configuré sur la base de données du système SAP S/4HANA. Pour les grands ensembles de données couvrant une longue période, envisagez d'exécuter l'extraction par petits lots, par exemple, mois par mois, pour éviter les problèmes de performances.
- Examen initial des données : Une fois l'exécution de la requête terminée, effectuez un examen rapide de la sortie. Vérifiez le nombre de lignes, assurez-vous que toutes les colonnes sont présentes et vérifiez que la colonne
Activitycontient une variété d'événements attendus. - Validation des données : Suivez les étapes décrites dans la section
validationStepspour effectuer une validation plus approfondie. Rapprochez quelques ordres de fabrication avec leurs détails dans le système SAP en utilisant la transactionCO03pour confirmer l'exactitude du journal d'événements extrait. - Exporter au format CSV : Exportez le jeu de résultats final vers un fichier CSV. Assurez-vous que l'encodage du fichier est UTF-8 pour éviter les problèmes de caractères.
- Préparer pour le téléchargement : Confirmez que les en-têtes de colonne CSV correspondent aux noms d'attributs requis :
ProductionOrder,Activity,StartTime,SourceSystemetLastDataUpdate. Assurez-vous que la colonneStartTimeest dans un format d'horodatage standard, comme ISO 8601 (AAAA-MM-JJTHH:MM:SS), avant de télécharger dans l'outil de Process Mining.
Configuration
- Vues CDS principales : L'extraction s'appuie principalement sur un ensemble de vues CDS standard qui offrent une vision structurée et orientée métier des tables SAP sous-jacentes. Les vues clés incluent :
I_ProductionOrder: Pour les données d'en-tête et les événements de création.I_ProdOrdConfirmation: Pour toutes les confirmations d'opération.I_MaterialDocumentItem: Pour les mouvements de marchandises tels que les sorties et les entrées.I_ObjectStatus: Pour lire les changements de statut de l'ordre de fabrication.I_ChangeDocumentet les vues associées : Pour capturer les modifications des champs clés de la commande.
- Filtrage par plage de dates : Il est crucial d'appliquer un filtre de plage de dates pour gérer le volume de données. La requête fournie utilise la
CreationDatede l'ordre de fabrication. Une plage typique pour une analyse initiale est de 3 à 6 mois de données. - Filtres métier clés : Pour affiner davantage l'ensemble de données, appliquez des filtres basés sur des attributs organisationnels clés ou des données de base. Les filtres courants incluent :
Plant: Pour analyser une installation de fabrication spécifique.ProductionOrderType: Pour se concentrer sur la production standard, le retravail ou d'autres types de commandes.CompanyCode: Pour restreindre les données à une entité juridique spécifique.
- Seuil d'arrêt imprévu : La requête inclut une logique pour dériver les événements
Unplanned Halt Occurred. Cette logique nécessite un seuil de temps pour définir ce qui constitue un écart significatif entre les opérations. Cette valeur doit être configurée en fonction des cycles de production typiques et des règles métier. - Prérequis d'autorisation : L'utilisateur SAP exécutant la requête doit disposer d'une autorisation d'affichage pour toutes les vues CDS et leurs tables sous-jacentes. Des autorisations manquantes entraîneront un ensemble de résultats vide ou incomplet.
a Exemple de requête sql
WITH BaseOrders AS (
SELECT
ProductionOrder,
Material AS MaterialNumber,
ProductionPlant AS Plant,
CreationDate,
CreationTime,
BasicEndDate AS PlannedEndDate,
TechnicalCompletionDate,
LastChangeDateTime
FROM I_ProductionOrder
-- P_CreationDateFrom and P_CreationDateTo are placeholders for your date range
WHERE CreationDate BETWEEN '[_StartDate]' AND '[_EndDate]'
-- Add other filters as needed, for example:
-- AND ProductionPlant IN ('[Your_Plant_1]', '[Your_Plant_2]')
-- AND ProductionOrderType = '[Your_Order_Type]'
)
SELECT
bo.ProductionOrder,
'Production Order Created' AS Activity,
TO_TIMESTAMP(bo.CreationDate || ' ' || LPAD(bo.CreationTime, 6, '0'), 'YYYYMMDD HH24MISS') AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
'CRTD' AS OrderStatus
FROM BaseOrders bo
UNION ALL
-- System status changes like Released, Technically Completed, Closed, Cancelled, Material Shortage
SELECT
os.ObjectInternalID AS ProductionOrder,
CASE os.SystemStatus
WHEN 'I0002' THEN 'Production Order Released'
WHEN 'I0043' THEN 'Material Availability Checked' -- Status: MACM (Material committed)
WHEN 'I0045' THEN 'Order Technically Completed'
WHEN 'I0046' THEN 'Order Financially Closed'
WHEN 'I0047' THEN 'Production Order Cancelled'
WHEN 'I0010' THEN 'Material Shortage Occurred' -- Status: MSPT (Material shortage)
END AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus IN ('I0002', 'I0043', 'I0045', 'I0046', 'I0047', 'I0010') AND os.StatusIsInactive = ''
UNION ALL
-- Production Started, inferred from the first goods issue or first confirmation
SELECT
s.ProductionOrder,
'Production Started' AS Activity,
s.StartEventTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
s.MaterialNumber,
s.Plant,
NULL AS WorkCenter,
s.PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
bo.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime)) AS StartEventTime,
ROW_NUMBER() OVER(PARTITION BY bo.ProductionOrder ORDER BY MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime))) as rn
FROM BaseOrders bo
LEFT JOIN I_MaterialDocumentItem gm ON bo.ProductionOrder = gm.ProductionOrder AND gm.GoodsMovementType IN ('261', '262') -- Goods Issue
LEFT JOIN I_ProdOrdConfirmation cf ON bo.ProductionOrder = cf.ProductionOrder
WHERE gm.ProductionOrder IS NOT NULL OR cf.ProductionOrder IS NOT NULL
GROUP BY bo.ProductionOrder, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate
) s
WHERE s.rn = 1
UNION ALL
-- Production Confirmation Entered (for each confirmation)
SELECT
cf.ProductionOrder,
'Production Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
UNION ALL
-- Final Confirmation Entered
SELECT
cf.ProductionOrder,
'Final Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
WHERE cf.IsFinalConfirmation = 'X'
UNION ALL
-- Unplanned Halt Occurred (derived from gaps between confirmations)
SELECT
ProductionOrder,
'Unplanned Halt Occurred' AS Activity,
PreviousConfirmationTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
MaterialNumber,
Plant,
WorkCenter,
PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
cf.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
cf.WorkCenter,
cf.ConfirmationDateTime,
LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime) AS PreviousConfirmationTime,
(SECONDS_BETWEEN(LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime), cf.ConfirmationDateTime) / 3600.0) as HoursDiff
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
) AS gaps
WHERE gaps.HoursDiff > 24 -- Configurable threshold in hours, e.g. 24 hours
UNION ALL
-- Goods Receipt Posted
SELECT
gm.ProductionOrder,
'Goods Receipt Posted' AS Activity,
gm.PostingTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_MaterialDocumentItem gm
JOIN BaseOrders bo ON gm.ProductionOrder = bo.ProductionOrder
WHERE gm.GoodsMovementType = '101'
UNION ALL
-- Capacity Requirements Planned (using Release event as a proxy)
SELECT
os.ObjectInternalID AS ProductionOrder,
'Capacity Requirements Planned' AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus = 'I0002' AND os.StatusIsInactive = '' -- Status 'REL' (Released)
UNION ALL
-- Production Plan Adjusted
SELECT
ch.ObjectValue AS ProductionOrder,
'Production Plan Adjusted' AS Activity,
ch.CreationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL as WorkCenter,
bo.PlannedEndDate,
NULL as OrderStatus
FROM I_ChangeDocument AS ch
JOIN BaseOrders bo ON ch.ObjectValue = bo.ProductionOrder
WHERE ch.ChangeDocumentObject = 'PRODORDER'
-- Monitoring changes in key fields like Total Quantity (GAMNG) or Basic Finish Date (GLTRP)
AND ch.FieldName IN ('GAMNG', 'GLTRP')
GROUP BY ch.ObjectValue, ch.CreationDateTime, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate