Vaše datová šablona pro údržbu majetku
Vaše datová šablona pro údržbu majetku
- Základní datová pole pro záznamy údržby
- Standardní milníky procesu a fáze pracovního příkazu
- Technický postup extrakce dat z Hexagon EAM
Atributy údržby majetku
| Název | Popis | ||
|---|---|---|---|
| Aktivita ActivityName | Konkrétní úkol nebo událost změny stavu, ke které došlo. | ||
| Popis Tento atribut označuje prováděný krok procesu, například „Pracovní příkaz vytvořen“ nebo „Materiál vydán“. Získává se z historie změn stavu nebo z konkrétních transakčních událostí zaznamenaných u pracovního příkazu. Proč je to důležité Určuje pořadí v záznamu událostí a umožňuje rekonstruovat průběh procesu i analyzovat úzká místa. Kde data získat Tabulka Hexagon EAM R5EVENTHISTORY, pole EVH_STATUS (převedené na popisy) nebo auditní záznamy Příklady Pracovní příkaz vytvořenPracovní příkaz naplánovánPracovní příkaz dokončenMateriál vydán | |||
| Časové razítko EventTimestamp | Datum a čas, kdy k činnosti došlo. | ||
| Popis Tento atribut zaznamenává přesný okamžik, kdy byla událost nebo změna stavu potvrzena v systému. Umožňuje vypočítat dobu mezi činnostmi i celkovou dobu průběhu pracovního příkazu. Proč je to důležité Přesná časová razítka jsou nezbytná pro analýzu dodacích lhůt, odhalování prodlev a výpočet dodržování SLA. Kde data získat Tabulka Hexagon EAM R5EVENTHISTORY, pole EVH_DATE Příklady 2023-10-12T08:30:00Z2023-10-12T14:15:00Z2023-10-13T09:00:00Z | |||
| Poslední aktualizace dat LastDataUpdate | Časové razítko posledního exportu nebo obnovení záznamu. | ||
| Popis Tento atribut zaznamenává, kdy byla data naposledy získána ze zdrojového systému. Analytici díky němu poznají, jak aktuální data jsou, a mohou odhalit případné prodlevy v procesu předávání dat do reportů. Proč je to důležité Pomáhá ověřit aktuálnost analýzy a řešit problémy se synchronizací dat. Kde data získat Čas systému při exportu Příklady 2023-10-25T12:00:00Z2023-10-26T00:00:00Z | |||
| Pracovní příkaz údržby WorkOrderNumber | Jedinečný identifikátor pracovního příkazu údržby. | ||
| Popis Tento atribut představuje jedinečný primární klíč případu údržby. Sleduje pracovní příkaz od úvodního požadavku přes plánování a realizaci až po konečné finanční uzavření. Slouží jako hlavní identifikátor případu pro propojení záznamů činností, odpracovaných hodin a spotřeby materiálu. Proč je to důležité Určuje konkrétní instanci procesu údržby a umožňuje sledovat dobu průběhu od začátku do konce i varianty procesu. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_CODE Příklady WO-100234WO-100235WO-100236104592 | |||
| Zdrojový systém SourceSystem | Název systému, ze kterého data pocházejí. | ||
| Popis Tento atribut označuje zdrojový systém, který je pro data autoritativní. V tomto případě je pevně nastaven na název konkrétního systému EAM, aby se dal odlišit od případných dat ze starších systémů nebo externích dodavatelů. Proč je to důležité Zajišťuje přehled o původu dat, zejména při slučování dat z více systémů údržby. Kde data získat Pevně nastavená hodnota Příklady Hexagon EAMInfor EAMDatastream 7i | |||
| Oddělení MaintenanceDepartment | Oddělení nebo pracoviště odpovědné za provedení práce. | ||
| Popis Tento atribut určuje tým nebo údržbářskou dílnu přiřazenou k pracovnímu příkazu, například elektroúdržbu, strojní údržbu nebo správu budov. Umožňuje porovnávat výkonnost různých technických týmů. Proč je to důležité Podporuje dashboard produktivity práce techniků a pomáhá efektivně rozdělovat zdroje mezi jednotlivé profese. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_MRC Příklady ElektroúdržbaStrojní údržbaSpráva budovÚdržba vozového parku | |||
| Plánované datum dokončení TargetCompletionDate | Plánovaný termín dokončení pracovního příkazu. | ||
| Popis Tento atribut udává datum, do kterého má být údržba dokončena. Porovnání s datem skutečného dokončení je základem pro výpočet plnění SLA a včasného dokončení. Proč je to důležité Je nezbytný pro dashboard sledování plnění SLA dodavatelů a vyhodnocení přesnosti plánování. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_TARGET Příklady 2023-11-012023-11-152023-12-01 | |||
| Priorita PriorityCode | Úroveň naléhavosti přiřazená pracovnímu příkazu. | ||
| Popis Tento atribut vyjadřuje důležitost pracovního příkazu, od běžného po havarijní. Určuje plánování zdrojů a je důležitý pro sledování dodržování SLA i odhalování neoprávněných změn priority. Proč je to důležité Dashboard eskalací priorit a auditu zdrojů pomáhá zajistit, aby měly kritické úkoly správnou prioritu. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_PRIORITY Příklady KritickáVysokáStředníNízká | |||
| Skutečně odpracované hodiny ActualLaborHours | Celkový počet hodin vykázaných k pracovnímu příkazu. | ||
| Popis Tento atribut sčítá čas, který technici vykázali k pracovnímu příkazu. Slouží k měření produktivity, výpočtu nákladů na práci a porovnání skutečných hodin s odhadem. Proč je to důležité Je hlavním zdrojem dat pro dashboard produktivity práce techniků a KPI odchylky odpracovaných hodin. Kde data získat Tabulka Hexagon EAM R5BOOKEDHOURS, pole BOO_HOURS (součet za pracovní příkaz) Příklady 2.54.012.00.5 | |||
| Typ pracovního příkazu WorkOrderType | Zařazuje pracovní příkaz jako preventivní, opravný nebo havarijní. | ||
| Popis Tento atribut klasifikuje povahu údržby. Slouží k analýze poměru mezi plánovanou preventivní údržbou a reaktivními havarijními opravami. Jde o důležitý ukazatel stavu majetku a vyspělosti jeho správy. Proč je to důležité Podporuje dashboard analýzy podílu preventivní údržby a pomáhá hledat možnosti, jak omezit reaktivní zásahy. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_TYPE Příklady PPMCOREMGPRJ | |||
| Uživatel UpdatedBy | ID uživatele, který aktivitu provedl. | ||
| Popis Tento atribut zaznamenává přihlašovací ID osoby, která změnila stav nebo provedla aktualizaci. Slouží k analýze vytížení týmů, určení potřebného školení a auditu shody procesů. Proč je to důležité Umožňuje analyzovat chování uživatelů a využití zdrojů v průběhu údržby. Kde data získat Tabulka Hexagon EAM R5EVENTHISTORY, pole EVH_USER Příklady JSMITHADAVISSYSTEMMGR_USR | |||
| Zařízení AssetCode | Jedinečný identifikátor udržovaného zařízení nebo objektu. | ||
| Popis Tento atribut propojuje pracovní příkaz s konkrétním zařízením nebo místem. Umožňuje analyzovat četnost poruch jednotlivých zařízení a odhalit problémová zařízení nebo ta, která je třeba vyměnit. Proč je to důležité Je základem pro výpočet ukazatelů spolehlivosti zařízení a zjištění, na která zařízení se soustředí údržba. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_OBJECT Příklady PUMP-001HVAC-204FLEET-99CONVEYOR-A | |||
| Celkové skutečné náklady TotalActualCost | Celkové finanční náklady zaznamenané k pracovnímu příkazu. | ||
| Popis Tento atribut zachycuje součet nákladů na práci, materiál a služby. Je důležitý pro analýzu finančního vypořádání a posouzení nákladů na havarijní údržbu oproti preventivní údržbě. Proč je to důležité Podporuje dashboard finančního vypořádání a rychlosti uzavírání a rozhodování podle nákladů. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_ACTCOST (nebo podobný souhrnný sloupec) Příklady 150.002500.5075.25 | |||
| Datum požadavku na materiál MaterialRequisitionDate | Datum, kdy byly vyžádány náhradní díly. | ||
| Popis Tento atribut zaznamenává čas odeslání požadavku na materiál do skladu nebo nákupu. Doba od tohoto data do vydání materiálu ukazuje efektivitu dodavatelského řetězce. Proč je to důležité Je potřebný pro dashboard dodacích lhůt nákupu náhradních dílů. Kde data získat Tabulka Hexagon EAM R5REQUISITIONS nebo propojená tabulka transakcí Příklady 2023-10-012023-10-05 | |||
| Datum vytvoření DateCreated | Datum původního vytvoření pracovního příkazu. | ||
| Popis Tento atribut označuje začátek životního cyklu pracovního příkazu. Slouží jako výchozí bod pro výpočet průměrné doby plánování a stáří položek v nevyřízených požadavcích. Proč je to důležité Je potřebný pro dashboard rychlosti plánování údržby a KPI stáří nevyřízených požadavků. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_CREATED Příklady 2023-09-012023-09-15 | |||
| Eskalace na havarijní prioritu EmergencyEscalationFlag | Příznak, zda byla po vytvoření zvýšena priorita na havarijní. | ||
| Popis Tento logický atribut označuje pracovní příkazy, které byly původně zadány s nižší prioritou a později přeřazeny na havarijní. Častý výskyt může ukazovat na nedostatečné počáteční posouzení nebo účelové navyšování priority kvůli rychlejšímu vyřízení. Proč je to důležité Podporuje dashboard eskalací priorit a auditu zdrojů a KPI míry eskalací na havarijní prioritu. Kde data získat Odvozeno z auditního záznamu pole Priority Příklady truefalse | |||
| Kontrola kvality úspěšná QualityControlPassed | Příznak, zda byl zaznamenán krok kontroly kvality. | ||
| Popis Tento logický atribut ověřuje, zda byla konkrétní kontrolní činnost nebo položka kontrolního seznamu označena jako dokončená. Pomáhá zajistit shodu s bezpečnostními předpisy a interními standardy. Proč je to důležité Slouží k výpočtu KPI míry dodržení kontrol kvality a podporuje dashboard shody a úplnosti dokumentace. Kde data získat Odvozeno z tabulek kontrolních seznamů nebo historie aktivit Příklady truefalse | |||
| Kritičnost zařízení AssetCriticality | Hodnocení provozní důležitosti zařízení. | ||
| Popis Tento atribut udává, jak důležité je zařízení pro provoz organizace. Často se používá k ověření, zda se pracovní příkazy s vysokou prioritou skutečně týkají kritických zařízení, a k odhalení možného zneužívání procesu. Proč je to důležité Podporuje dashboard eskalací priorit a auditu zdrojů tím, že umožňuje porovnat prioritu s důležitostí zařízení. Kde data získat Tabulka Hexagon EAM R5OBJECTS, pole OBJ_CRITICALITY (vyžaduje spojení přes EVT_OBJECT) Příklady A - ZásadníB - KritickéC - VedlejšíD - Nízké | |||
| Opakovaná práce IsRework | Příznak, zda pracovní příkaz zahrnoval opakování technických úkonů. | ||
| Popis Tento vypočítaný atribut označuje případy, kdy se proces po kontrole kvality nebo dokončení vrátí do aktivního stavu. Pomáhá odhalit problémy s kvalitou a nedostatky ve školení. Proč je to důležité Slouží pro dashboard opakovaných technických prací a kontroly kvality a KPI míry opakovaných oprav. Kde data získat Vypočítáno podle opakování aktivit Příklady truefalse | |||
| Popis pracovního příkazu WorkOrderDescription | Stručný popis úkolu údržby. | ||
| Popis Tento atribut obsahuje předmět nebo stručný popis problému. Poskytuje analytikům kontext při zkoumání konkrétních problematických případů nebo hledání vzorců v nestrukturovaném textu. Proč je to důležité Poskytuje potřebný kontext pro ruční kontrolu procesních dat. Kde data získat Tabulka Hexagon EAM R5EVENTS, pole EVT_DESC Příklady Opravit netěsnící těsnění čerpadlaMěsíční kontrola HVACVyměnit pás dopravníku | |||
| Preventivní údržba IsPreventive | Příznak, zda jde o pracovní příkaz preventivní údržby. | ||
| Popis Tento logický atribut usnadňuje filtrování a kategorizaci pracovních příkazů. Zjednodušuje výpočet KPI podílu preventivní údržby, protože odděluje plánovanou práci od reaktivních oprav. Proč je to důležité Je základním kritériem členění pro dashboard analýzy podílu preventivní údržby. Kde data získat Odvozeno z WorkOrderType Příklady truefalse | |||
| Stav SLA SLAState | Udává, zda pracovní příkaz splnil dohodnutou úroveň služeb. | ||
| Popis Tento vypočítaný atribut porovnává skutečné datum dokončení s plánovaným datem dokončení. Pro přehledné vykazování výsledků dodavatelů a interních týmů označí případ jako „V rámci SLA“ nebo „Po termínu“. Proč je to důležité Je přímým zdrojem dat pro KPI míry plnění SLA. Kde data získat Výpočet: skutečné datum dokončení <= cílové datum Příklady V rámci SLAPo termínuOtevřený | |||
Aktivity údržby majetku
| Aktivita | Popis | ||
|---|---|---|---|
| Materiál vydán | Náhradní díly se fyzicky vydají ze skladu a zaúčtují k pracovnímu příkazu. Tím se zaznamená spotřeba materiálu. | ||
| Proč je to důležité Označuje konec doby potřebné k zajištění materiálu. Odhalí prodlevy, kdy práce začne, ale musí se přerušit kvůli chybějícím dílům. Kde data získat Tabulka Hexagon EAM r5translines. Typ transakce „I“ (Issue) propojený s pracovním příkazem. Zachycení Zaznamená se při provedení transakce INSERT v r5translines. Typ události explicit | |||
| Odpracované hodiny zaznamenány | Technik zapíše odpracované hodiny k pracovnímu příkazu. Tato činnost se může u jednoho případu opakovat. | ||
| Proč je to důležité Základ pro dashboardy odchylek v odpracovaných hodinách a produktivity techniků. Ukazuje skutečně vynaložené úsilí ve srovnání s plánem. Kde data získat Tabulka Hexagon EAM r5booklabor. Každý řádek představuje výkaz odpracovaného času pro pracovní příkaz. Zachycení Zaznamená se při provedení transakce INSERT v r5booklabor. Typ události explicit | |||
| Práce na pracovním příkazu zahájena | Technici zahájili fyzickou práci na zařízení. Obvykle se to zaznamená změnou stavu na In Progress nebo prvním časovým záznamem práce. | ||
| Proč je to důležité Označuje konec doby nevyřízení a začátek práce na zařízení. Je důležitý pro míru dodržování SLA. Kde data získat Hexagon EAM r5statuslog. Změna stavu na „In Progress“ (často kód stavu „I“ nebo „IP“). Zachycení Zaznamená se při provedení transakce v r5statuslog. Typ události explicit | |||
| Pracovní příkaz dokončen | Technická práce je hotová a technik označil úkol jako dokončený. Zařízení se vrací do provozu. | ||
| Proč je to důležité Důležitý milník pro měření celkové doby průběhu a střední doby opravy. Zastavuje měření prostojů. Kde data získat Hexagon EAM r5statuslog. Změna stavu na „C“ (Completed) nebo „F“ (Finished). Zachycení Zaznamená se při provedení transakce v r5statuslog. Typ události explicit | |||
| Pracovní příkaz schválen | Změna stavu potvrzuje, že pracovní příkaz prošel kontrolou plánování a odhadu. Práce může pokračovat. | ||
| Proč je to důležité Podporuje analýzu rychlosti plánování údržby tím, že označuje konec fáze plánování. Slouží také ke kontrole oddělení pravomocí. Kde data získat Tabulka Hexagon EAM r5statuslog. Hledejte změnu stavu na „A“ (Approved) nebo odpovídající stav v systému. Zachycení Zaznamená se při provedení transakce v r5statuslog. Typ události explicit | |||
| Pracovní příkaz uzavřen | Pracovní příkaz je finančně uzavřen a archivován. Nelze k němu již účtovat další náklady ani práci. | ||
| Proč je to důležité Konec procesu. Zásadní pro analýzu dokončeného finančního vypořádání a uzavření konečných nákladů. Kde data získat Hexagon EAM r5statuslog. Změna stavu na „C“ (Closed) nebo „L“ (Locked/Closed). Zachycení Zaznamená se při provedení transakce v r5statuslog. Typ události explicit | |||
| Pracovní příkaz vytvořen | V systému se založí záznam pracovního příkazu údržby. Tato událost zahajuje případ a zaznamenává počáteční časové razítko celého průběhu údržby. | ||
| Proč je to důležité Označuje začátek instance procesu a slouží jako základ pro měření celkové doby vyřízení. Je důležitý pro výpočet stáří nevyřízených příkazů. Kde data získat Tabulka Hexagon EAM r5events. Záznam vznikne při vložení nového řádku s evt_code. Zachycení Zaznamená se při provedení transakce INSERT v r5events. Typ události explicit | |||
| Kontrola kvality úspěšná | Vedoucí nebo inspektor zkontroluje dokončenou práci a schválí její kvalitu. Tím se oprava ověří před uzavřením. | ||
| Proč je to důležité Podporuje KPI míry shody při kontrole kvality. Návrat k předchozím krokům v této fázi ukazuje na nutnost technických oprav. Kde data získat Hexagon EAM r5statuslog (změna stavu na „Review“ nebo „QC“) nebo r5audittrail pro ověření konkrétního UDF. Zachycení Porovnejte pole stavu před změnou a po ní. Typ události inferred | |||
| Položka kontrolního seznamu ověřena | Konkrétní úkol nebo kontrolní krok v pracovním příkazu se označí jako dokončený. Zachycuje podrobný průběh práce. | ||
| Proč je to důležité Nezbytné pro shodu a úplnost dokumentace. Dokládá, že bezpečnostní kontroly byly zaznamenány v systému. Kde data získat Tabulka Hexagon EAM r5checklist nebo r5activities. Změna stavu konkrétní položky činnosti či úkolu. Zachycení Zaznamená se při provedení transakce UPDATE v r5checklist. Typ události explicit | |||
| Požadavek na materiál vytvořen | K pracovnímu příkazu se přiřadí požadavek na náhradní díly nebo materiál. Tím se zahájí dílčí proces zásobování. | ||
| Proč je to důležité Výchozí bod pro měření dodacích lhůt náhradních dílů. Vysoký počet požadavků může ukazovat na závislost na dostupnosti zásob. Kde data získat Tabulka Hexagon EAM r5requisitions. Propojení přes req_evt (kód pracovního příkazu). Zachycení Zaznamená se při provedení transakce INSERT v r5requisitions. Typ události explicit | |||
| Pracovní příkaz naplánován | Pracovnímu příkazu se přiřadí plánované datum zahájení nebo konkrétní zdroj. Příkaz se tak přesune z nevyřízených do aktivního plánu. | ||
| Proč je to důležité Důležité pro analýzu produktivity techniků a efektivity rozdělování zdrojů. Kde data získat Tabulka Hexagon EAM r5events (aktualizace evt_schedstart) nebo r5statuslog (změna stavu na „S“, Scheduled). Zachycení Porovnejte pole stavu před změnou a po ní nebo ověřte aktualizaci evt_schedstart. Typ události inferred | |||
| Pracovní příkaz potvrzen | Závěrečné administrativní schválení se obvykle vyžaduje kvůli shodě nebo platbě dodavateli. Potvrzuje správnost všech údajů. | ||
| Proč je to důležité Sledujte analýzu cyklu schválení pracovního příkazu. Prodlevy v této fázi zpomalují finanční vypořádání. Kde data získat Hexagon EAM r5statuslog (změna stavu na „Signed Off“) nebo záznam elektronického podpisu. Zachycení Porovnejte pole stavu před změnou a po ní. Typ události inferred | |||
| Priorita aktualizována | Po založení pracovního příkazu se změnila jeho úroveň priority. Zaznamená se čas změny a nová hodnota priority. | ||
| Proč je to důležité Nezbytné pro dashboard Priority Escalation and Resource Audit, který odhaluje neoprávněné zvyšování priority nebo rozšiřování rozsahu práce. Kde data získat Hexagon EAM r5audittrail (pokud je audit zapnutý) nebo odvození ze snímků. Často se získává z auditního záznamu pole evt_priority. Zachycení Zaznamená se při provedení transakce UPDATE v evt_priority. Typ události explicit | |||
Návody k extrakci dat
Kroky
- Přihlaste se do aplikace Hexagon EAM pomocí uživatelského účtu s oprávněním Advanced Reporting Authoring.
- Přejděte do modulu Reports, který obvykle najdete v nabídce Administration nebo Reports, a spusťte rozhraní Advanced Reporting. Často jde o Cognos nebo integrovaný nástroj pro tvorbu SQL reportů.
- Spusťte průvodce vytvořením nového reportu a jako typ zdroje dat vyberte „SQL“ nebo „Free-hand SQL“. Díky tomu budete moci přímo dotazovat databázi, místo abyste používali standardní model obchodních objektů.
- Zkopírujte SQL skript z níže uvedené části Query a vložte jej do okna definice datové sady.
- Nahraďte zástupné hodnoty, například [Your Organization Code] a rozsahy dat, konkrétními hodnotami pro vaše prostředí.
- Ověřte syntaxi dotazu v editoru a zkontrolujte, že databázová platforma (Oracle nebo SQL Server) přijímá příkazy UNION.
- Namapujte výsledné sloupce do rozvržení reportu. Zkontrolujte, že jsou dobře viditelné WorkOrderNumber, ActivityName a EventTimestamp.
- Nastavte export reportu do formátu CSV nebo Excel, aby se zachovala tabulková struktura bez sloučených buněk a formátovacích záhlaví.
- Spusťte report za zkušební období, například pro posledních 100 pracovních příkazů, a ověřte strukturu dat.
- Po ověření naplánujte pravidelné spouštění reportu nebo jej spusťte pro celé období extrakce.
- Stáhněte výstupní soubor a zkontrolujte formáty dat. Pokud možno, ověřte, že časová razítka obsahují sekundy, aby bylo možné události přesně seřadit.
- Importujte výsledný soubor CSV do ProcessMind. Sloupec SourceSystem namapujte jako atribut případu a ActivityName jako klasifikátor aktivity.
Konfigurace
- Rozsah dat: Kvůli výkonu dotazu doporučujeme filtrovat podle EVT_DATE (datum vytvoření) a použít průběžné období 6 až 12 měsíců.
- Filtr organizace: Hexagon EAM často používá více organizací. Do dotazu přidejte filtr pro konkrétní kód organizace, abyste do dat nezahrnuli záznamy z jiných organizačních jednotek.
- Syntaxe databáze: Níže uvedený dotaz používá, kde je to možné, standardní syntaxi SQL ANSI. Hexagon EAM však obvykle běží na Oracle nebo SQL Serveru. Možná bude nutné upravit datumové funkce, například SYSDATE nebo GETDATE.
- Nastavení stavů: Mapování kódů stavů, například „A“, „C“ nebo „R“, na názvy aktivit, například „Work Order Approved“, musí odpovídat nastavení stavů ve vašem systému.
- Oprávnění: Uživatelský účet, pod kterým se report spouští, musí mít přístup pro čtení k tabulkám R5EVENTS, R5EVENTSTATUS, R5BOOKEDHOURS, R5TRANSACTIONS a R5AUDITVALUES.
Ukázkový dotaz 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' Kroky
- Zjistěte, jak se připojit k databázi: Zajistěte si přihlašovací údaje s oprávněním ke čtení, obvykle servisní účet, pro databázi Oracle nebo SQL Server, která tvoří backend Hexagon EAM.
- Najděte hlavní tabulky: Ověřte přístup k tabulkám R5EVENTS (hlavičky pracovních příkazů), R5STATUS (historie stavů), R5BOOKEDHOURS (práce), R5TRANSACTIONS (materiál) a R5AUDITVALUES (protokol auditu).
- Namapujte kódy stavů: Hexagon EAM používá konfigurovatelné kódy stavů, například A, C, O a R. V konfiguraci systému (obrazovka: Administration -> Codes) zjistěte, jak vaše jedno- nebo dvouznakové kódy odpovídají aktivitám Schváleno, Naplánováno, Zahájeno, Dokončeno, Kontrola kvality úspěšná, Podepsáno a Uzavřeno.
- Nakonfigurujte dotaz: Otevřete níže uvedený SQL skript. Nahraďte zástupné kódy stavů, například „APPR“, „SCHD“ a „COMP“, skutečnými kódy používanými ve vašem systému.
- Nastavte časové období: Upravte klauzule WHERE tak, aby filtrovaly podle EVT_DATE nebo TRN_DATE a vybraly požadované období, obvykle posledních 12 měsíců. Tím zajistíte dostatečný výkon dotazu.
- Spusťte extrakci: Spusťte dotaz ve svém SQL klientovi, například SQL Developeru, SSMS nebo Toad.
- Ověřte auditní data: Pokud aktivita „Priorita změněna“ nevrátí žádné řádky, zkontrolujte, zda je v nastavení systému EAM zapnutá funkce auditu pro tabulku R5EVENTS.
- Ověřte data kontrolního seznamu: Ujistěte se, že vaše verze používá tabulku R5CHECKLISTVALUES. Starší verze mohou pro dokončení úkolů používat tabulku R5ACTIVITIES.
- Exportujte data: Uložte výsledek jako soubor CSV nebo Parquet. Sloupec Timestamp nastavte do formátu ISO 8601 (YYYY-MM-DD HH:MM:SS), aby při načítání nedocházelo k chybám.
- Naimportujte data do ProcessMind: Nahrajte soubor do rozhraní ProcessMind a namapujte WorkOrderNumber na ID případu, ActivityName na aktivitu a EventTimestamp na časové razítko.
Konfigurace
- Filtr časového období: Dotaz nyní vybírá všechna data. Důrazně doporučujeme přidat filtr, například WHERE EVT_DATE >= SYSDATE - 365 (Oracle) nebo GetDate() - 365 (SQL Server), do základního CTE nebo každého bloku SELECT.
- Mapování kódů stavů: Řetězcové hodnoty v SQL, například „APPR“, „COMP“ nebo „QC“, musíte nahradit skutečnými kódy definovanými v sadě R5STATUS.
- Nastavení auditu: Extrakce aktivity „Priority Updated“ závisí na tabulce R5AUDITVALUES. Pokud je audit sloupce EVT_PRIORITY vypnutý, tato aktivita nebude ve výsledku.
- Organizace/tenant: Pokud vaše instance EAM obsahuje více organizací, přidejte filtr pro EVT_ORG nebo EVT_MRC (oddělení), aby se data z různých částí systému nesmíchala.
- Jazyk: Dotaz předpokládá standardní anglické názvy sloupců. Pokud databáze používá lokalizované názvy, odpovídajícím způsobem je upravte.
Ukázkový dotaz 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 Kroky
- Ověřte, že je Hexagon EAM Databridge Outbound nainstalovaný, licencovaný a autorizovaný pro data pracovních příkazů údržby potřebná k této extrakci. Zkontrolujte nastavení odchozích transakcí, cílové umístění, možnosti plánování a přístup ke zdrojovým tabulkám nebo pohledům. Použijte [Configure based on your system] pro příslušnou cestu v nabídce správy, protože názvy nabídek a identifikátory transakcí se liší podle verze EAM.
- Zjistěte, které tabulky nebo pohledy Hexagon EAM jsou autoritativním zdrojem pro hlavičky pracovních příkazů, historii jejich stavů, historii priorit, požadavky na materiál, výdej materiálu, pracovní transakce, výsledky kontrolních seznamů nebo inspekcí, plánovací přiřazení, schválení kvality, záznamy o schválení a uzavření. Každý zástupný text [Your ... table name] v dotazu nahraďte odpovídajícím objektem ve svém prostředí. Nepředpokládejte, že aktuální hlavička pracovního příkazu obsahuje historii změn.
- Nastavte Databridge Outbound tak, aby při potvrzení relevantní změny pracovního příkazu publikoval transakci ve formátu XML nebo CSV. Zahrňte číslo pracovního příkazu, typ události, časové razítko události, zdrojového uživatele, prioritu, typ pracovního příkazu, oddělení, cílové datum dokončení, majetek, skutečný počet odpracovaných hodin a časové razítko obnovení nebo extrakce. Pokud se struktura zdrojových transakcí liší pro stavy, práci, materiál, kontrolní seznamy, plánování, kvalitu, schválení nebo uzavření, nastavte samostatná odchozí mapování.
- Nastavte odchozí datovou část tak, aby každá obchodní událost byla samostatným záznamem. Neposílejte pouze aktuální stav pracovního příkazu. U opakovaných záznamů práce, výdejů materiálu, položek kontrolního seznamu, změn priority a dalších opakovaných událostí vytvořte jeden záznam pro každou událost. Typ události Databridge namapujte na jednu ze 13 požadovaných hodnot ActivityName.
- Ukládejte výstup XML nebo CSV z Databridge do řízeného pracovního umístění a poté jej načtěte do databázových objektů, na které odkazuje dotaz, nebo nahraďte zdrojové objekty dotazu pracovními tabulkami. Zachovejte původní identifikátor události, číslo pracovního příkazu, časové razítko události, zdrojového uživatele a LastDataUpdate. Pokud Databridge odesílá XML, před mapováním aktivit převeďte opakující se uzly událostí na řádky. U CSV ověřte oddělovače, uvozování, kódování a formáty časových razítek.
- Nahraďte v dotazu zástupné hodnoty pro objekty připojení, parametry data a filtry společnosti. Dotaz používá normalizovaný zdroj událostí pro každou aktivitu a výsledky spojuje pomocí UNION ALL. Ověřte, že zdrojové sloupce v jednotlivých blocích mají kompatibilní datové typy. Pokud zdroj neposkytuje doporučený atribut, vraťte pro něj NULL, místo abyste hodnotu vymýšleli.
- Spusťte dotaz nejprve za období přibližně tří až šesti měsíců. Ověřte, že výsledek obsahuje požadované sloupce WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem a LastDataUpdate a také doporučené atributy, pokud jsou dostupné. Výstup seřaďte podle WorkOrderNumber, EventTimestamp a ActivityName. Duplicitní řádky ponechte, pokud odpovídají různým zdrojovým událostem.
- Porovnejte počet extrahovaných řádků s počtem doručení Databridge a zdrojových transakcí a zkontrolujte vzorek pracovních příkazů v Hexagon EAM. Prověřte chybějící historii stavů, duplicitní doručení, neplatná časová razítka a události mimo vybrané období. Stabilní pravidlo pro odstranění duplicit použijte pouze tehdy, pokud byla stejná zdrojová událost doručena vícekrát.
- Exportujte konečný výsledek jako CSV v kódování UTF-8 nebo v jiném formátu záznamu událostí podporovaném ProcessMind. Každou událost uložte na samostatný řádek, používejte jednotný formát časových razítek a správně ošetřete časová pásma. Namapujte WorkOrderNumber jako identifikátor případu, ActivityName jako aktivitu a EventTimestamp jako časové razítko události. Nahrajte soubor do ProcessMind a ověřte, že model událostí obsahuje všech 13 názvů aktivit.
Konfigurace
- Nastavte Hexagon EAM Databridge Outbound pro doručování událostí ve formátu XML nebo CSV. Konkrétní názvy transakcí, obrazovek správy a cest v nabídkách závisí na nainstalované verzi Hexagon EAM. Nepředpokládejte proto cestu platnou pro konkrétní verzi, použijte [Configure based on your system].
- Nastavte WorkOrderNumber jako identifikátor případu v ProcessMind, ActivityName jako pole aktivity a EventTimestamp jako časové razítko události. Do SourceSystem uveďte Hexagon EAM a v LastDataUpdate zaznamenejte čas extrakce nebo obnovení dat.
- Nastavte odchozí mapování pro všech 13 aktivit: 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 a Work Order Closed.
- Zachovejte historii událostí. Samotné aktuální pole stavu nestačí k rekonstrukci všech změn stavu a priority, záznamů práce, výdejů materiálu, ověření kontrolních seznamů, schválení ani potvrzení.
- Pro první extrakci použijte období tří až šesti měsíců. Při přírůstkovém načítání použijte časovou značku doručení Databridge nebo LastDataUpdate a přidejte krátké překrývající se období pro zachycení opožděně doručených transakcí.
- Filtry společnosti, lokality, organizace, typu pracovního příkazu, oddělení a stavu použijte pouze tehdy, když je analýza vyžaduje. Pro omezení specifická pro organizaci použijte [Your company filter] nebo [Configure based on your system].
- Pokud analýza pokrývá celý životní cyklus, zahrňte i uzavřené pracovní příkazy. Filtr pouze na otevřené příkazy vynechá dokončení, kontrolu kvality, schválení a uzavření.
- Výslovně nastavte práci s časovými pásmy. Před nahráním do ProcessMind převeďte všechna zdrojová časová razítka do jednoho dohodnutého časového pásma. Pokud je to možné, zachovejte také původní časové pásmo nebo posun.
- U rozsáhlých dat filtrujte už při načítání ze zdroje, omezte období extrakce, indexujte nebo rozdělte data podle časového razítka události a čísla pracovního příkazu a před transformací ukládejte soubory Databridge do pracovního úložiště. Vyhněte se opakovanému zpracování celého historického XML.
- Mezi nezbytné předpoklady patří dostupnost Databridge Outbound, oprávnění ke čtení příslušných dat EAM, přístup k cílovému umístění odchozích dat nebo pracovní databázi a přístup k údajům o pracovních příkazech, stavech, materiálu, práci, kontrolních seznamech, plánování, schvalování, kvalitě a uzavření.
- Pokud požadovaná obchodní událost není dostupná jako nativní transakce Databridge, nastavte zdrojový pohled nebo transformaci v pracovním úložišti tak, aby vytvořily samostatný řádek události. ProcessMind chybějící aktivity neodvozuje z jiných řádků.
Ukázkový dotaz 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; Chcete začít?
Převeďte data o údržbě na praktické poznatky podle této šablony. Náš tým vám během přípravy dat pomůže s technickými dotazy.
Omezte prodlevy v údržbě majetku a zlepšete výsledky
Zkraťte dobu průchodu procesem o 30 procent a odhalte skrytá úzká místa.
Platební kartu nepotřebujete. Nastavení zabere jen několik minut.