Uw Productieplanning Data Template
Uw Productieplanning Data Template
- Aanbevolen attributen voor productieplanning analyse
- Belangrijke productieplanningactiviteiten om te volgen
- Gedetailleerde data-extractiebegeleiding voor SAP S/4HANA
Productieplanning attributen
| Naam | Omschrijving | ||
|---|---|---|---|
| Activiteit Activity | De naam van de specifieke event of taak die op een bepaald tijdstip binnen het productieplanning proces heeft plaatsgevonden. | ||
| Omschrijving Dit attribuut registreert de verschillende stappen en mijlpalen in de levenscyclus van de productieorder. Voorbeelden zijn 'Productieorder Aangemaakt', 'Materiaalbeschikbaarheid Gecontroleerd', 'Productie Gestart' en 'Order Financieel Afgesloten'. Elke activiteit vertegenwoordigt een specifieke actie of statuswijziging die in het systeem is gedocumenteerd. Het analyseren van de sequentie en frequentie van deze activiteiten is de kern van process mining. Het helpt de procesflow te visualiseren, afwijkingen van de standaardprocedure te identificeren en activiteiten te traceren die vertragingen veroorzaken of frequente herbewerking vereisen, zoals 'Productieplan Aangepast'. Het belang Het definieert de stappen van het proces, waardoor de ontdekking en visualisatie van de daadwerkelijke productieworkflow en de variaties ervan mogelijk wordt. Vindplaats Afgeleid van statuswijzigingen in tabellen zoals JEST en JCDS, gebruikte transactiecodes (bijv. CO01 voor aanmaken), of specifieke bevestigingsrecords in AFRU. Voorbeelden Productieorder aangemaaktProductieorder vrijgegevenProductie gestartDefinitieve bevestiging ingevoerdGoederenontvangst geboekt | |||
| Productieorder ProductionOrder | De unieke identifier voor een productieorder, dienend als de primaire case identifier voor het productieplanning proces. | ||
| Omschrijving Het Productieordernummer is een unieke sleutel gegenereerd door SAP S/4HANA om alle activiteiten met betrekking tot de fabricage van een specifieke producthoeveelheid te beheren en te volgen. Het koppelt alle gerelateerde events, van planning en vrijgave tot uitvoering en uiteindelijke afwikkeling, aan elkaar. In process mining is dit attribuut essentieel voor het groeperen van alle gerelateerde events in één end-to-end procesinstantie. Het analyseren van processen per Productieorder maakt het mogelijk om belangrijke prestatie-indicatoren zoals doorlooptijd, naleving van het schema en identificatie van knelpunten die specifieke productieruns beïnvloeden, te meten. Het belang Het is de fundamentele attribute die alle processtappen verbindt, waardoor een complete case-level analyse van de productielevenscyclus van begin tot eind mogelijk wordt. Vindplaats Dit is het Productieordernummer, doorgaans te vinden in SAP tabellen zoals AFKO (veld AUFNR) en AFPO. Voorbeelden 100056710008341001299 | |||
| Starttijd StartTime | De timestamp die aangeeft wanneer een specifieke activiteit of event is begonnen. | ||
| Omschrijving Dit attribuut biedt de datum en tijd voor elke geregistreerde event in het productieproces. Het is de temporele basis voor alle tijdgebonden procesanalyse. De Starttijd is cruciaal voor het berekenen van de duur tussen activiteiten, het meten van de totale doorlooptijd van een productieorder, en het begrijpen van de timing van events. Het maakt de analyse van knelpunten, wachttijden en schema-naleving mogelijk door daadwerkelijke timestamps te vergelijken met geplande datums. Het belang Het biedt de chronologische context voor alle events, waardoor het mogelijk is om procesperformance, duren en knelpunten te analyseren. Vindplaats Deze informatie is doorgaans te vinden in change document tabellen (CDHDR/CDPOS) voor statuswijzigingen, confirmation tabellen (AFRU) voor uitvoeringsstappen en header tabellen (AFKO) voor aanmaakdatums. Voorbeelden 2023-10-26T09:00:00Z2023-10-26T14:30:00Z2023-10-27T08:15:00Z | |||
| Bronsysteem SourceSystem | Het systeem waaruit de productieplanning data is geëxtraheerd. | ||
| Omschrijving Dit attribuut identificeert de herkomst van de data, wat essentieel is in omgevingen met meerdere geïntegreerde systemen. Voor dit proces zal het doorgaans de specifieke SAP S/4HANA instance zijn. In een bredere data analyse context helpt kennis van het bronsysteem de data-integriteit te waarborgen en zorgt het voor de juiste context bij het samenvoegen van data uit verschillende bronnen. Het is een fundamenteel stuk metadata voor data governance en traceerbaarheid. Het belang Het biedt cruciale metadata voor data governance, en zorgt ervoor dat de oorsprong en context van de procesdata duidelijk zijn. Vindplaats Dit is doorgaans een statische waarde die wordt toegevoegd tijdens het data-extractieproces om de SAP S/4HANA client en systeem-ID (SID) te identificeren. Voorbeelden S4P_100S4H_PRD_200S4Q_300 | |||
| Laatste data-update LastDataUpdate | De timestamp die aangeeft wanneer de data voor het laatst is ververst of uit het bronsysteem is geëxtraheerd. | ||
| Omschrijving Dit attribuut registreert de datum en tijd van de meest recente data pull. Het is een cruciaal stuk metadata dat gebruikers informeert over de actualiteit van de data die ze analyseren. Het kennen van de laatste updatetijd is essentieel voor het correct interpreteren van de analyse. Het helpt gebruikers te begrijpen of ze real-time informatie bekijken of een momentopname van een specifiek tijdstip, wat de relevantie beïnvloedt van eventuele bevindingen en beslissingen genomen op basis van de data. Het belang Het zorgt ervoor dat gebruikers op de hoogte zijn van de tijdigheid van de data, wat cruciaal is voor het nemen van accurate en relevante zakelijke beslissingen. Vindplaats Deze Voorbeelden 2024-05-21T02:00:00Z2024-05-22T02:00:00Z2024-05-23T02:00:00Z | |||
| Geplande Einddatum PlannedEndDate | De geplande voltooiingsdatum voor de productieorder volgens het initiële plan. | ||
| Omschrijving De Geplande Einddatum is de streefdatum waarop alle productieactiviteiten voor een order naar verwachting zijn voltooid. Deze datum wordt bepaald tijdens de schedulingfase van de productieplanning. Dit attribuut is essentieel voor het meten van schema-naleving. Door de Geplande Einddatum te vergelijken met de daadwerkelijke voltooiing timestamp, kunnen organisaties de KPI 'Productieschema-naleving' berekenen en orders identificeren die te laat zijn. Deze analyse is cruciaal voor het verbeteren van de planningsnauwkeurigheid en klanttevredenheid. Het belang Het dient als de baseline voor het meten van planningsnaleving, en helpt bij het evalueren van de nauwkeurigheid van planning en de efficiëntie van uitvoering. Vindplaats Gevonden in de productieorder kopteksttabel AFKO (veld GLTRP). Voorbeelden 2023-11-152023-12-012024-01-20 | |||
| Materiaalnummer MaterialNumber | De unieke identifier voor het product dat in de productieorder wordt geproduceerd. | ||
| Omschrijving Het Materiaalnummer specificeert het artikel dat de productieorder beoogt te produceren. Het koppelt het productieproces aan de master data van het materiaal, inclusief de stuklijst (BOM) en routinginformatie. Het analyseren van het proces per Materiaalnummer helpt te identificeren of bepaalde producten gevoeliger zijn voor vertragingen, herbewerking of materiaaltekorten. Dit maakt productspecifieke procesoptimalisatie mogelijk, zoals het aanpassen van planningsparameters of het verbeteren van de supply chain voor specifieke componenten. Het belang Het maakt filtering en analyse mogelijk op basis van het geproduceerde product, waardoor productspecifieke inefficiënties of knelpunten worden onthuld. Vindplaats Gevonden in de productieorder itemtabel AFPO (veld MATNR). Voorbeelden RM-1001FG-2050SA-3100-B | |||
| Orderstatus OrderStatus | De huidige verwerkingsstatus van de productieorder, zoals Aangemaakt, Vrijgegeven of Technisch Voltooid. | ||
| Omschrijving De Orderstatus geeft de algehele fase van de productieorder in zijn levenscyclus aan. Het is een samenvatting van de verschillende systeem- en gebruikersstatussen die op de order zijn toegepast. Veelvoorkomende statussen zijn CRTD (Aangemaakt), REL (Vrijgegeven), CNF (Bevestigd), TECO (Technisch Voltooid) en CLSD (Afgesloten). Het analyseren van de huidige status van orders is nuttig voor het begrijpen van het work-in-progress landschap. In process mining is het volgen van de overgangen tussen deze statussen over tijd wat de activity log genereert en een gedetailleerd beeld mogelijk maakt van de procesflow en de duur die in elke fase wordt doorgebracht. Het belang Het biedt een high-level overzicht van de levenscyclusfase van een order en is fundamenteel voor het afleiden van de reeks activiteiten voor process mining. Vindplaats Afgeleid van de systeemstatus opgeslagen in tabel JEST, gekoppeld via het objectnummer in AFKO (veld OBJNR). Voorbeelden CRTDRELTECOCLSD | |||
| Vestiging Plant | De productiefaciliteit of locatie waar de productieorder wordt uitgevoerd. | ||
| Omschrijving De Plant is een organisatorische eenheid in SAP die een productielocatie of -faciliteit vertegenwoordigt. Elke productieorder wordt toegewezen aan een specifieke plant waar de productieactiviteiten zullen plaatsvinden. Dit attribuut is cruciaal voor vergelijkende analyse tussen verschillende productielocaties. Door de procesdata per Plant te segmenteren, kunnen organisaties prestaties benchmarken, locatiespecifieke problemen of best practices identificeren en regionale variaties in efficiëntie, capaciteit of naleving van standaarden begrijpen. Het belang Het maakt prestatievergelijking tussen verschillende productielocaties mogelijk, en helpt zo best practices te identificeren en te delen of locatiespecifieke problemen aan te pakken. Vindplaats Gevonden in de productieorder kopteksttabel AFKO (veld DWERK). Voorbeelden 100017102000 | |||
| Werkcentrum WorkCenter | De specifieke machine, groep machines of assemblagegebied verantwoordelijk voor een operatie. | ||
| Omschrijving Een Work Center vertegenwoordigt een specifieke operationele eenheid binnen een fabriek waar een productiestap wordt uitgevoerd. Het kan een enkele machine, een productielijn of een groep medewerkers zijn. Procesdata analyseren per Work Center is cruciaal voor het identificeren van capaciteitsknelpunten en het optimaliseren van resource-allocatie. Het helpt antwoord te geven op vragen over welke work centers overbelast zijn, welke onderbenut zijn en waar vertragingen het meest frequent voorkomen tijdens de productie-uitvoeringsfase. Dit is essentieel voor het Capacity Bottleneck Identification dashboard. Het belang Het helpt specifieke machines of productielijnen te lokaliseren die knelpunten vormen, waardoor gerichte verbeteringen in capaciteit en resourcebenutting mogelijk worden. Vindplaats Gevonden in de operatie data van een productieorder, tabel AFVC (veld ARBPL). Voorbeelden WC-ASSEMBLY-01WC-MILLING-05WC-PACKING | |||
| Bevestigde Hoeveelheid TotalConfirmedQuantity | De totale hoeveelheid materiaal die als geproduceerd voor de order is bevestigd. | ||
| Omschrijving Dit attribuut vertegenwoordigt de cumulatieve hoeveelheid voltooide of halffabricaten die zijn gerapporteerd via productiebevestigingen. Het volgt de voortgang van de order naar het voltooiingsdoel. Het vergelijken van de bevestigde hoeveelheid met de geplande hoeveelheid helpt bij het monitoren van de productievoortgang en het identificeren van opbrengstproblemen of afwijkingen. Het is een fundamentele maatstaf voor output en wordt gebruikt in diverse prestatieberekeningen, waaronder scrap rates en efficiëntie. Het belang Het volgt de daadwerkelijke output van de productieorder, wat essentieel is voor het monitoren van de voortgang, het berekenen van de opbrengst en het identificeren van discrepanties. Vindplaats Geaggregeerd uit bevestigingsrecords in AFRU (veld LMNGA voor opbrengsthoeveelheid). Voorbeelden 9801000501200 | |||
| Eindtijd EndTime | De timestamp waarop een specifieke activiteit of een event is afgerond. | ||
| Omschrijving Dit attribuut biedt de voltooiingsdatum en -tijd voor elke geregistreerde event. Het vult de Starttijd aan om de duur van activiteiten te definiëren. Eindtijd is cruciaal voor het berekenen van de precieze verwerkingstijd van individuele activiteiten, wat een belangrijke input is voor capaciteits- en resource-benutting analyse. Het helpt onderscheid te maken tussen actieve werktijd en inactiviteits- of wachttijd, wat leidt tot nauwkeurigere knelpuntidentificatie. Het belang Het maakt de berekening van precieze activiteitsduren mogelijk, wat essentieel is voor het analyseren van resource-efficiëntie en het identificeren van procesknelpunten. Vindplaats Gevonden in bevestigingstabellen (AFRU) voor uitvoeringsstappen. Voor andere events kan het hetzelfde zijn als de Starttijd als de event instant is. Voorbeelden 2023-10-26T09:45:00Z2023-10-26T15:00:00Z2023-10-27T10:30:00Z | |||
| Gebruiker User | De systeem-ID van de gebruiker die een productieorder event heeft aangemaakt, gewijzigd of bevestigd. | ||
| Omschrijving Dit attribuut legt de SAP user ID vast die geassocieerd is met een specifieke transactie of statuswijziging, zoals het vrijgeven van een order of het invoeren van een bevestiging. Het biedt traceerbaarheid voor acties die binnen het systeem zijn uitgevoerd. Het analyseren van activiteiten per Gebruiker helpt bij het begrijpen van de werkverdeling, het identificeren van trainingsbehoeften en het waarborgen van compliance met procedures. Het kan bijvoorbeeld benadrukken of bepaalde gebruikers frequent betrokken zijn bij planaanpassingen of dat vertragingen geassocieerd zijn met specifieke teams. Het belang Het biedt accountability en maakt analyse mogelijk van werklast, gebruikersspecifiek gedrag en potentiële trainingsmogelijkheden. Vindplaats Doorgaans te vinden in change document headers (CDHDR, veld UNAME) of confirmation records (AFRU, veld PERNR voor personeelsnummer). Voorbeelden CB9980000021JSMITHPLANNER01 | |||
| Geplande startdatum PlannedStartDate | De geplande startdatum voor de productieorder volgens het initiële plan. | ||
| Omschrijving De Geplande Startdatum is de streefdatum waarop productieactiviteiten voor een order naar verwachting zullen beginnen. Dit is een belangrijk resultaat van het scheduling proces. Dit attribuut biedt de startbasis voor schema-naleving analyse. Het vergelijken van de Geplande Startdatum met de daadwerkelijke starttijd helpt bij het begrijpen van initiële vertragingen, zoals vertragingen in materiaalstaging of ordervrijgave, wat een cascade-effect kan hebben op de gehele productietijdlijn. Het belang Het biedt een baseline voor het meten van starttijdnaleving, wat cruciaal is voor het identificeren van vertragingen in pre-productiestadia zoals ordervrijgave en materiaalbeschikbaarheid. Vindplaats Gevonden in de productieorder kopteksttabel AFKO (veld GSTRP). Voorbeelden 2023-11-102023-11-252024-01-15 | |||
| Is herstelwerk IsRework | Een vlag die aangeeft of een productieorder herwerk of significante planaanpassingen betrof na de start. | ||
| Omschrijving Dit booleaanse attribuut is afgeleid om productieorders te identificeren die correctieve acties of planwijzigingen hebben ondergaan nadat de productie al was begonnen. Dit kan worden getriggerd door een expliciete herbewerkingsactiviteit of een 'Productieplan Aangepast' event dat plaatsvindt na 'Productie Gestart'. Deze flag is cruciaal voor het berekenen van de KPI 'Productieherwerkingspercentage' en voor het dashboard 'Productieherwerking en Herzieningen'. Het maakt eenvoudige filtering en analyse van problematische cases mogelijk, en helpt de dieperliggende oorzaken van kwaliteitsproblemen of procesafwijkingen die leiden tot kostbare herbewerking te achterhalen. Het belang Het isoleert cases met herwerk, waardoor gerichte analyse mogelijk is om kwaliteitsproblemen, procesafwijkingen en gerelateerde kosten te begrijpen en te verminderen. Vindplaats Berekend veld. Ingesteld op 'true' als een activiteit 'Productieplan Aangepast' plaatsvindt na een activiteit 'Productie Gestart' binnen dezelfde case, of als een specifiek herwerkordertype wordt gebruikt. Voorbeelden truefalse | |||
| Is Op Tijd IsOnTime | Een vlag die aangeeft of de productieorder is voltooid op of vóór de geplande einddatum. | ||
| Omschrijving Dit berekende booleaanse attribuut meet direct de schema-naleving door de daadwerkelijke voltooiingsdatum te vergelijken met de geplande einddatum. Het biedt een heldere, binaire uitkomst voor de tijdigheid van elke productieorder. Dit attribuut is de basis voor de KPI 'Productieschema-naleving percentage'. Het vereenvoudigt de analyse door een eenvoudige segmentatie van op-tijd versus te late orders mogelijk te maken, en helpt gemeenschappelijke kenmerken of procespaden geassocieerd met vertragingen te identificeren. Het belang Het biedt een duidelijke en eenvoudige maatstaf voor planningsnaleving voor elke order, wat de analyse van de hoofdoorzaken van vertragingen vergemakkelijkt. Vindplaats Berekend veld. Ingesteld op 'true' als de timestamp van de activiteit 'Order Technisch Voltooid' kleiner is dan of gelijk is aan de 'Geplande Einddatum' attribute. Voorbeelden truefalse | |||
| Materiaalbeschikbaarheidsstatus MaterialAvailabilityStatus | Geeft aan of alle benodigde materialen voor de productieorder beschikbaar zijn. | ||
| Omschrijving Deze status weerspiegelt het resultaat van de materiaalbeschikbaarheidscontrole uitgevoerd voor een productieorder. Het kan aangeven dat alle materialen beschikbaar zijn, sommige ontbreken, of dat de controle niet is uitgevoerd. Een status van 'tekort' is een belangrijke trigger voor potentiële vertragingen. Dit attribuut is cruciaal voor het dashboard 'Impactanalyse Materiaaltekort'. Het helpt de vertragingen veroorzaakt door onbeschikbaarheid van materialen te kwantificeren door een tekortstatus te correleren met de tijd tussen ordervrijgave en productiestart. Het verbeteren van deze metric is de sleutel tot een soepelere productieflow. Het belang Het verklaart direct vertragingen tussen ordervrijgave en productiestart, en helpt de impact van supply chain problemen op de productie te kwantificeren. Vindplaats Dit is een status, vaak afgeleid van de collectieve status van materiaalcomponenten. Het is te vinden in de systeemstatus (JEST) met statussen zoals 'MSPT' (Materiaaltekort). Voorbeelden BeschikbaarTekortNiet gecontroleerd | |||
| Ordertype OrderType | Een classificatie van de productieorder die het doel ervan definieert en de verwerking ervan controleert. | ||
| Omschrijving Het Ordertype is een belangrijk configuratie-element in SAP PP dat bepaalt hoe een productieorder door het systeem wordt behandeld. Het regelt nummerreeksen, master data selectie, kostenparameters en afwikkelingsregels. Voorbeelden zijn standaard productieorders, herbewerkingorders of prototypeorders. Het analyseren van het proces per Ordertype maakt het mogelijk om de prestaties en flow van verschillende soorten productieprocessen te vergelijken. Dit kan onthullen of herbewerkingorders significant langer duren of dat bepaalde ordertypen gevoeliger zijn voor planningsaanpassingen, wat waardevolle inzichten biedt voor gerichte procesverbetering. Het belang Het maakt segmentatie van analyse mogelijk op basis van het zakelijke doel van de order, waardoor vergelijking tussen standaardproductie, herwerk en andere processen mogelijk wordt. Vindplaats Gevonden in de productieorder kopteksttabel AFKO (veld AUART). Voorbeelden PP01PP03ZP01 | |||
| Productiedoorlooptijd ProductionCycleTime | De totale verstreken tijd vanaf de vrijgave van een productieorder tot de technische voltooiing ervan. | ||
| Omschrijving Deze berekende metric meet de end-to-end duur van de levenscyclus van een productieorder in uitvoering. Het is een belangrijke prestatie-indicator die de algehele efficiëntie van het productieproces weerspiegelt. Dit attribuut is de primaire maatstaf voor het dashboard 'Overzicht Doorlooptijd Productieorder' en de KPI 'Gemiddelde Doorlooptijd Productieorder'. Het analyseren van de componenten, zoals wachttijden versus verwerkingstijden, helpt de grootste kansen voor procesversnelling en doorlooptijdreductie te identificeren. Het belang Dit is een kritieke KPI voor het meten van de algehele productie-efficiëntie en het identificeren van kansen om de orderafhandeling te versnellen. Vindplaats Berekend door de duur te vinden tussen de activiteit 'Productieorder Vrijgegeven' en de activiteit 'Order Technisch Voltooid' voor elke Productieorder. Voorbeelden P5DT12H30MP10DT2HP3D | |||
| Productieprioriteit ProductionPriority | Een code of waarde toegekend aan een productieorder om de urgentie of belangrijkheid ervan aan te geven. | ||
| Omschrijving Productieprioriteit wordt gebruikt door planners en schedulers om orders te sequencen en prioriteren, vooral wanneer middelen beperkt zijn. Een order met hogere prioriteit zou idealiter moeten worden verwerkt vóór een order met lagere prioriteit. Het analyseren van dit attribuut helpt te beoordelen of de toegewezen prioriteiten op de werkvloer worden gevolgd. Het dashboard 'Consistentie Productieprioritisering' vergelijkt de verwerkingsvolgorde met de toegewezen prioriteit om inconsistenties te identificeren, wat kan leiden tot verbeterde planningsdiscipline en een betere afstemming tussen planning en uitvoering. Het belang Het helpt te bepalen of de productieplanning bedrijfs prioriteiten volgt, en zorgt ervoor dat kritieke orders zoals bedoeld worden versneld. Vindplaats Dit is vaak een custom field of gebaseerd op andere orderparameters. Een specifieke locatie is configuratie-afhankelijk. Voorbeelden HoogGemiddeldLaag15 | |||
Productieplanning activiteiten
| Activiteit | Omschrijving | ||
|---|---|---|---|
| Definitieve bevestiging ingevoerd | Deze activiteit markeert de bevestiging van de laatste operatie in de routing van de productieorder. Het betekent dat alle geplande productiestappen op de werkvloer zijn voltooid. | ||
| Het belang De definitieve bevestiging is een belangrijke mijlpaal die het einde van het fysieke productiewerk aangeeft. Het wordt vaak gebruikt als een nauwkeuriger eindpunt voor het meten van de doorlooptijd op de werkvloer vóór de uiteindelijke goederenontvangst. Vindplaats Afgeleid uit bevestigingsdata in de AFRU-tabel. Het wordt geïdentificeerd als het bevestigingsrecord voor de laatste operatievolgorde (AFVC-VPLNR) dat de 'definitieve bevestiging'-indicator (AFRUD-AUERU) heeft ingesteld. Vastleggen Zoek de laatste operatiebevestiging in AFRU met de definitieve bevestigingsvlag ingesteld. Gebeurtenistype inferred | |||
| Goederenontvangst geboekt | Dit event registreert de ontvangst van het eindproduct van de productielijn in de inventaris. Het verhoogt formeel het voorraadniveau van het geproduceerde materiaal. | ||
| Het belang Dit is een kritieke mijlpaal die de voltooiing van de productieoutput vertegenwoordigt. Het wordt vaak beschouwd als het einde van de productiecyclus voor het meten van on-time levering en de algehele doorlooptijd. Vindplaats Dit is een expliciete financiële boeking, vastgelegd in de material document tabellen MSEG (item level) en MKPF (header level), doorgaans met bewegingstype 101. Deze documenten zijn gekoppeld aan de productieorder. Vastleggen Zoek materiaaldocument in MSEG gekoppeld aan de order met bewegingstype 101. Gebeurtenistype explicit | |||
| Order technisch voltooid | Dit is een administratieve afsluitende stap die verdere logistieke wijzigingen aan de order voorkomt, zoals goederenbewegingen of bevestigingen. De order wordt als voltooid beschouwd vanuit een logistiek oogpunt. | ||
| Het belang TECO is een definitief eindpunt voor het productieproces, cruciaal voor het berekenen van de totale doorlooptijd van de productieorder. Het geeft aan dat alle logistieke activiteiten zijn voltooid en de order klaar is voor financiële afwikkeling. Vindplaats Dit wordt getriggerd door een gebruiker die de status op TECO (Technisch Voltooid) zet. Het event wordt vastgelegd als een statuswijziging in de JCDS tabel met een overeenkomstige timestamp. Vastleggen Timestamp van de statuswijziging naar 'TECO' in de JCDS tabel. Gebeurtenistype inferred | |||
| Productie gestart | Geeft de start aan van fysieke productieactiviteiten voor de order. Dit wordt doorgaans afgeleid uit de eerste werkvloerbevestiging of de eerste goederenuitgifte van componenten voor de order. | ||
| Het belang Deze activiteit markeert de overgang van planning naar uitvoering. Het is essentieel voor het bijhouden van schema-naleving door de daadwerkelijke startdatum te vergelijken met de geplande startdatum. Vindplaats Dit is een afgeleid event. Het wordt doorgaans afgeleid van de vroegste timestamp van een goederenbeweging boeking (MSEG tabel, bewegingstype 261) of een tijdsbevestiging boeking (AFRU tabel) geassocieerd met de order. Vastleggen Vroegste timestamp uit AFRU (bevestigingen) of MSEG (goederenbewegingen) voor de order. Gebeurtenistype inferred | |||
| Productieorder aangemaakt | Dit is de initiële aanmaak van de productieorder in het systeem, die dient als het formele verzoek om een gespecificeerde hoeveelheid van een product te produceren. Dit event wordt expliciet vastgelegd wanneer een gebruiker een nieuwe order opslaat, en de initiële status ervan op CRTD (Aangemaakt) zet. | ||
| Het belang Markeer het begin van de levenscyclus van de productieorder. Het analyseren van de tijd van aanmaak tot vrijgave helpt bij het identificeren van administratieve of planningsvertragingen voordat de productie formeel wordt gepland. Vindplaats Dit event wordt geregistreerd in de AUFK tabel (Order Master Data) met de aanmaakdatum (ERDAT). De aanmaakstatus (CRTD) wordt gelogd in de JEST en JCDS tabellen, gekoppeld via het objectnummer van de order (OBJNR). Vastleggen Timestamp van AUFK-ERDAT of statuswijziging log naar 'CRTD' in JCDS. Gebeurtenistype explicit | |||
| Productieorder vrijgegeven | Dit is een belangrijke mijlpaal waarbij de productieorder wordt goedgekeurd en beschikbaar wordt gemaakt voor uitvoering op de werkvloer. De vrijgave maakt goederenuitgiften, bevestigingen en andere uitvoeringsstappen mogelijk. | ||
| Het belang Dit event markeert de officiële start van het uitvoerbare productieproces en is een kritiek punt voor het meten van doorlooptijden. De tijd tussen aanmaak en vrijgave is een belangrijke KPI voor pre-productie-efficiëntie. Vindplaats De vrijgave wordt expliciet getriggerd door een gebruiker of systeemtaak, resulterend in de status REL. Deze statuswijziging wordt geregistreerd met een timestamp in de JCDS tabel. De vrijgavedatum wordt ook vaak opgeslagen in AFKO-FTRMI. Vastleggen Timestamp van de statuswijziging naar 'REL' in de JCDS tabel. Gebeurtenistype inferred | |||
| Productieplan aangepast | Vertegenwoordigt een significante wijziging aan de productieorder nadat deze is vrijgegeven, zoals een wijziging in hoeveelheid, datums of de stuklijst. Dit wordt vastgelegd door analysedocumenten te analyseren. | ||
| Het belang Frequente aanpassingen kunnen duiden op planningsinstabiliteit of volatiele vraag. Deze activiteit vormt de basis voor de KPI voor de revisiesnelheid van het productieplan en helpt bij het identificeren van bronnen van procesvariabiliteit. Vindplaats Afgeleid uit wijzigingslogs vastgelegd in de tabellen CDHDR (Wijzigingsdocumentkop) en CDPOS (Wijzigingsdocumentitems) voor het productieorderobject (AUFK of AFPO). Wijzigingen die na de vrijgavedatum zijn aangebracht, worden beschouwd als aanpassingen. Vastleggen Identificeer wijzigingen in CDHDR/CDPOS voor belangrijke velden (bijv. hoeveelheid, datums) na de vrijgave event. Gebeurtenistype inferred | |||
| Capaciteitsbehoeften gepland | Deze activiteit omvat het schedulen van de operaties van de productieorder en het controleren op capaciteitsbeschikbaarheid bij de vereiste work centers. Het systeem evalueert de capaciteitsbelasting van work centers en nivelleert deze indien geconfigureerd, en bepaalt de productiedatums. | ||
| Het belang Deze stap is cruciaal voor het waarborgen van een haalbare productieplanning. Het analyseren van de duur en resultaten ervan helpt bij het identificeren van capaciteitsknelpunten en het verbeteren van de nauwkeurigheid van de resourceplanning. Vindplaats Dit wordt over het algemeen afgeleid van de systeemstatus die aangeeft dat de order is ingepland, zoals SETC (Scheduling uitgevoerd). Het feit dat de geplande start- en einddatums (AUFK-GSTRP, AUFK-GLTRP) zijn ingevuld, signaleert ook de voltooiing van deze activiteit. Vastleggen Afgeleid van de vulling van geplande datums in AUFK/AFKO of een planningsgerelateerde status in JEST. Gebeurtenistype inferred | |||
| Materiaalbeschikbaarheid gecontroleerd | Vertegenwoordigt de systeem- of gebruikersactie om te controleren of alle benodigde componenten voor de productieorder in de vereiste hoeveelheden en op tijd beschikbaar zijn. Dit is doorgaans een geautomatiseerde controle bij het aanmaken of vrijgeven van de order, of een handmatige controle, die de orderstatus bijwerkt. | ||
| Het belang Vroegtijdige identificatie van materiaaltekorten is cruciaal voor proactieve planning. Het volgen van deze activiteit helpt te begrijpen hoe materiaalbeschikbaarheid de mogelijkheid beïnvloedt om orders vrij te geven en de productie op tijd te starten. Vindplaats Afgeleid van de orderstatus. Een status zoals MACM (Materiaal gecommitteerd) of een wijziging in de materiaalbeschikbaarheidsdatum (AFKO-MSERF) geeft aan dat een controle is uitgevoerd. De afwezigheid van een materiaaltekortstatus (MSPT) kan ook beschikbaarheid afleiden. Vastleggen Afgeleid van statuswijzigingen gerelateerd aan materiaalcommitment of uitvoering van transactie COMAC. Gebeurtenistype inferred | |||
| Materiaaltekort opgetreden | Dit event geeft aan dat het productieproces werd beïnvloed of stopgezet door de onbeschikbaarheid van een of meer benodigde componenten. Het systeem stelt een specifieke status in op de order om dit te weerspiegelen. | ||
| Het belang Het volgen van materiaaltekorten is cruciaal voor de Impactanalyse Materiaaltekort. Het helpt vertragingen veroorzaakt door supply chain problemen te kwantificeren en materiaalplanning te verbeteren. Vindplaats Dit wordt afgeleid van de activering van de 'MSPT' (Materiaaltekort) status voor de productieorder. De timestamp voor deze statuswijziging is te vinden in de JCDS tabel. Vastleggen Timestamp van de statuswijziging naar 'MSPT' in de JCDS tabel. Gebeurtenistype inferred | |||
| Ongeplande stop opgetreden | Dit berekende event vertegenwoordigt een significante inactiviteitsperiode tijdens de productie-uitvoeringsfase. Het is geen expliciet systeem event maar is afgeleid door lange tijdsverschillen tussen opeenvolgende productiebevestigingen te identificeren. | ||
| Het belang Helpt bij het monitoren van ongeplande verstoringen zoals machinepech of kwaliteitsproblemen. Het identificeren van frequente of lange stops is cruciaal voor het verbeteren van de stabiliteit en doorvoer op de werkvloer. Vindplaats Dit wordt berekend door de timestamps van opeenvolgende 'Productiebevestiging Inevoerd' activiteiten uit de AFRU tabel te analyseren. Een kloof die een vooraf gedefinieerde drempel overschrijdt, wordt gemarkeerd als een ongeplande stop. Vastleggen Bereken tijdsverschil tussen opeenvolgende bevestigingstijdstempels (AFRU-BUDAT/UZEIT). Gebeurtenistype calculated | |||
| Order financieel afgesloten | De laatste afsluitende stap waarbij de order wordt afgewikkeld en geen verdere financiële boekingen meer mogelijk zijn. Dit markeert het einde van de levenscyclus van de order vanuit een controlling- en accountingperspectief. | ||
| Het belang Hoewel vaak buiten de scope van pure productieanalyse, biedt deze activiteit een compleet end-to-end overzicht. Het kan helpen bij het analyseren van de tijd tussen logistieke voltooiing (TECO) en financiële afsluiting. Vindplaats Dit wordt getriggerd door een gebruiker die de status op CLSD (Afgesloten) zet. Het event wordt vastgelegd als een statuswijziging in de JCDS tabel met een overeenkomstige timestamp. Vastleggen Timestamp van de statuswijziging naar 'CLSD' in de JCDS tabel. Gebeurtenistype inferred | |||
| Productiebevestiging ingevoerd | Vertegenwoordigt het vastleggen van de voortgang voor een specifieke operatie binnen de productieorder. Dit omvat het loggen van geproduceerde hoeveelheden, afkeur en bestede tijd aan een work center. | ||
| Het belang Bevestigingen bieden real-time inzicht in de voortgang op de werkvloer en zijn essentieel voor het bijhouden van de productiestatus. Het analyseren van de frequentie en timing van bevestigingen helpt de flow te monitoren en vertragingen tussen operaties te identificeren. Vindplaats Elke bevestiging wordt expliciet vastgelegd als een entry in de AFRU (Order Completion Confirmations) tabel met een timestamp (BUDAT, UZEIT) en details over de operatie. Vastleggen Geregistreerd als een document in de AFRU tabel. Gebeurtenistype explicit | |||
| Productieorder geannuleerd | Vertegenwoordigt de annulering van een productieorder vóór de voltooiing. Dit is een alternatieve, onsuccesvolle eindstatus voor het proces. | ||
| Het belang Het analyseren van geannuleerde orders kan problemen in de vraagplanning, stamdata of het verkoopproces aan het licht brengen. Hoge annuleringspercentages kunnen wijzen op systemische problemen die moeten worden aangepakt. Vindplaats Dit wordt afgeleid van de systeemstatus CACL (Annulering) die is ingesteld in de JCDS tabel. Als alternatief kan een deletion flag (AUFK-LOEKZ) ook annulering betekenen. Vastleggen Timestamp van statuswijziging naar 'CACL' in JCDS of instelling van deletion flag in AUFK. Gebeurtenistype inferred | |||
Extractie Guides
Stappen
- Verificatie van Vereisten: Zorg ervoor dat u een gebruiker in SAP S/4HANA heeft met de juiste autorisaties om toegang te krijgen tot de vereiste Core Data Services (CDS) views. De benodigde views omvatten
I_ProductionOrder,I_ProdOrdConfirmation,I_MaterialDocumentItem,I_ObjectStatusenI_ChangeDocument. Toegang tot een SQL-uitvoeringsomgeving die is verbonden met de SAP HANA database is ook vereist, zoals SAP HANA Studio, DBeaver of een externe ETL-tool. - Systeemdetails Identificeren: Noteer de bronsysteem-identifier die u zult gebruiken voor de
SourceSystemattribute. Dit is een logische naam die u definieert om de oorsprong van de data te identificeren, bijvoorbeeldS4H_PROD. - Extractieparameters Instellen: Voordat u de query uitvoert, definieert u de belangrijkste parameters. Dit omvat de start- en einddatums voor de extractieperiode en specifieke filters zoals
PlantofProductionOrderTypeom de datascope te beperken. - SQL-query Voorbereiden: Kopieer de complete SQL-query uit de
query-sectie naar uw gekozen SQL-client of data-extractietool. - Placeholders Configureren: Vervang de placeholder-waarden in de query door uw specifieke parameters. Dit omvat
_StartDate,_EndDateen de bronsysteem-identifier. Pas de drempel voor deUnplanned Halt Occurredevent (bijv.'24:00:00') aan om deze af te stemmen op uw bedrijfscontext. - Extractiequery Uitvoeren: Voer het geconfigureerde SQL-script uit op de database van het SAP S/4HANA-systeem. Voor grote datasets die een lange periode beslaan, overweeg de extractie in kleinere delen uit te voeren, bijvoorbeeld per maand, om performanceproblemen te voorkomen.
- Initiële Data Review: Zodra de query-uitvoering is voltooid, voert u een snelle review van de output uit. Controleer het aantal rijen, zorg ervoor dat alle kolommen aanwezig zijn en verifieer dat de
Activitykolom een verscheidenheid aan verwachte events bevat. - Data Validatie: Volg de stappen beschreven in de
validationSteps-sectie om een grondigere validatie uit te voeren. Controleer enkele productieorders met hun details in het SAP-systeem via transactieCO03om de nauwkeurigheid van de geëxtraheerde event log te bevestigen. - Exporteren naar CSV: Exporteer de uiteindelijke resultatenset naar een CSV-bestand. Zorg ervoor dat de bestandsencoding UTF-8 is om karakterproblemen te voorkomen.
- Voorbereiden op Upload: Controleer of de CSV-kolomheaders overeenkomen met de vereiste attribute-namen:
ProductionOrder,Activity,StartTime,SourceSystemenLastDataUpdate. Zorg ervoor dat deStartTimekolom in een standaard timestamp-formaat is, zoals ISO 8601 (JJJJ-MM-DDTHH:MM:SS), voordat u deze uploadt naar de process mining tool.
Configuratie
- Core CDS Views: De extractie is voornamelijk gebaseerd op een reeks standaard CDS views die een gestructureerd, bedrijfsgericht beeld geven van de onderliggende SAP-tabellen. Belangrijke views zijn:
I_ProductionOrder: Voor gegevens op kopniveau en aanmaakgebeurtenissen.I_ProdOrdConfirmation: Voor alle operatiebevestigingen.I_MaterialDocumentItem: Voor goederenbewegingen zoals uitgiften en ontvangsten.I_ObjectStatus: Om de statuswijzigingen van de productieorder te lezen.I_ChangeDocumenten gerelateerde views: Om wijzigingen in belangrijke ordervelden vast te leggen.
- Filteren op datumbereik: Het is cruciaal om een datumfilter toe te passen om het datavolume te beheren. De geleverde query gebruikt de
CreationDatevan de productieorder. Een typisch bereik voor een initiële analyse is 3 tot 6 maanden aan data. - Belangrijke bedrijfsfilters: Om de dataset verder te verfijnen, past u filters toe op basis van belangrijke organisatorische of stamdata attributes. Veelvoorkomende filters zijn:
Plant: Om een specifieke productiefaciliteit te analyseren.ProductionOrderType: Om te focussen op standaardproductie, herwerk of andere ordertypes.CompanyCode: Om data te beperken tot een specifieke juridische entiteit.
- Drempel voor Ongeplande Productiestop: De query bevat logica om
Unplanned Halt Occurredevents af te leiden. Deze logica vereist een tijdsdrempel om te definiëren wat een aanzienlijk gat tussen operaties vormt. Deze waarde moet worden geconfigureerd op basis van typische productiecyclustijden en bedrijfsregels. - Autorisatievoorwaarden: De SAP-gebruiker die de query uitvoert, moet weergaveautorisatie hebben voor alle CDS views en hun onderliggende tabellen. Ontbrekende autorisaties zullen resulteren in een lege of onvolledige resultatenset.
a Voorbeeldquery 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 Stappen
- Verificatie van Vereisten: Zorg ervoor dat u een gebruiker in SAP S/4HANA heeft met de juiste autorisaties om toegang te krijgen tot de vereiste Core Data Services (CDS) views. De benodigde views omvatten
I_ProductionOrder,I_ProdOrdConfirmation,I_MaterialDocumentItem,I_ObjectStatusenI_ChangeDocument. Toegang tot een SQL-uitvoeringsomgeving die is verbonden met de SAP HANA database is ook vereist, zoals SAP HANA Studio, DBeaver of een externe ETL-tool. - Systeemdetails Identificeren: Noteer de bronsysteem-identifier die u zult gebruiken voor de
SourceSystemattribute. Dit is een logische naam die u definieert om de oorsprong van de data te identificeren, bijvoorbeeldS4H_PROD. - Extractieparameters Instellen: Voordat u de query uitvoert, definieert u de belangrijkste parameters. Dit omvat de start- en einddatums voor de extractieperiode en specifieke filters zoals
PlantofProductionOrderTypeom de datascope te beperken. - SQL-query Voorbereiden: Kopieer de complete SQL-query uit de
query-sectie naar uw gekozen SQL-client of data-extractietool. - Placeholders Configureren: Vervang de placeholder-waarden in de query door uw specifieke parameters. Dit omvat
_StartDate,_EndDateen de bronsysteem-identifier. Pas de drempel voor deUnplanned Halt Occurredevent (bijv.'24:00:00') aan om deze af te stemmen op uw bedrijfscontext. - Extractiequery Uitvoeren: Voer het geconfigureerde SQL-script uit op de database van het SAP S/4HANA-systeem. Voor grote datasets die een lange periode beslaan, overweeg de extractie in kleinere delen uit te voeren, bijvoorbeeld per maand, om performanceproblemen te voorkomen.
- Initiële Data Review: Zodra de query-uitvoering is voltooid, voert u een snelle review van de output uit. Controleer het aantal rijen, zorg ervoor dat alle kolommen aanwezig zijn en verifieer dat de
Activitykolom een verscheidenheid aan verwachte events bevat. - Data Validatie: Volg de stappen beschreven in de
validationSteps-sectie om een grondigere validatie uit te voeren. Controleer enkele productieorders met hun details in het SAP-systeem via transactieCO03om de nauwkeurigheid van de geëxtraheerde event log te bevestigen. - Exporteren naar CSV: Exporteer de uiteindelijke resultatenset naar een CSV-bestand. Zorg ervoor dat de bestandsencoding UTF-8 is om karakterproblemen te voorkomen.
- Voorbereiden op Upload: Controleer of de CSV-kolomheaders overeenkomen met de vereiste attribute-namen:
ProductionOrder,Activity,StartTime,SourceSystemenLastDataUpdate. Zorg ervoor dat deStartTimekolom in een standaard timestamp-formaat is, zoals ISO 8601 (JJJJ-MM-DDTHH:MM:SS), voordat u deze uploadt naar de process mining tool.
Configuratie
- Core CDS Views: De extractie is voornamelijk gebaseerd op een reeks standaard CDS views die een gestructureerd, bedrijfsgericht beeld geven van de onderliggende SAP-tabellen. Belangrijke views zijn:
I_ProductionOrder: Voor gegevens op kopniveau en aanmaakgebeurtenissen.I_ProdOrdConfirmation: Voor alle operatiebevestigingen.I_MaterialDocumentItem: Voor goederenbewegingen zoals uitgiften en ontvangsten.I_ObjectStatus: Om de statuswijzigingen van de productieorder te lezen.I_ChangeDocumenten gerelateerde views: Om wijzigingen in belangrijke ordervelden vast te leggen.
- Filteren op datumbereik: Het is cruciaal om een datumfilter toe te passen om het datavolume te beheren. De geleverde query gebruikt de
CreationDatevan de productieorder. Een typisch bereik voor een initiële analyse is 3 tot 6 maanden aan data. - Belangrijke bedrijfsfilters: Om de dataset verder te verfijnen, past u filters toe op basis van belangrijke organisatorische of stamdata attributes. Veelvoorkomende filters zijn:
Plant: Om een specifieke productiefaciliteit te analyseren.ProductionOrderType: Om te focussen op standaardproductie, herwerk of andere ordertypes.CompanyCode: Om data te beperken tot een specifieke juridische entiteit.
- Drempel voor Ongeplande Productiestop: De query bevat logica om
Unplanned Halt Occurredevents af te leiden. Deze logica vereist een tijdsdrempel om te definiëren wat een aanzienlijk gat tussen operaties vormt. Deze waarde moet worden geconfigureerd op basis van typische productiecyclustijden en bedrijfsregels. - Autorisatievoorwaarden: De SAP-gebruiker die de query uitvoert, moet weergaveautorisatie hebben voor alle CDS views en hun onderliggende tabellen. Ontbrekende autorisaties zullen resulteren in een lege of onvolledige resultatenset.
a Voorbeeldquery 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