Varlık bakımı veri şablonunuz
Varlık bakımı veri şablonunuz
- Bakım kayıtları için gerekli veri alanları
- Standart süreç kilometre taşları ve iş emri aşamaları
- Hexagon EAM için teknik veri çıkarma mantığı
Varlık bakımı öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Aktivite ActivityName | Gerçekleşen belirli görev veya durum değişikliği olayı. | ||
| Açıklama Bu öznitelik, 'İş emri oluşturuldu' veya 'Malzeme teslim edildi' gibi süreçte gerçekleştirilen adımı belirtir. İş emrine kaydedilen durum değişikliklerinin geçmişinden veya belirli işlem olaylarından elde edilir. Neden önemli? Event Log sırasını tanımlar; süreç akışının yeniden oluşturulmasını ve darboğaz analizini sağlar. Nereden alınır? Hexagon EAM R5EVENTHISTORY tablosu, EVH_STATUS alanı (açıklamalarla eşleştirilmiş) veya denetim günlükleri Örnekler İş emri oluşturulduİş emri planlandıİş emri tamamlandıMalzeme teslim edildi | |||
| Bakım iş emri WorkOrderNumber | Bakım iş emrinin benzersiz tanımlayıcısı. | ||
| Açıklama Bu öznitelik, bakım vakasının benzersiz birincil anahtarını belirtir. İş emrini ilk talepten planlama ve uygulama aşamalarına, mali kapanışa kadar izler. Etkinlik günlüklerini, iş gücü saatlerini ve malzeme tüketimini bir araya getirmek için merkezi vaka kimliği olarak kullanılır. Neden önemli? Bakım sürecinin belirli bir örneğini tanımlar ve çevrim sürelerinin ve süreç varyantlarının uçtan uca izlenmesini sağlar. Nereden alınır? Hexagon EAM R5EVENTS tablosu, EVT_CODE alanı Örnekler WO-100234WO-100235WO-100236104592 | |||
| Kaynak sistem SourceSystem | Verinin geldiği sistemin adı. | ||
| Açıklama Bu öznitelik, verinin kayıt sistemini belirtir. Bu bağlamda, verileri eski sistemlerden veya harici yüklenici sistemlerinden ayırmak için belirli EAM sisteminin adı sabit değer olarak kullanılır. Neden önemli? Özellikle birden fazla bakım örneğine ait veriler birleştirilirken veri kökeninin açıkça izlenmesini sağlar. Nereden alınır? Sabit değer Örnekler Hexagon EAMInfor EAMDatastream 7i | |||
| Son veri güncellemesi LastDataUpdate | Kaydın en son çıkarıldığı veya yenilendiği zaman damgası. | ||
| Açıklama Bu öznitelik, verinin kaynak sistemden en son ne zaman alındığını izler. Analistlerin verinin güncelliğini anlamasına ve raporlama hattındaki olası gecikmeleri belirlemesine yardımcı olur. Neden önemli? Analizin güncel verilere dayandığına güven sağlar ve veri eşitleme sorunlarının giderilmesine yardımcı olur. Nereden alınır? Veri çıkarma sırasındaki sistem saati Örnekler 2023-10-25T12:00:00Z2023-10-26T00:00:00Z | |||
| Zaman damgası EventTimestamp | Etkinliğin gerçekleştiği tarih ve saat. | ||
| Açıklama Bu öznitelik, bir olayın veya durum değişikliğinin sisteme kaydedildiği tam zamanı gösterir. Etkinlikler arasındaki süreyi ve iş emrinin toplam çevrim süresini hesaplamayı sağlar. Neden önemli? Doğru zaman damgaları, teslim sürelerini incelemek, gecikmeleri belirlemek ve hizmet düzeyi anlaşmalarına uyumu hesaplamak için gereklidir. Nereden alınır? Hexagon EAM R5EVENTHISTORY tablosu, EVH_DATE alanı Örnekler 2023-10-12T08:30:00Z2023-10-12T14:15:00Z2023-10-13T09:00:00Z | |||
| Departman MaintenanceDepartment | İşi gerçekleştirmekten sorumlu departman veya iş merkezi. | ||
| Açıklama Bu öznitelik, iş emrine atanan ekibi veya bakım atölyesini belirtir. Örneğin Elektrik, Mekanik veya Tesisler. Farklı teknik ekiplerin performansını karşılaştırmaya yardımcı olur. Neden önemli? Teknisyen İş Gücü Verimliliği Dashboardunu destekler ve farklı uzmanlık alanlarında kaynakların etkili biçimde dağıtılmasına yardımcı olur. Nereden alınır? Hexagon EAM tablosu R5EVENTS, alan EVT_MRC Örnekler Elektrik AtölyesiMekanik BakımTesislerFilo Hizmetleri | |||
| Gerçekleşen İş Gücü Saati ActualLaborHours | İş emrine kaydedilen toplam saat. | ||
| Açıklama Bu öznitelik, teknisyenlerin iş emrine kaydettiği süreleri toplar. Verimliliği ölçmek, iş gücü maliyetlerini hesaplamak ve gerçekleşen süreyi tahmini saatlerle karşılaştırmak için kullanılır. Neden önemli? Teknisyen İş Gücü Verimliliği Dashboardu ve İş Gücü Saati Farkı KPI’ı için temel veri kaynağıdır. Nereden alınır? Hexagon EAM tablosu R5BOOKEDHOURS, alan BOO_HOURS (iş emri bazında toplanır) Örnekler 2.54.012.00.5 | |||
| Hedef Tamamlanma Tarihi TargetCompletionDate | İş emri için planlanan son tarih. | ||
| Açıklama Bu öznitelik, bakım işinin tamamlanmasının beklendiği tarihi belirtir. SLA uyumluluğunu ve zamanında tamamlanma performansını hesaplamak için bu tarih gerçek tamamlanma tarihiyle karşılaştırılır. Neden önemli? Yüklenici SLA Uyumluluğu İzleyicisi için ve planlama doğruluğunu değerlendirmek açısından önemlidir. Nereden alınır? Hexagon EAM tablosu R5EVENTS, alan EVT_TARGET Örnekler 2023-11-012023-11-152023-12-01 | |||
| İş emri türü WorkOrderType | İş emrini önleyici, düzeltici veya acil olarak sınıflandırır. | ||
| Açıklama Bu öznitelik, bakım işinin niteliğini sınıflandırır. Planlı önleyici bakım ile tepkisel acil onarımların oranını incelemek için kullanılır. Bu oran, varlıkların durumu ve yönetim olgunluğu hakkında önemli bir göstergedir. Neden önemli? Önleyici bakım oranı analizini destekler ve tepkisel işleri azaltma fırsatlarını belirlemeye yardımcı olur. Nereden alınır? Hexagon EAM R5EVENTS tablosu, EVT_TYPE alanı Örnekler PPMCOREMGPRJ | |||
| Kullanıcı UpdatedBy | Etkinliği gerçekleştiren kişinin kullanıcı kimliği. | ||
| Açıklama Bu öznitelik, durum değişikliğini veya güncellemeyi başlatan kişinin oturum açma kimliğini kaydeder. Ekip iş yükünü analiz etmek, eğitim ihtiyaçlarını belirlemek ve süreç uyumluluğunu denetlemek için kullanılır. Neden önemli? Bakım yaşam döngüsü boyunca kullanıcı davranışlarının ve kaynak kullanımının analiz edilmesini sağlar. Nereden alınır? Hexagon EAM tablosu R5EVENTHISTORY, alan EVH_USER Örnekler JSMITHADAVISSYSTEMMGR_USR | |||
| Öncelik PriorityCode | İş emrine atanan aciliyet düzeyi. | ||
| Açıklama Bu öznitelik, iş emrinin rutin işlerden acil durumlara kadar uzanan önem düzeyini belirtir. Kaynakların planlanmasını yönlendirir; hizmet düzeyi anlaşmalarına uyumu izlemek ve önceliklerin kötüye kullanılmasını belirlemek için önemlidir. Neden önemli? Öncelik Yükseltme ve Kaynak Denetimi Dashboardunun, kritik görevlerin doğru şekilde önceliklendirilmesini sağlaması gerekir. Nereden alınır? Hexagon EAM tablosu R5EVENTS, alan EVT_PRIORITY Örnekler KritikYüksekOrtaDüşük | |||
| Varlık AssetCode | Bakımı yapılan ekipman veya tesisin benzersiz tanımlayıcısı. | ||
| Açıklama Bu öznitelik, iş emrini belirli bir ekipmana veya konuma bağlar. Varlık bazında arıza sıklığını analiz etmeyi ve sık arızalanan ya da değiştirilmesi gereken ekipmanları belirlemeyi sağlar. Neden önemli? Varlık güvenilirliği metriklerini hesaplamak ve bakım çalışmalarının nerede yoğunlaştığını anlamak için temel oluşturur. Nereden alınır? Hexagon EAM tablosu R5EVENTS, alan EVT_OBJECT Örnekler PUMP-001HVAC-204FLEET-99CONVEYOR-A | |||
| Acil Durum İçin Öncelik Yükseltme EmergencyEscalationFlag | Oluşturulduktan sonra önceliğin Acil düzeyine yükseltildiğini belirten işaret. | ||
| Açıklama Bu mantıksal öznitelik, başlangıçta daha düşük öncelikle açılan ancak daha sonra Acil düzeyine yükseltilen iş emirlerini belirler. Bu durumun sık yaşanması, ilk değerlendirmenin yetersiz yapıldığını veya daha hızlı hizmet almak için sistemin kötüye kullanıldığını gösterebilir. Neden önemli? Öncelik Yükseltme ve Kaynak Denetimi Dashboardunu ve Acil Durum İçin Öncelik Yükseltme Oranı KPI’ını destekler. Nereden alınır? Öncelik alanının denetim izinden türetilir Örnekler truefalse | |||
| İş Emri Açıklaması WorkOrderDescription | Bakım görevini özetleyen kısa metin. | ||
| Açıklama Bu öznitelik, sorunun konu satırını veya kısa açıklamasını içerir. Belirli sorunlu vakaları incelerken ya da yapılandırılmamış metindeki örüntüleri belirlerken analistlere bağlam sağlar. Neden önemli? Süreç verilerinin insanlar tarafından incelenmesi için gerekli bağlamı sağlar. Nereden alınır? Hexagon EAM tablosu R5EVENTS, alan EVT_DESC Örnekler Sızdıran pompa contasını onarınAylık HVAC denetimiKonveyör bandını değiştirin | |||
| Kalite kontrolünden geçti QualityControlPassed | Kalite kontrol adımının belgelendiğini belirten işaret. | ||
| Açıklama Bu mantıksal öznitelik, belirli bir kalite kontrol etkinliğinin veya kontrol listesi maddesinin tamamlandı olarak işaretlenip işaretlenmediğini denetler. Güvenlik düzenlemelerine ve kurum içi standartlara uyumluluğu sağlar. Neden önemli? Kalite Kontrol Uyumluluk Oranı KPI’ını destekler ve Uyumluluk ve Dokümantasyon Bütünlüğü Dashboarduna katkı sağlar. Nereden alınır? Kontrol listesi tablolarından veya etkinlik geçmişinden türetilir Örnekler truefalse | |||
| Malzeme Talep Tarihi MaterialRequisitionDate | Yedek parçaların talep edildiği tarih. | ||
| Açıklama Bu öznitelik, malzeme talebinin depoya veya satın alma birimine iletildiği zaman damgasını kaydeder. Bu tarihle Malzeme Teslim Edildi tarihi arasındaki süre, tedarik zincirinin verimliliğini gösterir. Neden önemli? Yedek Parça Tedarik Süreleri Dashboardu için gereklidir. Nereden alınır? Hexagon EAM tablosu R5REQUISITIONS veya bağlantılı işlem tablosu Örnekler 2023-10-012023-10-05 | |||
| Oluşturulma Tarihi DateCreated | İş emrinin ilk oluşturulduğu tarih. | ||
| Açıklama Bu öznitelik, iş emrinin yaşam döngüsünün başlangıcını gösterir. Planlamaya Kadar Geçen Ortalama Süreyi hesaplamak ve birikmiş işlerin ne kadar süredir beklediğini belirlemek için başlangıç noktasıdır. Neden önemli? Bakım Planlama Hızı Dashboardu ve Birikmiş İşlerin Yaşı KPI’ı için gereklidir. Nereden alınır? Hexagon EAM tablosu R5EVENTS, alan EVT_CREATED Örnekler 2023-09-012023-09-15 | |||
| Önleyici Bakım mı IsPreventive | İş emrinin önleyici bakım olup olmadığını belirten işaret. | ||
| Açıklama Bu mantıksal öznitelik, iş emirlerini kolayca filtreleyip kategorilere ayırmayı sağlar. Önleyici Bakım Oranı KPI’ını hesaplarken proaktif işleri arıza sonrası onarımlardan ayırır. Neden önemli? Önleyici Bakım Oranı Analizi Dashboardu için temel bir segmentasyon ölçütüdür. Nereden alınır? WorkOrderType alanından türetilir Örnekler truefalse | |||
| SLA Durumu SLAState | İş emrinin hizmet seviyesi anlaşmasını karşılayıp karşılamadığını gösterir. | ||
| Açıklama Bu hesaplanan öznitelik, Gerçek Tamamlanma Tarihini Hedef Tamamlanma Tarihiyle karşılaştırır. Yüklenici ve kurum içi performans raporlamasını kolaylaştırmak için vakayı SLA süresi içinde veya SLA ihlali olarak sınıflandırır. Neden önemli? SLA Uyumluluk Oranı KPI’ının doğrudan veri kaynağıdır. Nereden alınır? Hesaplama: Gerçek Bitiş Tarihi <= Hedef Tarih Örnekler SLA süresi içindeSLA ihlaliAçık | |||
| Toplam Gerçekleşen Maliyet TotalActualCost | İş emri için kaydedilen toplam maliyet. | ||
| Açıklama Bu öznitelik, iş gücü, malzeme ve hizmet maliyetlerinin toplamını içerir. Finansal kapanış analizleri ve acil bakımın önleyici bakıma kıyasla maliyet etkisini anlamak için önemlidir. Neden önemli? Finansal Kapanış ve Tamamlama Hızı Dashboardunu ve maliyet temelli karar almayı destekler. Nereden alınır? Hexagon EAM tablosu R5EVENTS, alan EVT_ACTCOST (veya benzer bir özet sütunu) Örnekler 150.002500.5075.25 | |||
| Varlık Kritiklik Düzeyi AssetCriticality | Varlığın operasyonlar açısından önemini gösteren skor. | ||
| Açıklama Bu öznitelik, varlığın iş operasyonları açısından ne kadar kritik olduğunu gösterir. Yüksek öncelikli iş emirlerinin gerçekten kritik ekipmanlarla ilgili olup olmadığını doğrulamak ve olası süreç suistimallerini belirlemek için kullanılır. Neden önemli? Öncelik Yükseltme ve Kaynak Denetimi Dashboardunu, önceliği varlığın değeriyle ilişkilendirerek destekler. Nereden alınır? Hexagon EAM tablosu R5OBJECTS, alan OBJ_CRITICALITY (EVT_OBJECT alanına göre birleştirme gerekir) Örnekler A - HayatiB - KritikC - İkincilD - Düşük | |||
| Yeniden Çalışma mı IsRework | İş emrinde teknik görevlerin tekrarlandığını belirten işaret. | ||
| Açıklama Bu hesaplanan öznitelik, sürecin kalite kontrolünden veya tamamlanma durumundan yeniden etkin çalışma durumuna döndüğü vakaları belirler. Kalite sorunlarını ve eğitim eksiklerini ortaya çıkarmaya yardımcı olur. Neden önemli? Teknik Yeniden Çalışma ve Kalite Kontrol Dashboardunu ve Bakımda Yeniden Çalışma Oranı KPI’ını destekler. Nereden alınır? Etkinlik tekrarlarına göre hesaplanır Örnekler truefalse | |||
Varlık bakımı etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| İş emri başladı | Teknisyenler varlık üzerinde fiilen çalışmaya başlamıştır. Bu genellikle durumun Devam ediyor olarak değişmesiyle veya ilk iş gücü kaydının zaman damgasıyla belirtilir. | ||
| Neden önemli? Bekleyen işlerin hesaplanması için bitiş, fiilî çalışma süresinin hesaplanması için başlangıç noktasıdır. Hizmet düzeyi anlaşmalarına uyum oranını hesaplamak için gereklidir. Nereden alınır? Hexagon EAM r5statuslog tablosunda 'Devam ediyor' durumuna geçiş (genellikle 'I' veya 'IP' durum kodu). Kaydedin r5statuslog üzerinde işlem yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| İş emri kapatıldı | İş emri mali açıdan kilitlenir ve arşivlenir. Artık ek maliyet veya iş gücü kaydı girilemez. | ||
| Neden önemli? Süreç sona erer. Mali kapanış analizinin tamamlanması ve nihai maliyetlerin sabitlenmesi için önemlidir. Nereden alınır? Hexagon EAM r5statuslog tablosunda 'C' (Kapatıldı) veya 'L' (Kilitlendi/Kapatıldı) durumuna geçiş. Kaydedin r5statuslog üzerinde işlem yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| İş emri oluşturuldu | Bakım iş emri kaydının sistemde ilk kez oluşturulmasıdır. Bu olay, vakayı başlatır ve bakım sürecinin tamamı için ilk zaman damgasını kaydeder. | ||
| Neden önemli? Süreç örneğinin başlangıcını işaretler ve toplam çözüm süresini ölçmek için başlangıç noktası oluşturur. Bekleyen işlerin ne kadar süredir biriktiğini hesaplamak için gereklidir. Nereden alınır? Hexagon EAM r5events tablosu. evt_code ile yeni bir kayıt eklendiğinde günlüğe kaydedilir. Kaydedin r5events üzerinde INSERT işlemi yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| İş emri onaylandı | İş emrinin planlama ve tahmin incelemesini geçtiğini gösteren durum değişikliğidir. İşin yapılmasına izin verildiğini belirtir. | ||
| Neden önemli? Planlama aşamasının sonunu işaretleyerek bakım planlama hızı analizini destekler. Görevlerin ayrılığına uyumluluk kontrolü sağlar. Nereden alınır? Hexagon EAM r5statuslog tablosunda 'A' (Onaylandı) durumuna geçişi veya sistemdeki eşdeğer durumu arayın. Kaydedin r5statuslog üzerinde işlem yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| İş emri tamamlandı | Teknik çalışma bitmiş ve teknisyen işi tamamlandı olarak işaretlemiştir. Varlık yeniden hizmete alınır. | ||
| Neden önemli? Uçtan uca yaşam döngüsü süresi ve ortalama onarım süresi için önemli bir kilometre taşıdır. Duruş süresi sayacını durdurur. Nereden alınır? Hexagon EAM r5statuslog tablosunda 'C' (Tamamlandı) veya 'F' (Bitirildi) durumuna geçiş. Kaydedin r5statuslog üzerinde işlem yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| İş gücü saatleri kaydedildi | Teknisyen, iş emrinde çalıştığı saatleri kaydeder. Bu etkinlik aynı vaka için birden fazla kez gerçekleşebilir. | ||
| Neden önemli? İş gücü saati sapması ve teknisyen iş gücü verimliliği Dashboardlarının temelini oluşturur. Gerçekleşen çalışmayı planla karşılaştırır. Nereden alınır? Hexagon EAM r5booklabor tablosu. Her satır, iş emrine ait bir puantaj kaydını gösterir. Kaydedin r5booklabor üzerinde INSERT işlemi yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| Malzeme teslim edildi | Yedek parçalar depodan fiziksel olarak çıkarılır ve iş emrine yansıtılır. Bu, malzeme tüketimini gösterir. | ||
| Neden önemli? Malzeme bulunabilirliği süresinin bitiş noktasıdır. İşin başlayıp parça eksikliği nedeniyle durduğu gecikmeleri belirleyin. Nereden alınır? Hexagon EAM r5translines tablosunda iş emrine bağlı 'I' (Teslim) işlem türü. Kaydedin r5translines üzerinde INSERT işlemi yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| İş emri imzayla onaylandı | Uyumluluk veya yüklenici ödemesi için genellikle son bir idari onay gerekir. Tüm verilerin doğru olduğunu teyit eder. | ||
| Neden önemli? İş emri onay döngüsü analizini izleyin. Buradaki gecikmeler mali kapanış hızını etkiler. Nereden alınır? Hexagon EAM r5statuslog tablosunda 'İmzayla onaylandı' durumuna geçiş veya elektronik imza kayıt günlüğü. Kaydedin Önceki ve sonraki durum alanlarını karşılaştırın Olay türü inferred | |||
| İş emri planlandı | İş emrine planlanan bir başlangıç tarihi veya belirli bir kaynak atanır. Böylece iş emri bekleyen işler listesinden etkin programa geçer. | ||
| Neden önemli? Teknisyen iş gücü verimliliğini analiz etmek ve kaynak tahsisinin etkinliğini anlamak için gereklidir. Nereden alınır? Hexagon EAM r5events tablosunda evt_schedstart güncellemesi veya r5statuslog tablosunda 'S' (Planlandı) durumuna geçiş. Kaydedin Önceki ve sonraki durum alanlarını karşılaştırın veya evt_schedstart güncellemesini kontrol edin Olay türü inferred | |||
| Kalite kontrolünden geçti | Bir yönetici veya denetçi tamamlanan işi inceler ve kaliteyi onaylar. Bu adım, iş emri kapatılmadan önce onarımın doğrulanmasını sağlar. | ||
| Neden önemli? Kalite kontrolü uyumluluk oranı KPI’ını destekler. Bu noktadan geriye dönen akışlar, teknik yeniden çalışmaya işaret eder. Nereden alınır? Hexagon EAM r5statuslog tablosunda 'İnceleme' veya 'QC' durumuna geçiş ya da belirli bir UDF doğrulaması için r5audittrail. Kaydedin Önceki ve sonraki durum alanlarını karşılaştırın Olay türü inferred | |||
| Kontrol listesi öğesi doğrulandı | İş emrindeki belirli bir görev veya inceleme adımı tamamlandı olarak işaretlenir. Bu kayıt, işin ayrıntılı ilerlemesini gösterir. | ||
| Neden önemli? Uyumluluk ve dokümantasyon bütünlüğü için gereklidir. Güvenlik kontrollerinin sisteme kaydedildiğini kanıtlar. Nereden alınır? Hexagon EAM r5checklist veya r5activities tablosunda belirli bir etkinlik ya da görev satırının durum değişikliği. Kaydedin r5checklist üzerinde UPDATE işlemi yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| Malzeme talebi oluşturuldu | Yedek parça veya malzeme talebi iş emrine bağlanır. Böylece tedarik zinciri alt süreci başlar. | ||
| Neden önemli? Yedek parça tedarik sürelerinin başlangıç noktasıdır. Buradaki yüksek hacim, envanterdeki parça bulunabilirliğine bağımlılığı gösterir. Nereden alınır? Hexagon EAM r5requisitions tablosu. req_evt (İş emri kodu) üzerinden bağlanır. Kaydedin r5requisitions üzerinde INSERT işlemi yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
| Öncelik güncellendi | İş emri oluşturulduktan sonra öncelik düzeyi değişmiştir. Bu kayıt, değişikliğin zaman damgasını ve yeni öncelik değerini içerir. | ||
| Neden önemli? Öncelik yükseltme veya kapsam genişlemesi gibi durumları belirlemek için Öncelik yükseltme ve kaynak denetimi Dashboardu açısından gereklidir. Nereden alınır? Hexagon EAM r5audittrail (denetim etkinse) veya anlık görüntülerden çıkarılır. Genellikle evt_priority alanının denetim günlüğünden elde edilir. Kaydedin evt_priority üzerinde UPDATE işlemi yürütüldüğünde günlüğe kaydedilir Olay türü explicit | |||
Veri çıkarma rehberleri
Adımlar
- Gelişmiş Raporlama yazma yetkilerine sahip bir kullanıcı hesabıyla Hexagon EAM uygulamasında oturum açın.
- Genellikle Yönetim veya Raporlar menüsünde bulunan Raporlar modülüne gidin ve Gelişmiş Raporlama arayüzünü (çoğunlukla Cognos veya yerleşik bir SQL rapor oluşturucuyu) açın.
- Yeni rapor oluşturma sihirbazını başlatın ve veri kaynağı türü olarak 'SQL' veya 'Free-hand SQL' seçin. Böylece standart iş nesnesi modeli yerine doğrudan veritabanını sorgulayabilirsiniz.
- Aşağıdaki Sorgu bölümünde verilen SQL betiğini kopyalayıp veri seti tanımı penceresine yapıştırın.
- Yer tutucu değerleri (ör. [Your Organization Code] ve tarih aralıkları) ortamınıza uygun değerlerle değiştirin.
- Veritabanı platformunun (Oracle veya SQL Server) UNION ifadelerini kabul ettiğinden emin olmak için düzenleyicide sorgu söz dizimini doğrulayın.
- Sonuç sütunlarını rapor düzenine eşleyin ve WorkOrderNumber, ActivityName ve EventTimestamp alanlarının açıkça göründüğünden emin olun.
- Birleştirilmiş hücreler veya biçimlendirme başlıkları olmadan tablo yapısını korumak için raporun CSV veya Excel biçiminde dışa aktarılmasını sağlayın.
- Veri yapısını doğrulamak için raporu bir test dönemi (ör. son 100 iş emri) için çalıştırın.
- Doğrulamanın ardından raporun düzenli aralıklarla çalışmasını planlayın veya tüm veri çıkarma dönemi için çalıştırın.
- Çıktı dosyasını indirin ve tarih biçimlerini kontrol edin. Sıralamanın doğru olması için zaman damgalarının mümkünse saniyeleri de içerdiğinden emin olun.
- Oluşturulan CSV dosyasını ProcessMind’e aktarın; SourceSystem sütununu vaka özniteliği, ActivityName sütununu ise etkinlik sınıflandırıcısı olarak eşleyin.
Yapılandırma
- Tarih aralığı: Sorgu performansını korumak için EVT_DATE (oluşturulma tarihi) alanına göre son 6 ila 12 ayı kapsayan hareketli bir aralıkta filtreleme yapmanız önerilir.
- Kuruluş filtresi: Hexagon EAM genellikle birden fazla kuruluşu destekler. Diğer iş birimlerinden veri karışmasını önlemek için sorguda kuruluş kodunuza özel bir filtre bulunduğundan emin olun.
- Veritabanı söz dizimi: Aşağıdaki sorgu mümkün olduğunda ANSI standart SQL kullanır; ancak Hexagon EAM genellikle Oracle veya SQL Server üzerinde çalışır. Tarih işlevlerinde (ör. SYSDATE ve GETDATE) küçük değişiklikler gerekebilir.
- Durum yapılandırması: Durum kodlarının (ör. 'A', 'C', 'R') etkinlik adlarıyla (ör. 'Work Order Approved') eşlenmesi, sisteminizdeki durum yapılandırmasıyla aynı olmalıdır.
- İzinler: Raporu çalıştıran kullanıcı hesabının R5EVENTS, R5EVENTSTATUS, R5BOOKEDHOURS, R5TRANSACTIONS ve R5AUDITVALUES tablolarına okuma erişimi olmalıdır.
Örnek sorgu 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' Adımlar
- Veritabanı bağlantısını belirleyin: Hexagon EAM Oracle veya SQL Server arka uç veritabanı için okuma erişimi sağlayan kimlik bilgilerinizin (genellikle bir hizmet hesabı) olduğundan emin olun.
- Temel tabloları bulun: R5EVENTS (iş emri başlıkları), R5STATUS (durum geçmişi), R5BOOKEDHOURS (işçilik), R5TRANSACTIONS (malzemeler) ve R5AUDITVALUES (denetim günlüğü) tablolarına erişiminiz olduğunu doğrulayın.
- Durum kodlarını eşleyin: Hexagon EAM’de yapılandırılabilir durum kodları kullanılır (ör. A, C, O, R). Sisteminize özgü 1 veya 2 karakterli kodları Approved, Scheduled, Started, Completed, QC Passed, Signed Off ve Closed etkinlikleriyle eşlemek için sistem yapılandırmanızı inceleyin (Ekran: Administration -> Codes).
- Sorguyu yapılandırın: Aşağıda verilen SQL betiğini açın. Yer tutucu durum kodlarını (ör. 'APPR', 'SCHD', 'COMP') sisteminizdeki gerçek kodlarla değiştirin.
- Tarih aralığını belirleyin: Sorgu performansını korumak için WHERE koşullarını EVT_DATE veya TRN_DATE alanına göre, genellikle son 12 ayı kapsayacak şekilde güncelleyin.
- Verileri çıkarın: Sorguyu SQL istemcinizde (SQL Developer, SSMS veya Toad) çalıştırın.
- Denetim verilerini doğrulayın: 'Priority Updated' etkinliği satır döndürmüyorsa EAM sistem ayarlarınızda R5EVENTS tablosu için denetim işlevinin etkin olup olmadığını kontrol edin.
- Kontrol listesi verilerini doğrulayın: R5CHECKLISTVALUES tablosunun sürümünüz için doğru tablo olduğundan emin olun; eski sürümlerde görev düzeyindeki tamamlanma için R5ACTIVITIES kullanılıyor olabilir.
- Verileri dışa aktarın: Sonuç kümesini CSV veya Parquet dosyası olarak kaydedin. Ayrıştırma hatalarını önlemek için Timestamp sütununu ISO 8601 (YYYY-MM-DD HH:MM:SS) biçiminde ayarlayın.
- ProcessMind’e aktarın: Düz dosyayı ProcessMind arayüzüne yükleyin; WorkOrderNumber alanını Case ID, ActivityName alanını Activity, EventTimestamp alanını ise Timestamp olarak eşleyin.
Yapılandırma
- Zaman aralığı filtresi: Sorgu şu anda tüm verileri seçiyor. Temel CTE’ye veya her SELECT bloğuna WHERE EVT_DATE >= SYSDATE - 365 (Oracle) ya da GetDate() - 365 (SQL Server) gibi bir filtre eklemeniz önemle önerilir.
- Durum kodu eşlemesi: SQL içindeki metin değerlerini (ör. 'APPR', 'COMP', 'QC'), R5STATUS kümesinde tanımlı gerçek kodlarla değiştirmelisiniz.
- Denetim yapılandırması: 'Priority Updated' verilerinin çıkarılması R5AUDITVALUES tablosuna bağlıdır. EVT_PRIORITY sütunu için denetim kapalıysa bu etkinlik verilerde yer almaz.
- Kuruluş/kiracı: EAM örneğiniz birden fazla kuruluş barındırıyorsa verilerin karışmasını önlemek için EVT_ORG veya EVT_MRC (departman) filtresi ekleyin.
- Dil: Sorgu, standart İngilizce sütun başlıklarını varsayar. Veritabanınızda yerelleştirilmiş sütun adları kullanılıyorsa sorguyu buna göre düzenleyin.
Örnek sorgu 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 Adımlar
- Bu veri çıkarma işlemi için gereken bakım iş emri verilerinde Hexagon EAM Databridge Outbound’un kurulu, lisanslı ve yetkilendirilmiş olduğunu doğrulayın. Giden işlem yapılandırmasını, hedefi, zamanlama olanağını ve kaynak tablolara veya görünümlere erişimi kontrol edin. Menü adları ve işlem tanımlayıcıları EAM sürümüne göre değiştiğinden, geçerli yönetim menüsü yolunu belirlemek için [Configure based on your system] seçeneğini kullanın.
- İş emri başlıkları, iş emri durum geçmişi, öncelik geçmişi, malzeme talepleri, malzeme çıkışları, işçilik işlemleri, kontrol listesi veya denetim sonuçları, planlama atamaları, kalite onayları, imza kayıtları ve kapatma kayıtları için yetkili Hexagon EAM tablolarını veya görünümlerini belirleyin. Sorgudaki her [Your ... table name] yer tutucusunu ortamınızdaki karşılık gelen nesneyle değiştirin. Güncel iş emri başlığının geçmiş değişiklikleri içerdiğini varsaymayın.
- İlgili bir iş emri değişikliği kaydedildiğinde Databridge Outbound’un XML veya CSV işlemi yayımlamasını sağlayın. İş emri numarasını, olay türünü, olay zaman damgasını, kaynak kullanıcıyı, önceliği, iş emri türünü, departmanı, hedef tamamlanma tarihini, varlığı, gerçekleşen işçilik saatlerini ve yenileme ya da veri çıkarma zaman damgasını ekleyin. Durum, işçilik, malzemeler, kontrol listesi, planlama, kalite, imza veya kapatma olaylarının kaynak işlem yapıları farklıysa bunlar için ayrı giden eşlemeler yapılandırın.
- Giden yükü, her iş olayının ayrı bir olay kaydı olarak temsil edileceği şekilde yapılandırın. Yalnızca iş emrinin en güncel durumunu göndermeyin. Tekrarlanan işçilik kayıtları, malzeme çıkışları, kontrol listesi öğeleri, öncelik değişiklikleri veya diğer yinelenen olaylar için her olay başına bir kayıt oluşturun. Databridge olay türünü gerekli 13 ActivityName değerinden biriyle eşleyin.
- Databridge XML veya CSV çıktısını denetimli bir hazırlama konumuna alın, ardından sorguda belirtilen veritabanı nesnelerine yükleyin veya sorgunun kaynak nesnelerini hazırlama tablolarıyla değiştirin. Özgün olay tanımlayıcısını, iş emri numarasını, olay zaman damgasını, kaynak kullanıcıyı ve LastDataUpdate değerini koruyun. Databridge XML gönderiyorsa etkinlik eşlemesini uygulamadan önce yinelenen olay düğümlerini satırlara ayrıştırın. CSV gönderiyorsa ayırıcıları, tırnak işaretlerini, kodlamayı ve zaman damgası biçimlerini doğrulayın.
- Sorgudaki bağlantıya özgü nesnelere, tarih parametrelerine ve şirket filtrelerine ait yer tutucuları değiştirin. Sorgu, her etkinlik için standartlaştırılmış bir olay kaynağı kullanır ve sonuçları UNION ALL ile birleştirir. Her blokta kullanılan kaynak sütunlarının veri türlerinin uyumlu olduğundan emin olun. Bir kaynak önerilen bir özniteliği sağlamıyorsa değer uydurmak yerine bu öznitelik için NULL döndürün.
- Sorguyu ilk aşamada yaklaşık üç ila altı aylık bir dönem için çalıştırın. Sonuçta gerekli WorkOrderNumber, ActivityName, EventTimestamp, SourceSystem ve LastDataUpdate sütunlarının, mevcut olduğunda önerilen özniteliklerle birlikte bulunduğunu doğrulayın. Çıktıyı WorkOrderNumber, EventTimestamp ve ActivityName alanlarına göre sıralayın; farklı kaynak olaylarını temsil eden yinelenen satırları koruyun.
- Çıkarılan satırları Databridge teslimat sayıları, kaynak işlem sayıları ve Hexagon EAM’deki örnek iş emirleriyle karşılaştırın. Eksik durum geçmişini, yinelenen teslimatları, geçersiz zaman damgalarını ve seçilen tarih aralığının dışındaki olayları inceleyin. Yalnızca aynı kaynak olayı birden fazla kez teslim edilmişse tutarlı bir yinelenen kayıt temizleme kuralı uygulayın.
- Sonucu UTF-8 CSV veya ProcessMind’in desteklediği başka bir Event Log biçiminde dışa aktarın. Her satırda tek bir olay bulundurun, saat dilimi yönetimi tutarlı bir zaman damgası kullanın; WorkOrderNumber alanını vaka tanımlayıcısı, ActivityName alanını etkinlik, EventTimestamp alanını ise olay zaman damgası olarak eşleyin. Dosyayı ProcessMind’e yükleyin ve süreç modelinde 13 etkinlik adının tümünün bulunduğunu doğrulayın.
Yapılandırma
- Hexagon EAM Databridge Outbound’u olay düzeyinde XML veya CSV teslimatı yapacak şekilde yapılandırın. İşlem adları, yönetim ekranları ve menü yolları kurulu Hexagon EAM sürümüne bağlıdır. Bu nedenle sürüme özgü bir yol varsaymak yerine [Configure based on your system] seçeneğini kullanın.
- WorkOrderNumber alanını ProcessMind vaka tanımlayıcısı, ActivityName alanını etkinlik alanı ve EventTimestamp alanını olay zaman damgası olarak yapılandırın. SourceSystem alanına Hexagon EAM, LastDataUpdate alanına ise veri çıkarma veya yenileme zamanı yazılmalıdır.
- 13 etkinliğin tümü için giden eşlemeleri yapılandırın: 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 ve Work Order Closed.
- Geçmişteki olayları koruyun. Yalnızca güncel durum alanı, tüm durum geçişlerini, öncelik güncellemelerini, işçilik kayıtlarını, malzeme çıkışlarını, kontrol listesi doğrulamalarını, onayları veya imzaları yeniden oluşturamaz.
- İlk veri çıkarma için üç ila altı aylık bir tarih aralığı kullanın. Artımlı yüklemelerde Databridge teslimatını veya LastDataUpdate zaman işaretini kullanın ve geç ulaşan işlemleri yakalamak için aralığa kısa bir örtüşme ekleyin.
- Şirket, tesis, kuruluş, iş emri türü, departman ve durum filtrelerini yalnızca analiz için gerektiğinde uygulayın. Kuruluşa özgü kısıtlamalar için [Your company filter] veya [Configure based on your system] seçeneğini kullanın.
- Analiz tüm yaşam döngüsünü kapsıyorsa kapatılmış iş emirlerini de ekleyin. Yalnızca açık iş emirlerini filtrelemek tamamlama, kalite, imza ve kapatma etkinliklerini dışarıda bırakır.
- Saat dilimi yönetimini açıkça yapılandırın. ProcessMind’e yüklemeden önce tüm kaynak zaman damgalarını üzerinde anlaşılan tek bir saat dilimine dönüştürün; varsa özgün saat dilimini veya farkını da koruyun.
- Büyük veri setlerinde kaynağında filtreleme yapın, veri çıkarma aralığını sınırlayın, olay zaman damgası ve iş emri numarası alanlarını dizinleyin veya bölümlere ayırın ve dönüştürmeden önce Databridge dosyalarını hazırlama alanına alın. Geçmiş XML yükünün tamamını tekrar tekrar ayrıştırmaktan kaçının.
- Gerekli ön koşullar arasında Databridge Outbound’un kullanılabilir olması, ilgili EAM verilerini okuma yetkisi, giden hedefe veya hazırlama veritabanına erişim ve iş emri, durum, malzeme, işçilik, kontrol listesi, planlama, onay, kalite, imza ve kapatma verilerine erişim bulunur.
- Gerekli bir iş olayı yerel bir Databridge işlemi olarak sunulmuyorsa, açık bir olay satırı oluşturan bir kaynak görünümü veya hazırlama dönüşümü yapılandırın. ProcessMind eksik etkinlikleri diğer satırlardan çıkarmaz.
Örnek sorgu 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; Başlamaya hazır mısınız?
Bu şablonu izleyerek bakım verilerinizi uygulanabilir içgörülere dönüştürün. Veri hazırlığı sırasında teknik sorularınız olursa ekibimiz size yardımcı olabilir.
Varlık bakımı gecikmelerini azaltın, performansı bugün artırın
Çevrim sürenizi yüzde 30 azaltın ve gizli darboğazları ortadan kaldırın.
Kredi kartı gerekmez. Kurulum birkaç dakika sürer.