Jouw datatemplate voor assetonderhoud
Jouw datatemplate voor assetonderhoud
- Essentiële datavelden voor onderhoudslogboeken
- Standaard procesmijlpalen en fasen van werkorders
- Technische extractielogica voor Hexagon EAM
Attributen voor bedrijfsmiddelenonderhoud
| Naam | Beschrijving | ||
|---|---|---|---|
| Activiteit ActivityName | De specifieke taak of statuswijziging die heeft plaatsgevonden. | ||
| Beschrijving Dit attribuut geeft de processtap aan die wordt uitgevoerd, zoals 'Work Order Created' of 'Material Issued'. Het is afgeleid van de geschiedenis van statuswijzigingen of specifieke transacties die voor de werkorder zijn geregistreerd. Waarom dit belangrijk is Het bepaalt de volgorde in het event log, zodat je de procesflow kunt reconstrueren en bottlenecks kunt analyseren. Waar je het vindt Hexagon EAM-tabel R5EVENTHISTORY, veld EVH_STATUS, gekoppeld aan beschrijvingen, of auditlogs Voorbeelden Werkorder aangemaaktWerkorder geplandWerkorder voltooidMateriaal uitgegeven | |||
| Bronsysteem SourceSystem | De naam van het systeem waar de data vandaan komt. | ||
| Beschrijving Dit attribuut geeft het bronsysteem van de data aan. In deze context is het vast ingesteld op de naam van het specifieke EAM-systeem, zodat je het kunt onderscheiden van mogelijke legacydata of systemen van externe aannemers. Waarom dit belangrijk is Zo blijft de herkomst van de data duidelijk, vooral wanneer je data uit meerdere onderhoudsinstanties samenvoegt. Waar je het vindt Vaste waarde Voorbeelden Hexagon EAMInfor EAMDatastream 7i | |||
| Laatste data-update LastDataUpdate | De timestamp waarop het record voor het laatst is geëxtraheerd of vernieuwd. | ||
| Beschrijving Dit attribuut houdt bij wanneer de data voor het laatst uit het bronsysteem is opgehaald. Het helpt analisten de actualiteit van de data te beoordelen en mogelijke vertragingen in de rapportageketen te herkennen. Waarom dit belangrijk is Het geeft vertrouwen in de actualiteit van de analyse en helpt bij het oplossen van problemen met datasynchronisatie. Waar je het vindt Systeemtijd tijdens extractie Voorbeelden 2023-10-25T12:00:00Z2023-10-26T00:00:00Z | |||
| Onderhoudswerkorder WorkOrderNumber | De unieke identificatie van de onderhoudswerkorder. | ||
| Beschrijving Dit attribuut is de unieke primaire sleutel voor de onderhoudscase. Het volgt de werkorder vanaf de eerste aanvraag via planning en uitvoering tot en met de definitieve financiële afsluiting. Je gebruikt het als centrale case-identificatie om activiteitenlogboeken, arbeidsuren en materiaalverbruik aan elkaar te koppelen. Waarom dit belangrijk is Het identificeert de specifieke instantie van het onderhoudsproces, zodat je doorlooptijden en procesvarianten van begin tot eind kunt volgen. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_CODE Voorbeelden WO-100234WO-100235WO-100236104592 | |||
| Timestamp EventTimestamp | De datum en tijd waarop de activiteit plaatsvond. | ||
| Beschrijving Dit attribuut registreert het exacte moment waarop een gebeurtenis of statuswijziging in het systeem is vastgelegd. Hiermee kun je de duur tussen activiteiten en de totale doorlooptijd van de werkorder berekenen. Waarom dit belangrijk is Nauwkeurige timestamps zijn essentieel voor het analyseren van doorlooptijden, het herkennen van vertragingen en het berekenen van SLA-naleving. Waar je het vindt Hexagon EAM-tabel R5EVENTHISTORY, veld EVH_DATE Voorbeelden 2023-10-12T08:30:00Z2023-10-12T14:15:00Z2023-10-13T09:00:00Z | |||
| Afdeling MaintenanceDepartment | De afdeling of werkplaats die verantwoordelijk is voor de uitvoering van het werk. | ||
| Beschrijving Dit attribuut identificeert het team of de onderhoudswerkplaats waaraan de werkorder is toegewezen, zoals Electrical, Mechanical of Facilities. Zo kun je prestaties tussen verschillende technische teams vergelijken. Waarom dit belangrijk is Het ondersteunt het dashboard Technician Labor Productivity en helpt middelen effectief over verschillende vakgebieden te verdelen. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_MRC Voorbeelden Elektrische werkplaatsMechanisch onderhoudFaciliteitenWagenparkservice | |||
| Asset AssetCode | De unieke identificatie van de apparatuur of faciliteit die wordt onderhouden. | ||
| Beschrijving Dit attribuut koppelt de werkorder aan specifieke apparatuur of een specifieke locatie. Hiermee kun je de frequentie van storingen per asset analyseren en probleemveroorzakers of apparatuur die aan vervanging toe is identificeren. Waarom dit belangrijk is Dit is nodig om betrouwbaarheidsmetingen voor assets te berekenen en te begrijpen waar de onderhoudsinspanning zich concentreert. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_OBJECT Voorbeelden PUMP-001HVAC-204FLEET-99CONVEYOR-A | |||
| Gebruiker UpdatedBy | De gebruikers-ID van de persoon die de activiteit heeft uitgevoerd. | ||
| Beschrijving Dit attribuut bevat de login-ID van de persoon die verantwoordelijk is voor het activeren van de statuswijziging of update. Je gebruikt het om de werkbelasting van teams te analyseren, opleidingsbehoeften vast te stellen en de compliance van het proces te controleren. Waarom dit belangrijk is Hiermee kun je gebruikersgedrag en het gebruik van bronnen gedurende de onderhoudslevenscyclus analyseren. Waar je het vindt Hexagon EAM-tabel R5EVENTHISTORY, veld EVH_USER Voorbeelden JSMITHADAVISSYSTEEMMGR_USR | |||
| Geplande einddatum TargetCompletionDate | De geplande deadline voor de werkorder. | ||
| Beschrijving Dit attribuut geeft de datum aan waarop het onderhoud naar verwachting is afgerond. Door deze datum te vergelijken met de werkelijke einddatum kun je SLA-naleving en prestaties op tijd berekenen. Waarom dit belangrijk is Dit is belangrijk voor de Contractor SLA Adherence Monitor en voor het beoordelen van de nauwkeurigheid van de planning. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_TARGET Voorbeelden 2023-11-012023-11-152023-12-01 | |||
| Prioriteit PriorityCode | Het urgentieniveau dat aan de werkorder is toegewezen. | ||
| Beschrijving Dit attribuut geeft het belang van de werkorder aan, van routine tot noodgeval. Het bepaalt de planning van middelen en is belangrijk voor het bewaken van SLA-naleving en het herkennen van misbruik van prioriteiten. Waarom dit belangrijk is Het is essentieel voor het dashboard Priority Escalation and Resource Audit, zodat kritieke taken de juiste prioriteit krijgen. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_PRIORITY Voorbeelden KritiekHoogGemiddeldLaag | |||
| Type werkorder WorkOrderType | Classificeert de werkorder als preventief, correctief of voor noodgevallen. | ||
| Beschrijving Dit attribuut classificeert de aard van het onderhoudswerk. Je gebruikt het om de verhouding tussen gepland preventief onderhoud en reactieve noodreparaties te analyseren. Dat is een belangrijke indicator voor de conditie van bedrijfsmiddelen en de volwassenheid van het beheer. Waarom dit belangrijk is Het ondersteunt het dashboard Preventive Maintenance Ratio Analysis en helpt kansen te vinden om reactief werk te verminderen. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_TYPE Voorbeelden PPMCOREMGPRJ | |||
| Werkelijke arbeidsuren ActualLaborHours | Het totale aantal uren dat op de werkorder is geboekt. | ||
| Beschrijving Dit attribuut telt de tijd op die technici aan de werkorder hebben geregistreerd. Je gebruikt het om productiviteit te meten, arbeidskosten te berekenen en afwijkingen ten opzichte van het geschatte aantal uren te analyseren. Waarom dit belangrijk is Dit is de belangrijkste databron voor het Technician Labor Productivity-dashboard en de Labor Hour Variance-KPI. Waar je het vindt Hexagon EAM-tabel R5BOOKEDHOURS, veld BOO_HOURS (opgeteld per werkorder) Voorbeelden 2.54.012.00.5 | |||
| Aanmaakdatum DateCreated | De datum waarop de werkorder oorspronkelijk is aangemaakt. | ||
| Beschrijving Dit attribuut markeert het begin van de levenscyclus van de werkorder. Het is de basis voor het berekenen van de Mean Time to Plan en het bepalen van de ouderdom van backlogitems. Waarom dit belangrijk is Dit is nodig voor het Maintenance Planning Velocity-dashboard en de Backlog Age-KPI. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_CREATED Voorbeelden 2023-09-012023-09-15 | |||
| Beschrijving van werkorder WorkOrderDescription | Een korte tekstuele samenvatting van de onderhoudstaak. | ||
| Beschrijving Dit attribuut bevat de onderwerpregel of korte beschrijving van het probleem. Het geeft analisten context wanneer ze inzoomen op specifieke problematische cases of patronen in ongestructureerde tekst zoeken. Waarom dit belangrijk is Het geeft de nodige context voor menselijke beoordeling van de procesdata. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_DESC Voorbeelden Lekkende pomppakking reparerenMaandelijkse HVAC-inspectieTransportband vervangen | |||
| Datum materiaalaanvraag MaterialRequisitionDate | De datum waarop reserveonderdelen zijn aangevraagd. | ||
| Beschrijving Dit attribuut bevat de timestamp waarop de materiaalaanvraag naar het magazijn of de inkoop is verstuurd. Door de tijd tussen deze datum en Material Issued te analyseren, krijg je zicht op de efficiëntie van de toeleveringsketen. Waarom dit belangrijk is Dit is nodig voor het Spare Parts Procurement Lead Times-dashboard. Waar je het vindt Hexagon EAM-tabel R5REQUISITIONS of gekoppelde transactietabel Voorbeelden 2023-10-012023-10-05 | |||
| Escalatie naar noodstatus EmergencyEscalationFlag | Vlag die aangeeft of de prioriteit na het aanmaken naar Emergency is verhoogd. | ||
| Beschrijving Dit booleaanse attribuut identificeert werkorders die met een lagere prioriteit begonnen, maar later naar Emergency zijn opgewaardeerd. Een hoog aantal kan wijzen op een slechte eerste triage of op misbruik van het systeem om sneller service te krijgen. Waarom dit belangrijk is Het ondersteunt het Priority Escalation and Resource Audit-dashboard en de Emergency Escalation Rate-KPI. Waar je het vindt Afgeleid van de audittrail van het veld Priority Voorbeelden truefalse | |||
| Is herstelwerk IsRework | Vlag die aangeeft of de werkorder herhaalde technische taken bevatte. | ||
| Beschrijving Dit berekende attribuut identificeert cases waarbij het proces na een kwaliteitscontrole of voltooiingsstatus teruggaat naar een actieve werkstatus. Het helpt kwaliteitsproblemen en opleidingslacunes te vinden. Waarom dit belangrijk is Het vormt de basis voor het Technical Rework and Quality Control-dashboard en de Maintenance Rework Rate-KPI. Waar je het vindt Berekend op basis van herhaalde activiteiten Voorbeelden truefalse | |||
| Is preventief IsPreventive | Vlag die aangeeft of de werkorder betrekking heeft op preventief onderhoud. | ||
| Beschrijving Met dit booleaanse attribuut kun je werkorders eenvoudig filteren en categoriseren. Het vereenvoudigt de berekening van de Preventive Maintenance Ratio-KPI door proactief werk van reactieve reparaties te scheiden. Waarom dit belangrijk is Dit is een belangrijke segmentatie voor het Preventive Maintenance Ratio Analysis-dashboard. Waar je het vindt Afgeleid van WorkOrderType Voorbeelden truefalse | |||
| Kritikaliteit van asset AssetCriticality | Een score die het operationele belang van de asset aangeeft. | ||
| Beschrijving Dit attribuut geeft aan hoe belangrijk de asset is voor de bedrijfsvoering. Je gebruikt het vaak om te controleren of werkorders met hoge prioriteit echt betrekking hebben op kritieke apparatuur. Zo komen mogelijke vormen van misbruik van het proces aan het licht. Waarom dit belangrijk is Het ondersteunt het Priority Escalation and Resource Audit-dashboard door prioriteit aan de waarde van de asset te koppelen. Waar je het vindt Hexagon EAM-tabel R5OBJECTS, veld OBJ_CRITICALITY (join op EVT_OBJECT vereist) Voorbeelden A - VitaalB - KritiekC - SecundairD - Laag | |||
| Kwaliteitscontrole geslaagd QualityControlPassed | Vlag die aangeeft of de QC-stap is gedocumenteerd. | ||
| Beschrijving Dit booleaanse attribuut controleert of een specifieke kwaliteitscontroleactiviteit of checklistitem als afgerond is gemarkeerd. Zo controleer je de naleving van veiligheidsvoorschriften en interne standaarden. Waarom dit belangrijk is Het vormt de basis voor de Quality Control Compliance Rate-KPI en ondersteunt het Compliance and Documentation Integrity-dashboard. Waar je het vindt Afgeleid van Checklist-tabellen of Activity History Voorbeelden truefalse | |||
| SLA-status SLAState | Geeft aan of de werkorder aan de service level agreement voldeed. | ||
| Beschrijving Dit berekende attribuut vergelijkt de werkelijke einddatum met de geplande einddatum. De case krijgt de categorie Within SLA of Breached, zodat je de prestaties van externe partijen en interne teams eenvoudig kunt rapporteren. Waarom dit belangrijk is Dit is de directe databron voor de SLA Adherence Rate-KPI. Waar je het vindt Berekend: werkelijke einddatum <= doeldatum Voorbeelden Binnen SLAOverschredenOpen | |||
| Totale werkelijke kosten TotalActualCost | De totale financiële kosten die voor de werkorder zijn geregistreerd. | ||
| Beschrijving Dit attribuut bevat de totale kosten van arbeid, materialen en diensten. Het is belangrijk voor de analyse van financiële afhandeling en om de kostenimpact van noodonderhoud tegenover preventief onderhoud te begrijpen. Waarom dit belangrijk is Het ondersteunt het Financial Settlement and Closure Speed-dashboard en besluitvorming op basis van kosten. Waar je het vindt Hexagon EAM-tabel R5EVENTS, veld EVT_ACTCOST (of vergelijkbare samenvattingskolom) Voorbeelden 150.002500.5075.25 | |||
Activiteiten voor bedrijfsmiddelenonderhoud
| Activiteit | Beschrijving | ||
|---|---|---|---|
| Arbeidsuren geregistreerd | Een technicus registreert gewerkte uren op de werkorder. Deze activiteit kan meerdere keren per case plaatsvinden. | ||
| Waarom dit belangrijk is Basis voor de dashboards Labor Hour Variance en Technician Labor Productivity. Laat de werkelijke inspanning tegenover de planning zien. Waar je het vindt Hexagon EAM-tabel r5booklabor. Elke rij staat voor een urenregistratie voor de WO. Vastleggen Gelogd wanneer de transactie INSERT op r5booklabor wordt uitgevoerd Eventtype explicit | |||
| Materiaal uitgegeven | Reserveonderdelen worden fysiek uit het magazijn uitgegeven en aan de werkorder doorbelast. Dit staat voor materiaalverbruik. | ||
| Waarom dit belangrijk is Eindpunt voor de doorlooptijd van materiaalbeschikbaarheid. Identificeer vertragingen waarbij het werk start maar stilvalt door ontbrekende onderdelen. Waar je het vindt Hexagon EAM-tabel r5translines. Transactietype 'I' (Issue), gekoppeld aan de werkorder. Vastleggen Gelogd wanneer de transactie INSERT op r5translines wordt uitgevoerd Eventtype explicit | |||
| Werkorder aangemaakt | De eerste aanmaak van de onderhoudswerkorder in het systeem. Deze gebeurtenis maakt de case aan en legt de eerste timestamp van de volledige onderhoudslevenscyclus vast. | ||
| Waarom dit belangrijk is Markeert het begin van de procesinstantie en vormt de basis voor het meten van de totale oplostijd. Essentieel voor het berekenen van de ouderdom van de achterstand. Waar je het vindt Hexagon EAM-tabel r5events. Gelogd wanneer een nieuw record met evt_code wordt ingevoegd. Vastleggen Gelogd wanneer de transactie INSERT op r5events wordt uitgevoerd Eventtype explicit | |||
| Werkorder gesloten | De werkorder is financieel vergrendeld en gearchiveerd. Er kunnen geen verdere kosten of arbeidsuren worden geboekt. | ||
| Waarom dit belangrijk is Einde van het proces. Essentieel voor de analyse Financial Settlement Processed en voor het vastleggen van de definitieve kosten. Waar je het vindt Hexagon EAM r5statuslog. Overgang naar 'C' (Closed) of 'L' (Locked/Closed). Vastleggen Gelogd wanneer de transactie op r5statuslog wordt uitgevoerd Eventtype explicit | |||
| Werkorder gestart | Technici zijn begonnen met het fysieke werk aan het bedrijfsmiddel. Dit wordt vaak gemarkeerd door een statuswijziging naar In Progress of de eerste timestamp van een urenregistratie. | ||
| Waarom dit belangrijk is Eindpunt voor de berekening van de achterstand en startpunt voor de effectieve werktijd. Essentieel voor de SLA Adherence Rate. Waar je het vindt Hexagon EAM r5statuslog. Overgang naar 'In Progress', vaak statuscode 'I' of 'IP'. Vastleggen Gelogd wanneer de transactie op r5statuslog wordt uitgevoerd Eventtype explicit | |||
| Werkorder goedgekeurd | De statuswijziging die aangeeft dat de werkorder de beoordeling van planning en raming heeft doorlopen. Dit betekent dat het werk mag doorgaan. | ||
| Waarom dit belangrijk is Ondersteunt de analyse Maintenance Planning Velocity door het einde van de planningsfase te markeren. Controle op functiescheiding voor compliance. Waar je het vindt Hexagon EAM-tabel r5statuslog. Zoek naar de overgang naar status 'A' (Approved) of het systeemequivalent. Vastleggen Gelogd wanneer de transactie op r5statuslog wordt uitgevoerd Eventtype explicit | |||
| Werkorder voltooid | Het technische werk is afgerond en de technicus heeft de opdracht als voltooid gemarkeerd. Het bedrijfsmiddel wordt weer in gebruik genomen. | ||
| Waarom dit belangrijk is Belangrijke mijlpaal voor End to End Lifecycle Duration en Mean Time to Repair. Stopt de klok voor stilstand. Waar je het vindt Hexagon EAM r5statuslog. Overgang naar 'C' (Completed) of 'F' (Finished). Vastleggen Gelogd wanneer de transactie op r5statuslog wordt uitgevoerd Eventtype explicit | |||
| Checklistitem geverifieerd | Een specifieke taak of inspectiestap binnen de werkorder wordt als voltooid gemarkeerd. Dit geeft de voortgang binnen de opdracht op detailniveau weer. | ||
| Waarom dit belangrijk is Essentieel voor Compliance and Documentation Integrity. Bewijst dat veiligheidscontroles systematisch zijn geregistreerd. Waar je het vindt Hexagon EAM r5checklist of r5activities. Statuswijziging van een specifieke activiteit of taakregel. Vastleggen Gelogd wanneer de transactie UPDATE op r5checklist wordt uitgevoerd Eventtype explicit | |||
| Kwaliteitscontrole geslaagd | Een supervisor of inspecteur beoordeelt het afgeronde werk en keurt de kwaliteit goed. Deze stap valideert de reparatie voordat de werkorder wordt gesloten. | ||
| Waarom dit belangrijk is Ondersteunt de KPI Quality Control Compliance Rate. Lussen vanaf dit punt wijzen op technisch herstelwerk. Waar je het vindt Hexagon EAM r5statuslog, overgang naar 'Review' of 'QC', of r5audittrail voor validatie van een specifieke UDF. Vastleggen Vergelijk het statusveld voor en na de wijziging Eventtype inferred | |||
| Materiaalaanvraag aangemaakt | Een aanvraag voor reserveonderdelen of materialen wordt aan de werkorder gekoppeld. Hiermee start het subprocess voor de toeleveringsketen. | ||
| Waarom dit belangrijk is Startpunt voor doorlooptijden van de inkoop van reserveonderdelen. Hoge aantallen wijzen hier op afhankelijkheid van de voorraadbeschikbaarheid. Waar je het vindt Hexagon EAM-tabel r5requisitions. Gekoppeld via req_evt (Work Order Code). Vastleggen Gelogd wanneer de transactie INSERT op r5requisitions wordt uitgevoerd Eventtype explicit | |||
| Prioriteit bijgewerkt | Na de eerste aanmaak is het prioriteitsniveau van de werkorder gewijzigd. Dit legt de timestamp en de nieuwe prioriteitswaarde vast. | ||
| Waarom dit belangrijk is Essentieel voor het dashboard Priority Escalation and Resource Audit om misbruik van prioriteiten of scope creep te herkennen. Waar je het vindt Hexagon EAM r5audittrail, als audit is ingeschakeld, of afgeleid uit snapshots. Vaak afgeleid uit het auditlog van het veld evt_priority. Vastleggen Gelogd wanneer de transactie UPDATE op evt_priority wordt uitgevoerd Eventtype explicit | |||
| Werkorder afgetekend | Laatste administratieve goedkeuring die meestal nodig is voor compliance of betaling aan een aannemer. Bevestigt dat alle data klopt. | ||
| Waarom dit belangrijk is Monitor voor Work Order Approval Cycle Analysis. Vertragingen hier beïnvloeden de snelheid van de financiële afhandeling. Waar je het vindt Hexagon EAM r5statuslog, overgang naar 'Signed Off', of logboek van elektronische handtekeningen. Vastleggen Vergelijk het statusveld voor en na de wijziging Eventtype inferred | |||
| Werkorder gepland | Aan de werkorder wordt een geplande startdatum of specifieke resource toegewezen. Hierdoor gaat de order van de achterstand naar de actieve planning. | ||
| Waarom dit belangrijk is Essentieel voor de analyse Technician Labor Productivity en voor inzicht in de efficiëntie van de toewijzing van middelen. Waar je het vindt Hexagon EAM-tabel r5events, update van evt_schedstart, of r5statuslog, overgang naar 'S' (Scheduled). Vastleggen Vergelijk het statusveld voor en na de wijziging of controleer de update van evt_schedstart Eventtype inferred | |||
Extractiegidsen
Stappen
- Log in op de Hexagon EAM-applicatie met een gebruikersaccount dat beschikt over de rechten voor Advanced Reporting Authoring.
- Ga naar de Reports-module, meestal te vinden onder het menu Administration of Reports, en open de Advanced Reporting-interface, vaak Cognos of een ingebouwde SQL-reportbuilder.
- Start de wizard voor het maken van een nieuw rapport en selecteer ‘SQL’ of ‘Free-hand SQL’ als type gegevensbron. Zo kun je de database rechtstreeks bevragen in plaats van het standaardmodel voor bedrijfsobjecten te gebruiken.
- Kopieer het SQL-script uit het gedeelte Query hieronder en plak het in het venster voor de datasetdefinitie.
- Vervang de tijdelijke waarden, zoals [Your Organization Code] en datumbereiken, door waarden die bij jouw omgeving passen.
- Controleer de querysyntaxis in de editor en zorg dat het databaseplatform, Oracle of SQL Server, de UNION-statements accepteert.
- Koppel de resulterende kolommen aan de rapportindeling. Zorg dat WorkOrderNumber, ActivityName en EventTimestamp duidelijk zichtbaar zijn.
- Stel het rapport zo in dat het specifiek naar CSV- of Excel-formaat exporteert. Zo behoud je een tabelstructuur zonder samengevoegde cellen of opmaakheaders.
- Voer het rapport uit voor een validatieperiode, bijvoorbeeld de laatste 100 werkorders, om de datastructuur te controleren.
- Plan het rapport na controle periodiek in of voer het uit voor de volledige extractieperiode.
- Download het uitvoerbestand en controleer de datumnotatie. Zorg waar mogelijk dat timestamps seconden bevatten voor een nauwkeurige volgorde.
- Importeer het resulterende CSV-bestand in ProcessMind. Koppel de kolom SourceSystem als caseattribuut en ActivityName als activiteitenclassificatie.
Configuratie
- Datumbereik: filter bij voorkeur op EVT_DATE (aanmaakdatum) voor een voortschrijdend venster van 6 tot 12 maanden om de queryprestaties op peil te houden.
- Organisatiefilter: Hexagon EAM werkt vaak met meerdere organisaties. Neem een filter op voor jouw specifieke organisatiecode om te voorkomen dat data van andere bedrijfsonderdelen wordt meegenomen.
- Databasesyntaxis: de query hieronder gebruikt waar mogelijk standaard-ANSI-SQL, maar Hexagon EAM draait meestal op Oracle of SQL Server. Voor datumfuncties, zoals SYSDATE versus GETDATE, kunnen kleine aanpassingen nodig zijn.
- Statusconfiguratie: de koppeling van statuscodes, zoals ‘A’, ‘C’ en ‘R’, aan ActivityName-waarden, zoals ‘Work Order Approved’, moet overeenkomen met de statusconfiguratie van jouw systeem.
- Rechten: het gebruikersaccount dat het rapport uitvoert, heeft leestoegang nodig tot de tabellen R5EVENTS, R5EVENTSTATUS, R5BOOKEDHOURS, R5TRANSACTIONS en R5AUDITVALUES.
a Voorbeeldquery sql
/* 1. Work Order Created */
SELECT
evt_code AS WorkOrderNumber,
'Work Order Created' AS ActivityName,
evt_created AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
evt_type AS WorkOrderType,
evt_priority AS PriorityCode,
evt_mrc AS MaintenanceDepartment,
evt_updatedby AS UpdatedBy,
evt_target AS TargetCompletionDate,
evt_object AS AssetCode,
NULL AS ActualLaborHours
FROM r5events
WHERE evt_type IN ('JOB', 'PPM') -- Filter for relevant WO types
AND evt_created >= '2023-01-01' -- [Set Start Date]
AND evt_org = 'YOUR_ORG' -- [Set Organization]
UNION ALL
/* 2. Priority Updated (Requires Audit Log) */
SELECT
aud_code AS WorkOrderNumber,
'Priority Updated' AS ActivityName,
aud_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
aud_value AS PriorityCode,
NULL AS MaintenanceDepartment,
aud_user AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5auditvalues
WHERE aud_table = 'R5EVENTS'
AND aud_field = 'EVT_PRIORITY'
AND aud_org = 'YOUR_ORG'
UNION ALL
/* 3. Status Changes (Approved, Scheduled, Started, Completed, Signed Off, Closed) */
/* This block maps generic status codes to specific ProcessMind activities */
SELECT
est_event AS WorkOrderNumber,
CASE est_status
WHEN 'A' THEN 'Work Order Approved'
WHEN 'S' THEN 'Work Order Scheduled'
WHEN 'IP' THEN 'Work Order Started'
WHEN 'C' THEN 'Work Order Completed'
WHEN 'QC' THEN 'Quality Control Passed'
WHEN 'SO' THEN 'Work Order Signed Off'
WHEN 'CL' THEN 'Work Order Closed'
ELSE 'Status Change: ' + est_status
END AS ActivityName,
est_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
est_auth AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5eventstatus
WHERE est_status IN ('A', 'S', 'IP', 'C', 'QC', 'SO', 'CL')
AND est_org = 'YOUR_ORG'
UNION ALL
/* 4. Material Requisition Created */
SELECT
req_event AS WorkOrderNumber,
'Material Requisition Created' AS ActivityName,
req_created AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
req_createdby AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5requisitions
WHERE req_event IS NOT NULL
AND req_org = 'YOUR_ORG'
UNION ALL
/* 5. Material Issued */
SELECT
trl_event AS WorkOrderNumber,
'Material Issued' AS ActivityName,
trl_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
trl_user AS UpdatedBy,
NULL AS TargetCompletionDate,
trl_part AS AssetCode, -- Storing Part ID in Asset column for context
NULL AS ActualLaborHours
FROM r5translines
WHERE trl_type = 'I' -- I = Issue
AND trl_event IS NOT NULL
AND trl_org = 'YOUR_ORG'
UNION ALL
/* 6. Labor Hours Recorded */
SELECT
boo_event AS WorkOrderNumber,
'Labor Hours Recorded' AS ActivityName,
boo_entered AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
boo_mrc AS MaintenanceDepartment,
boo_person AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
boo_hours AS ActualLaborHours
FROM r5bookedhours
WHERE boo_event IS NOT NULL
AND boo_org = 'YOUR_ORG'
UNION ALL
/* 7. Checklist Item Verified */
SELECT
ckv_event AS WorkOrderNumber,
'Checklist Item Verified' AS ActivityName,
ckv_entrydate AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
ckv_enteredby AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5checklistvalues
WHERE ckv_completed = '+' -- Logic for completed item depends on config
AND ckv_event IS NOT NULL
AND ckv_org = 'YOUR_ORG' Stappen
- Identificeer de databaseverbinding: zorg dat je inloggegevens met leestoegang hebt, meestal van een serviceaccount, voor de Oracle- of SQL Server-backenddatabase van Hexagon EAM.
- Zoek de kerntabellen: controleer de toegang tot R5EVENTS (werkorderheaders), R5STATUS (statushistorie), R5BOOKEDHOURS (arbeid), R5TRANSACTIONS (materialen) en R5AUDITVALUES (auditlog).
- Koppel statuscodes: Hexagon EAM gebruikt configureerbare statuscodes, zoals A, C, O en R. Controleer de systeemconfiguratie via Administration -> Codes en koppel jouw codes van één of twee tekens aan de activiteiten Approved, Scheduled, Started, Completed, QC Passed, Signed Off en Closed.
- Configureer de query: open het SQL-script hieronder. Vervang de tijdelijke statuscodes, zoals ‘APPR’, ‘SCHD’ en ‘COMP’, door de codes uit jouw systeem.
- Stel het datumbereik in: pas de WHERE-clausules aan zodat ze filteren op EVT_DATE of TRN_DATE voor een specifieke periode, meestal de laatste 12 maanden, om de queryprestaties op peil te houden.
- Voer de extractie uit: voer de query uit in je SQL-client, zoals SQL Developer, SSMS of Toad.
- Controleer de auditdata: als de activiteit ‘Priority Updated’ geen rijen oplevert, controleer dan of de auditfunctie voor de tabel R5EVENTS is ingeschakeld in de EAM-systeeminstellingen.
- Controleer de checklistdata: controleer of R5CHECKLISTVALUES de juiste tabel is voor jouw versie. Oudere versies gebruiken mogelijk R5ACTIVITIES voor het afronden van taken.
- Exporteer de data: sla de resultatenset op als CSV- of Parquet-bestand. Zorg dat de kolom Timestamp de ISO 8601-notatie gebruikt (YYYY-MM-DD HH:MM:SS) om parseerfouten te voorkomen.
- Importeer in ProcessMind: upload het platte bestand naar de ProcessMind-interface en koppel WorkOrderNumber aan Case ID, ActivityName aan Activity en EventTimestamp aan Timestamp.
Configuratie
- Filter voor tijdvenster: de query selecteert momenteel alle data. Voeg bij voorkeur een filter toe, zoals WHERE EVT_DATE >= SYSDATE - 365 (Oracle) of GetDate() - 365 (SQL Server), in de basis-CTE of in elk SELECT-blok.
- Koppeling van statuscodes: vervang de letterlijke waarden in de SQL, zoals ‘APPR’, ‘COMP’ en ‘QC’, door de werkelijke codes uit jouw R5STATUS-set.
- Auditconfiguratie: de extractie van ‘Priority Updated’ is afhankelijk van de tabel R5AUDITVALUES. Als auditing voor de kolom EVT_PRIORITY is uitgeschakeld, ontbreekt deze activiteit.
- Organisatie/tenant: als je EAM-instantie meerdere organisaties bevat, voeg dan een filter toe voor EVT_ORG of EVT_MRC (afdeling) om te voorkomen dat data door elkaar raakt.
- Taal: de query gaat uit van standaard-Engelse kolomheaders. Als je database gelokaliseerde kolomnamen gebruikt, pas die dan aan.
a Voorbeeldquery sql
/* 1. Work Order Created */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Created' AS ActivityName,
E.EVT_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
E.EVT_CREATEDBY AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
WHERE E.EVT_TYPE IN ('JOB', 'PPM') -- Filter for Standard and Preventive WOs
UNION ALL
/* 2. Priority Updated (From Audit Log) */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Priority Updated' AS ActivityName,
A.AUD_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
A.AUD_VALUE AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
A.AUD_USER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5AUDITVALUES A ON E.EVT_CODE = A.AUD_KEY1
WHERE A.AUD_TABLE = 'R5EVENTS'
AND A.AUD_FIELD = 'EVT_PRIORITY'
UNION ALL
/* 3. Work Order Approved */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Approved' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'APPR' -- Replace with your Approved status code
UNION ALL
/* 4. Material Requisition Created */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Material Requisition Created' AS ActivityName,
R.REQ_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
R.REQ_CREATEDBY AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5REQUISITIONS R ON E.EVT_CODE = R.REQ_EVENT
UNION ALL
/* 5. Work Order Scheduled */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Scheduled' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'SCHD' -- Replace with your Scheduled status code
UNION ALL
/* 6. Work Order Started */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Started' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS IN ('STRT', 'INPRG') -- Replace with your Started/In Progress status codes
UNION ALL
/* 7. Material Issued */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Material Issued' AS ActivityName,
T.TRN_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
T.TRN_USER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5TRANSACTIONS T ON E.EVT_CODE = T.TRN_EVENT
WHERE T.TRN_TYPE = 'ISSUE' -- Indicates material issue from store
UNION ALL
/* 8. Labor Hours Recorded */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Labor Hours Recorded' AS ActivityName,
B.BOO_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
B.BOO_PERSON AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
B.BOO_HOURS AS ActualLaborHours
FROM R5EVENTS E
JOIN R5BOOKEDHOURS B ON E.EVT_CODE = B.BOO_EVENT
UNION ALL
/* 9. Checklist Item Verified */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Checklist Item Verified' AS ActivityName,
C.CKV_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
C.CKV_ENTEREDBY AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5CHECKLISTVALUES C ON E.EVT_CODE = C.CKV_EVENT
WHERE C.CKV_COMPLETED = '+' -- Assuming '+' indicates checked/complete
UNION ALL
/* 10. Work Order Completed */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Completed' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'COMP' -- Replace with your Completed status code
UNION ALL
/* 11. Quality Control Passed */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Quality Control Passed' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'QC' -- Replace with your QC Passed status code
UNION ALL
/* 12. Work Order Signed Off */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Signed Off' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'SIGNOFF' -- Replace with your Sign Off status code
UNION ALL
/* 13. Work Order Closed */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Closed' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'CLOS' -- Replace with your Closed status code Stappen
- Controleer of Hexagon EAM Databridge Outbound is geïnstalleerd, gelicentieerd en geautoriseerd voor de onderhoudswerkorderdata die je met deze extractie nodig hebt. Controleer ook de configuratie van de outboundtransactie, de bestemming, de planningsmogelijkheden en de toegang tot de brontabellen of -views. Gebruik [Configure based on your system] voor het juiste pad in het beheermenu, omdat menunamen en transactie-ID’s per EAM-release verschillen.
- Bepaal welke Hexagon EAM-tabellen of -views de bron vormen voor werkorderheaders, statushistorie, prioriteitshistorie, materiaalaanvragen, materiaaluitgiftes, arbeidstransacties, checklist- of inspectieresultaten, plannings toewijzingen, kwaliteitsgoedkeuringen, ondertekeningsrecords en sluitingsrecords. Vervang elke tijdelijke aanduiding [Your ... table name] in de query door het bijbehorende object in jouw omgeving. Ga er niet van uit dat een actuele werkorderheader historische wijzigingen bevat.
- Configureer Databridge Outbound zo dat het een XML- of CSV-transactie publiceert zodra een relevante werkorderwijziging is opgeslagen. Neem het werkordernummer, eventtype, eventtimestamp, de brongebruiker, prioriteit, werkordertype, afdeling, geplande voltooiingsdatum, asset, werkelijke arbeidsuren en een vernieuwings- of extractietimestamp op. Configureer aparte outboundkoppelingen als de bronstructuren verschillen voor status-, arbeids-, materiaal-, checklist-, plannings-, kwaliteits-, ondertekenings- of sluitingsevents.
- Configureer de outboundpayload zo dat elke bedrijfsgebeurtenis als afzonderlijk eventrecord wordt vastgelegd. Stuur niet alleen de meest recente werkorderstatus. Leg voor herhaalde arbeidsregistraties, materiaaluitgiftes, checklistitems, prioriteitswijzigingen en andere herhaalde gebeurtenissen één record per gebeurtenis vast. Koppel het Databridge-eventtype aan een van de 13 vereiste ActivityName-waarden.
- Plaats de XML- of CSV-uitvoer van Databridge op een gecontroleerde staginglocatie. Laad de data daarna in de databaseobjecten waarnaar de query verwijst, of vervang de querybronobjecten door de stagetabellen. Bewaar de oorspronkelijke event-ID, het werkordernummer, de eventtimestamp, de brongebruiker en LastDataUpdate. Als Databridge XML verstuurt, parseer dan herhaalde eventnodes naar rijen voordat je de activiteiten koppelt. Als het CSV verstuurt, controleer dan scheidingstekens, aanhalingstekens, codering en timestampnotatie.
- Vervang de tijdelijke aanduidingen in de query voor verbindingsspecifieke objecten, datumparameters en bedrijfsfilters. De query gebruikt voor elke activiteit een genormaliseerde eventbron en combineert de resultaten met UNION ALL. Controleer of de bronkolommen in elk blok compatibele datatypen hebben. Als een bron een aanbevolen attribuut niet levert, geef dan NULL terug in plaats van een waarde te verzinnen.
- Voer de query eerst uit voor een periode van ongeveer drie tot zes maanden. Controleer of het resultaat de vereiste kolommen WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem en LastDataUpdate bevat, samen met de aanbevolen attributen waar die beschikbaar zijn. Sorteer de uitvoer op WorkOrderNumber, EventTimestamp en ActivityName. Behoud dubbele rijen als die verschillende gebeurtenissen uit de bron vertegenwoordigen.
- Vergelijk de geëxtraheerde rijen met de leveringsaantallen van Databridge, de aantallen brontransacties en een steekproef van werkorders in Hexagon EAM. Onderzoek ontbrekende statushistorie, dubbele leveringen, ongeldige timestamps en events buiten het geselecteerde datumbereik. Pas alleen een vaste deduplicatieregel toe als hetzelfde bron-event meer dan één keer is geleverd.
- Exporteer het eindresultaat als UTF-8 CSV of een ander door ProcessMind ondersteund event-logformaat. Gebruik één event per rij, een consistente timestamp met tijdzoneverwerking en koppel WorkOrderNumber aan de case-ID, ActivityName aan de activiteit en EventTimestamp aan de eventtimestamp. Upload het bestand naar ProcessMind en controleer of alle 13 activiteitnamen beschikbaar zijn in het eventmodel.
Configuratie
- Configureer Hexagon EAM Databridge Outbound voor XML- of CSV-levering op eventniveau. De exacte transactienamen, beheerschermen en menupaden hangen af van de geïnstalleerde Hexagon EAM-release. Gebruik daarom [Configure based on your system] in plaats van een releasespecifiek pad aan te nemen.
- Configureer WorkOrderNumber als de case-ID van ProcessMind, ActivityName als het activiteitenveld en EventTimestamp als de eventtimestamp. Vul SourceSystem met Hexagon EAM en gebruik LastDataUpdate voor het tijdstip van extractie of vernieuwing.
- Configureer outboundkoppelingen voor alle 13 activiteiten: Work Order Created, Priority Updated, Work Order Approved, Material Requisition Created, Work Order Scheduled, Work Order Started, Material Issued, Labor Hours Recorded, Checklist Item Verified, Work Order Completed, Quality Control Passed, Work Order Signed Off en Work Order Closed.
- Bewaar historische gebeurtenissen. Met alleen een actuele status kun je niet elke statusovergang, prioriteitswijziging, arbeidsregistratie, materiaaluitgifte, checklistcontrole, goedkeuring of ondertekening reconstrueren.
- Gebruik voor de eerste extractie een periode van drie tot zes maanden. Gebruik voor incrementele ladingen de leveringsdatum van Databridge of de LastDataUpdate-watermark, met een kleine overlap om late transacties op te vangen.
- Pas filters voor bedrijf, locatie, organisatie, werkordertype, afdeling en status alleen toe als de analyse dat vereist. Gebruik [Your company filter] of [Configure based on your system] voor beperkingen die specifiek zijn voor jouw organisatie.
- Neem gesloten werkorders mee als de analyse de volledige levenscyclus omvat. Als je alleen op open werkorders filtert, ontbreken activiteiten voor voltooiing, kwaliteit, ondertekening en sluiting.
- Configureer de tijdzoneverwerking expliciet. Zet alle brontimestamps vóór het uploaden naar ProcessMind om naar één afgesproken tijdzone en bewaar de oorspronkelijke tijdzone of offset als die beschikbaar is.
- Filter bij grote datasets bij de bron, beperk de extractieperiode, indexeer of partitioneer op eventtimestamp en werkordernummer en plaats Databridge-bestanden eerst in staging. Voorkom dat je telkens de volledige historische XML-payload opnieuw parseert.
- Vereisten zijn onder meer beschikbaarheid van Databridge Outbound, toestemming om de relevante EAM-data te lezen, toegang tot de outboundbestemming of stagingdatabase en toegang tot werkorder-, status-, materiaal-, arbeids-, checklist-, plannings-, goedkeurings-, kwaliteits-, ondertekenings- en sluitingsdata.
- Als een vereist bedrijfsevent niet als native Databridge-transactie beschikbaar is, configureer dan een bronview of stagingtransformatie die één expliciete eventrij oplevert. ProcessMind leidt ontbrekende activiteiten niet af uit andere rijen.
a Voorbeeldquery sql
WITH
created_events AS (
SELECT
CAST(c.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Work Order Created' AS VARCHAR(100)) AS ActivityName,
CAST(c.[CreatedTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(c.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(c.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(c.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(c.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(c.[CreatedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(c.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(c.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(c.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your work order creation table or view] c
WHERE c.[CreatedTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND c.[CreatedTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
priority_events AS (
SELECT
CAST(p.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Priority Updated' AS VARCHAR(100)) AS ActivityName,
CAST(p.[PriorityChangedTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(p.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(p.[NewPriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(p.[UpdatedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your priority history table or view] p
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = p.[WorkOrderNumber]
WHERE p.[PriorityChangedTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND p.[PriorityChangedTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
approved_events AS (
SELECT
CAST(s.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Work Order Approved' AS VARCHAR(100)) AS ActivityName,
CAST(s.[StatusChangedTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(s.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(s.[UpdatedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your work order status history table or view] s
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = s.[WorkOrderNumber]
WHERE s.[NewStatus] = '[Your approved status value]'
AND s.[StatusChangedTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND s.[StatusChangedTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
requisition_events AS (
SELECT
CAST(r.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Material Requisition Created' AS VARCHAR(100)) AS ActivityName,
CAST(r.[RequisitionCreatedTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(r.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(r.[CreatedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your material requisition table or view] r
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = r.[WorkOrderNumber]
WHERE r.[RequisitionCreatedTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND r.[RequisitionCreatedTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
scheduled_events AS (
SELECT
CAST(a.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Work Order Scheduled' AS VARCHAR(100)) AS ActivityName,
CAST(a.[ScheduledTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(a.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(a.[UpdatedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(a.[ScheduledStartDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your work order scheduling table or view] a
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = a.[WorkOrderNumber]
WHERE a.[ScheduledTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND a.[ScheduledTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
started_events AS (
SELECT
CAST(s.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Work Order Started' AS VARCHAR(100)) AS ActivityName,
CAST(s.[StatusChangedTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(s.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(s.[UpdatedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your work order status history table or view] s
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = s.[WorkOrderNumber]
WHERE s.[NewStatus] IN ('[Your in progress status value]', '[Your started status value]')
AND s.[StatusChangedTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND s.[StatusChangedTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
issued_events AS (
SELECT
CAST(i.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Material Issued' AS VARCHAR(100)) AS ActivityName,
CAST(i.[IssueTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(i.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(i.[IssuedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your material issue table or view] i
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = i.[WorkOrderNumber]
WHERE i.[IssueTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND i.[IssueTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
labor_events AS (
SELECT
CAST(l.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Labor Hours Recorded' AS VARCHAR(100)) AS ActivityName,
CAST(l.[LaborEntryTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(l.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(l.[RecordedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(l.[LaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your labor transaction table or view] l
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = l.[WorkOrderNumber]
WHERE l.[LaborEntryTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND l.[LaborEntryTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
checklist_events AS (
SELECT
CAST(k.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Checklist Item Verified' AS VARCHAR(100)) AS ActivityName,
CAST(k.[VerifiedTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(k.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(k.[VerifiedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your checklist verification table or view] k
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = k.[WorkOrderNumber]
WHERE k.[VerifiedTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND k.[VerifiedTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
completed_events AS (
SELECT
CAST(s.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Work Order Completed' AS VARCHAR(100)) AS ActivityName,
CAST(s.[StatusChangedTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(s.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(s.[UpdatedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your work order status history table or view] s
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = s.[WorkOrderNumber]
WHERE s.[NewStatus] = '[Your completed status value]'
AND s.[StatusChangedTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND s.[StatusChangedTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
quality_events AS (
SELECT
CAST(q.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Quality Control Passed' AS VARCHAR(100)) AS ActivityName,
CAST(q.[QualityApprovalTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(q.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(q.[ApprovedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your quality approval table or view] q
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = q.[WorkOrderNumber]
WHERE q.[QualityResult] = '[Your quality passed value]'
AND q.[QualityApprovalTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND q.[QualityApprovalTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
signoff_events AS (
SELECT
CAST(f.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Work Order Signed Off' AS VARCHAR(100)) AS ActivityName,
CAST(f.[SignOffTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(f.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(f.[SignedOffBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your work order sign-off table or view] f
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = f.[WorkOrderNumber]
WHERE f.[SignOffTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND f.[SignOffTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
),
closed_events AS (
SELECT
CAST(s.[WorkOrderNumber] AS VARCHAR(100)) AS WorkOrderNumber,
CAST('Work Order Closed' AS VARCHAR(100)) AS ActivityName,
CAST(s.[StatusChangedTimestamp] AS TIMESTAMP) AS EventTimestamp,
CAST('Hexagon EAM' AS VARCHAR(100)) AS SourceSystem,
CAST(s.[LastDataUpdate] AS TIMESTAMP) AS LastDataUpdate,
CAST(w.[WorkOrderType] AS VARCHAR(100)) AS WorkOrderType,
CAST(w.[PriorityCode] AS VARCHAR(100)) AS PriorityCode,
CAST(w.[MaintenanceDepartment] AS VARCHAR(100)) AS MaintenanceDepartment,
CAST(s.[UpdatedBy] AS VARCHAR(100)) AS UpdatedBy,
CAST(w.[TargetCompletionDate] AS TIMESTAMP) AS TargetCompletionDate,
CAST(w.[AssetCode] AS VARCHAR(100)) AS AssetCode,
CAST(w.[ActualLaborHours] AS DECIMAL(18,2)) AS ActualLaborHours
FROM [Your work order status history table or view] s
LEFT JOIN [Your work order current or history table or view] w ON w.[WorkOrderNumber] = s.[WorkOrderNumber]
WHERE s.[NewStatus] = '[Your closed status value]'
AND s.[StatusChangedTimestamp] >= CAST('[Start date parameter]' AS TIMESTAMP)
AND s.[StatusChangedTimestamp] < CAST('[End date parameter]' AS TIMESTAMP)
AND [Your company filter]
)
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM created_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM priority_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM approved_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM requisition_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM scheduled_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM started_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM issued_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM labor_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM checklist_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM completed_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM quality_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM signoff_events
UNION ALL
SELECT WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem, LastDataUpdate, WorkOrderType, PriorityCode, MaintenanceDepartment, UpdatedBy, TargetCompletionDate, AssetCode, ActualLaborHours FROM closed_events
ORDER BY WorkOrderNumber, EventTimestamp, ActivityName; Klaar om aan de slag te gaan?
Zet je onderhoudsdata om in bruikbare inzichten met deze template. Ons team helpt je graag met technische vragen tijdens het voorbereiden van je data.
Verminder vertragingen in assetonderhoud en verbeter vandaag nog je prestaties
Verkort je doorlooptijd met 30 procent en elimineer verborgen knelpunten.
Je hebt geen creditcard nodig. Je bent binnen enkele minuten klaar.