Varlık bakımı Veri Şablonunuz
Varlık bakımı Veri Şablonunuz
- Toplanması önerilen öznitelikler
- İzlenecek temel bakım faaliyetleri
- SAP PM için teknik veri çıkarma yönergeleri
Varlık Bakımı Öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Aktivite Adı Activity | Gerçekleşen belirli görev veya durum değişikliği. | ||
| Açıklama Bakım sürecinde gerçekleştirilen adımı, örneğin 'Bakım Emri Oluşturuldu', 'Mal Çıkışı Kaydedildi' veya 'Emir Operasyonu Onaylandı' aktivitelerini ifade eder. Bunlar genellikle durum değişiklikleri için durum yönetimi tablolarından (JEST), onaylar için işlem tablolarından (AFRU) veya malzeme hareketleri için MKPF tablosundan türetilir. Bu öznitelik, süreç haritasındaki düğümleri belirler. Neden önemli? Sürecin 'ne' olduğunu tanımlar; süreç akışını ve varyantlarını keşfetmek için gereklidir. Nereden alınır? JEST (Durum), AFRU (Onaylar) ve QMEL (Bildirimler) tablolarından türetilir Örnekler Bakım Emri OluşturulduEmir Serbest BırakıldıTeknik Olarak Tamamlandı | |||
| Bakım İş Emri MaintenanceWorkOrder | Bakım iş emrinin benzersiz tanımlayıcısı. | ||
| Açıklama Bakım İş Emri, SAP Tesis Bakımındaki merkezi belgedir (AUFK tablosu, AUFNR alanı). Bakım gereksinimini (Bildirim) uygulama kaynaklarına, malzemelere ve maliyetlere bağlar. Process Mining analizinde Case ID olarak kullanılır ve bir bakım işinin oluşturulmasından teknik ve ticari tamamlanmasına kadar uçtan uca yaşam döngüsünün yeniden oluşturulmasını sağlar. Neden önemli? Tüm aktiviteleri, maliyetleri ve zaman damgalarını birbirine bağlayan benzersiz anahtardır; süreç akışının görselleştirilmesini sağlar. Nereden alınır? SAP AUFK tablosu, AUFNR alanı Örnekler 00004001234540012345000040098765 | |||
| Kaynak Sistem SourceSystem | Verilerin alındığı sistem. | ||
| Açıklama Belirli SAP istemcisini veya örneğini tanımlar, örneğin SAP_PM_PROD. Birden fazla ERP sisteminin bulunduğu ortamlarda bu öznitelik, aynı kimlikleri taşıyabilen ancak farklı tüzel kişilere veya sistem ortamlarına ait kayıtları ayırt etmeye yardımcı olur. Neden önemli? Birden fazla sistemin bulunduğu ortamlarda veri benzersizliğini ve veri soyunu güvence altına alır. Nereden alınır? Sistem Yapılandırması / Çıkarma Günlüğü Örnekler SAP_ECC_P01SAP_S4H_100 | |||
| Olay Zaman Damgası EventTimestamp | Aktivitenin gerçekleştiği kesin tarih ve saat. | ||
| Açıklama Bir olayın gerçekleştiği kesin zamanı kaydeder. Durum değişikliklerinde bu bilgi, sistem durumunun güncellenme zamanından; operasyonlarda ise onay zamanından alınır. Doğru zaman damgaları, çevrim sürelerini ve teslim sürelerini hesaplamak, ayrıca Planlama ve Yürütme gibi süreç adımları arasındaki darboğazları belirlemek için büyük önem taşır. Neden önemli? Olayları doğru sıraya koymak ve süreye dayalı tüm KPI'ları hesaplamak için gereklidir. Nereden alınır? JEST (UDATE/UTIME), AFRU (ISDD/ISDZ), MKPF (CPUDT/CPUTM) Örnekler 2023-10-15T08:30:00Z2023-10-15T14:45:12Z | |||
| Son Veri Güncellemesi LastDataUpdate | En son veri çıkarma işleminin zaman damgası. | ||
| Açıklama Process Mining veri modelinin en son ne zaman yenilendiğini belirtir. Analistlerin içgörülerin ne kadar güncel olduğunu anlamasını sağlar ve gerçek zamanlı backlogu veya SLA uyumluluğunu izleyen Dashboardlarda veri güncelliğinin doğrulanmasına yardımcı olur. Neden önemli? Veri yönetişimi ve Dashboardlara duyulan güvenin oluşturulması için önemlidir. Nereden alınır? ETL Zaman Damgası Örnekler 2023-11-01T12:00:00Z | |||
| Ana İş Merkezi MainWorkCenter | Siparişi gerçekleştirmek üzere görevlendirilen ana iş merkezi veya ekip. | ||
| Açıklama Ana İş Merkezi (VAPLZ), fiziksel işi gerçekleştirecek teknisyen veya makine grubunu gösterir. Bu öznitelik Team ile eşleştirilir ve ekip başına Ortalama Onarım Süresi gibi yürütme verimliliği analizleri için önemlidir. İç iş gücü ile dış yüklenicileri ayırt etmeye yardımcı olur. Neden önemli? Kaynak düzeyinde performans analizi yapılmasını sağlar. Nereden alınır? SAP Tablosu AFKO, Alan VAPLZ veya yapılandırmaya bağlı olarak AUFK-VAPLZ Örnekler MECH_01ELEC_TEAMEXT_CONT | |||
| Bakım Önceliği MaintenancePriority | İş emrine atanan aciliyet düzeyi. | ||
| Açıklama Bakım görevinin önceliğini (PRIOK) gösterir; örneğin 1-Çok Yüksek, 2-Yüksek veya 3-Orta. Bu alan, Acil İş Emri Oranı KPI'ının doğrudan girdisidir. Akışı önceliğe göre analiz etmek, yüksek öncelikli emirlerin rutin işlere kıyasla sistemde gerçekten daha hızlı ilerleyip ilerlemediğini belirlemeye yardımcı olur. Neden önemli? SLA analizinin ve acil işlerin belirlenmesinin temel göstergesidir. Nereden alınır? SAP Tablosu AFKO, Alan PRIOK veya görünüm üzerinden AUFK Örnekler 1-Acil2-Yüksek3-Orta4-Düşük | |||
| Bakım Siparişi Türü MaintenanceOrderType | İş emrini kategorilere ayırır, örneğin Önleyici veya Düzeltici. | ||
| Açıklama SAP PM içindeki Sipariş Türü (AUART), bakım işinin niteliğini ayırt eder. Yaygın türler arasında PM01 (Düzeltici), PM02 (Önleyici) ve PM03 (Yenileme) bulunur. Bu öznitelik, 'Acil iş emri etkisi izleyicisi' için ve süreç varyantlarını bölümlere ayırmak için gereklidir; çünkü önleyici iş akışları tepkisel iş akışlarından önemli ölçüde farklıdır. Neden önemli? Planlı ve plansız işler arasındaki analizi segmentlere ayırmak için temel bir özniteliktir. Nereden alınır? SAP Tablosu AUFK, Alan AUART Örnekler PM01PM02PM03 | |||
| Bakım Tesisi MaintenancePlant | Bakım faaliyetinden sorumlu lojistik tesisi. | ||
| Açıklama Plant (WERKS), lojistikteki birincil kuruluş birimidir. Verileri fiziksel tesise göre ayırır. Bu öznitelik, farklı tesisler arasında performans karşılaştırması yapmak için gereklidir ve Dashboardlarda üst düzey kuruluş filtrelemesini desteklemek üzere 'BusinessUnit' ile eşleştirilir. Neden önemli? Tesisleri karşılaştırmak için kullanılan temel organizasyon filtresidir. Nereden alınır? SAP Tablosu AUFK, Alan WERKS Örnekler 100020003000 | |||
| Bildirim Numarası NotificationNumber | Bu siparişi başlatan bakım bildirimi. | ||
| Açıklama Bildirim Numarası (QMNUM), İş Emri'ni ilk talebe, yani Bildirim'e bağlar. Bu bağlantı, Bakım Talebi Alındı ile tamamlanma arasındaki toplam teslim süresini hesaplamak için gereklidir. Bu bağlantı olmadan analiz, bakım yaşam döngüsünün ilk tespit ve bildirim aşamasını kapsamaz. Neden önemli? Yürütme aşamasını talep ve tespit aşamasına bağlar. Nereden alınır? SAP Tablosu AUFK, Alan QMNUM Örnekler 1000050010000501 | |||
| Ekipman Numarası EquipmentNumber | Bakımı yapılan belirli fiziksel varlığın tanımlayıcısı. | ||
| Açıklama Ekipman Numarası (EQUNR), tek tek makineyi veya varlık nesnesini tanımlar. Analistler bu alandaki verileri bir araya getirerek sık ve maliyetli onarım gerektiren sorunlu ekipmanları bulmak için 'Varlık bakım maliyeti ve işlem hacmi' Dashboardunu hesaplayabilir. Bu öznitelik, güvenilirlik odaklı bakım analizini mümkün kılar. Neden önemli? Süreç performansını belirli fiziksel varlıklara bağlar. Nereden alınır? SAP Tablosu AUFK, Alan EQUNR Örnekler 10004567PUMP-001HVAC-202 | |||
| Hedef Bitiş Tarihi TargetFinishDate | Bakım işinin planlanan tamamlanma tarihi. | ||
| Açıklama Bu tarih, genellikle Temel Bitiş Tarihi (GLTRP), iş emrinin son tarihini gösterir. SLA Uyumluluk Oranı KPI'ını hesaplamak için gerçek tamamlanma zaman damgasıyla karşılaştırılır. Bir iş emrinin zamanında mı yoksa gecikmeli mi olduğunu belirlemenin temelidir. Neden önemli? Zamanında Teslimat (OTD) hesaplamalarının referans noktasıdır. Nereden alınır? SAP Tablosu AFKO, Alan GLTRP Örnekler 2023-12-012023-12-15 | |||
| Oluşturan Kullanıcı CreatedByUser | Emri oluşturan kişinin kullanıcı adı. | ||
| Açıklama İş emrini başlatmaktan sorumlu kullanıcıyı (ERNAM) belirler. Genel modelde User alanıyla eşleştirilir. Manuel ve otomatik oluşturma arasındaki farkı analiz etmenize ve Maintenance Order Created faaliyetini denetlemenize yardımcı olur. Neden önemli? Kullanıcı davranışı analizini ve denetimi mümkün kılar. Nereden alınır? SAP tablosu AUFK, ERNAM alanı Örnekler JSMITHBSERVICEDDAVIS | |||
| Planlayıcı Grubu ResponsiblePlannerGroup | Siparişin işlenmesinden sorumlu planlayıcılar grubu. | ||
| Açıklama Planner Group (INGRP), bakım işini planlamaktan sorumlu belirli ekibi veya departmanı tanımlar. 'Department' ile eşleştirilir ve hazırlık aşamasında hangi planlama ekiplerinin darboğaz oluşturduğunu belirlemek için 'Kaynak kullanımı ve planlama' Dashboardunda büyük önem taşır. Neden önemli? Planlama sürecinin sahibi olan idari ekibi tanımlar. Nereden alınır? SAP Tablosu AUFK, Alan INGRP Örnekler M01ELEMEC | |||
| Sistem durumu SystemStatus | Emrin mevcut teknik durumu, örneğin REL veya TECO. | ||
| Açıklama Emre o anda uygulanmış etkin sistem durumlarının JEST'ten alınan birleştirilmiş dizesi veya listesidir. Yaygın değerler arasında CRTD (Oluşturuldu), REL (Serbest Bırakıldı), TECO (Teknik Olarak Tamamlandı) ve CLSD (Kapatıldı) bulunur. Bu alan, Backlog and Work In Progress Monitor içinde açık ve kapalı vakaları filtrelemeye yardımcı olur. Neden önemli? Emrin yaşam döngüsündeki aşamanın birincil göstergesidir. Nereden alınır? SAP Function Module STATUS_TEXT_EDIT veya JEST tablosu Örnekler REL CNFTECOCRTD MACM | |||
| Teknik Yer FunctionalLocation | Varlığın kurulu olduğu hiyerarşik konum. | ||
| Açıklama Bakım görevinin gerçekleştirildiği teknik yapı içindeki yeri temsil eder (TPLNR). Hareket edebilen Equipmentın aksine Functional Location sabittir. Bu öznitelik, tesisin farklı alanları (örneğin Kazan Dairesi ve Paketleme Hattı) arasında performans karşılaştırması yapılmasını sağlayarak 'Teknik inceleme çevrim süreleri' Dashboardunu destekler. Neden önemli? Bakım performansının konumsal ve hiyerarşik olarak analiz edilmesini sağlar. Nereden alınır? SAP Tablosu IFLOT, Alan TPLNR veya AUFK-TPLNR üzerinden Örnekler PLANT1-BLD2-LN01US-TX-DAL-01 | |||
| Acil iş mi? IsEmergencyWork | İş emrinin acil olup olmadığını gösteren işaret. | ||
| Açıklama Bakım önceliğine göre hesaplanan bir boolean özniteliktir. Öncelik 1 ise veya yapılandırmada acil iş için belirlenen kod kullanılıyorsa bu işaret true olur. Böylece Dashboard katmanında karmaşık mantık kurmadan Emergency Work Order Ratio KPI'ını filtrelemek ve oluşturmak kolaylaşır. Neden önemli? Kritik reaktif bakım analizinde filtrelemeyi kolaylaştırır. Nereden alınır? MaintenancePriority alanından hesaplanır Örnekler truefalse | |||
| Planlanan iş gücü saatleri PlannedLaborHours | Emir için tahmin edilen iş gücü saatleri. | ||
| Açıklama Sipariş operasyonlarından gelen toplam planlanan iş (ARBEI). Bunu gerçek Etkinlik Süresi ile karşılaştırarak, bakım planlamasının doğruluğunu değerlendirmek için "Planlama ve tahmin performansı" Dashboardından yararlanabilirsiniz. Neden önemli? Planlama doğruluğu analizinin temel metriğidir. Nereden alınır? SAP tablosu AFKO, operasyonların planlanan çalışma toplamı Örnekler 4.08.512.0 | |||
| Toplam Gerçekleşen Maliyet TotalActualCost | İş emrine kaydedilen toplam gerçekleşen maliyet. | ||
| Açıklama İşçilik, malzeme ve hizmetlerden elde edilen toplu maliyetleri içerir (PMCO tablosu). Bu öznitelik, yöneticilerin bakım faaliyetlerinin finansal etkisini görmesini sağlayan 'Varlık bakım maliyeti ve işlem hacmi' Dashboardunu destekler. Varlıkları onarmanın mı yoksa değiştirmenin mi daha maliyetli olduğunu belirlemek için gereklidir. Neden önemli? Operasyonel süreç verilerine finansal boyut kazandırır. Nereden alınır? SAP Tablosu PMCO, değer türü 04 - Gerçekleşen toplamı Örnekler 150.002500.500.00 | |||
| Yeniden çalışma mı? IsRework | Emrin yeniden çalışma faaliyetleri içerip içermediğini gösteren işaret. | ||
| Açıklama Bir süreç döngüsünün oluşup oluşmadığını belirleyen hesaplanmış bir boolean değerdir. Maintenance Task Executed faaliyetinin birden fazla kez gerçekleşmesi veya durumun Technically Completed'dan In Process'e dönmesi bu duruma örnektir. Bu alan, Maintenance Rework Rate KPI'ını destekler ve kalite sorunlarının belirlenmesine yardımcı olur. Neden önemli? Kalite kontrol analizini doğrudan destekler. Nereden alınır? Süreç akışından hesaplanır Örnekler truefalse | |||
Varlık Bakım Faaliyetleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Bakım Emri Oluşturuldu | Sistemde bakım iş emri nesnesinin oluşturulmasını gösterir. Emir Ana Verileri tablosundaki oluşturma zaman damgasından açıkça alınır. | ||
| Neden önemli? Bu, vaka için merkezi referans olaydır ve talepten planlama ve uygulamaya geçişi gösterir. Nereden alınır? AUFK tablosu, ERDAT alanı (Tarih) ve ERFZEIT (Saat). Yakalayın IW31 işlemi yürütüldüğünde günlüğe alınır Olay türü explicit | |||
| Bakım Emri Serbest Bırakıldı | Planlamanın tamamlandığını ve emrin uygulama için serbest bırakıldığını gösterir. Sistem durum günlüklerinde REL durumuna geçiş izlenerek alınır. | ||
| Neden önemli? Bu kilometre taşı, planlama aşamasını uygulama aşamasından ayırır ve Planlama ve Tahmin Çevrim Süresinin ölçülmesi için önemlidir. Nereden alınır? JCDS tablosu (Durum Değişikliği Belgeleri), I0002 durumu (REL). Yakalayın JCDS'de durum REL olarak güncellendiğinde günlüğe alınır Olay türü explicit | |||
| Emir Operasyonu Onaylandı | Bir teknisyenin belirli bir operasyonda harcadığı gerçek sürenin kaydedilmesini ifade eder. Bu kayıt, varlık üzerindeki gerçek uygulama çalışmasını gösterir. | ||
| Neden önemli? Bu aktivite, Ortalama Onarım Süresi ve iş gücü maliyeti hesaplamalarının temel veri kaynağıdır. Nereden alınır? AFRU tablosu (Emir Onayları). Yakalayın IW41 işlemi yürütüldüğünde günlüğe alınır Olay türü explicit | |||
| İş Tamamlama Ayarlandı | İş emrinin nihai idari kapanışını gösterir ve başka maliyet kaydı yapılmasını engeller. CLSD durumuna (Kapalı) geçiş üzerinden alınır. | ||
| Neden önemli? Emir yaşam döngüsünün kesin sonunu gösterir; Veri Doğruluğu ve Kayıt Uyumluluğu açısından önemlidir. Nereden alınır? JCDS tablosu, I0046 durumu (CLSD). Yakalayın JCDS'de durum CLSD olarak güncellendiğinde günlüğe alınır Olay türü explicit | |||
| Mal Çıkışı Kaydedildi | Yedek parçaların veya malzemelerin iş emrine bağlı fiziksel tüketimini kaydeder. Emre bağlanan malzeme belgesi başlıklarından alınır. | ||
| Neden önemli? Parçaların mevcut olduğunu ve toplandığını doğrular; Parça Kullanılabilirliği Bekleme Süresi analizini doğrudan etkiler. Nereden alınır? MSEG/MKPF tablosu, hareket türü 261 (Emir için Mal Çıkışı). Yakalayın MIGO/MB1A işlemi yürütüldüğünde günlüğe alınır Olay türü explicit | |||
| Teknik Tamamlama Ayarlandı | Bakım çalışmasının fiziksel ve teknik olarak tamamlandığını gösterir. TECO durumuna (Teknik Olarak Tamamlandı) geçiş üzerinden alınır. | ||
| Neden önemli? Operasyonel analiz için en önemli bitiş noktasıdır; varlığın eski durumuna getirildiğini ve bakımın tamamlandığını gösterir. Nereden alınır? JCDS tablosu, I0045 durumu (TECO). Yakalayın JCDS'de durum TECO olarak güncellendiğinde günlüğe alınır Olay türü explicit | |||
| Bakım Bildirimi Oluşturuldu | Genellikle bir iş emrini tetikleyen bakım bildiriminin ilk kez oluşturulmasını kaydeder. QMEL tablosundaki oluşturma zaman damgasından alınan bu aktivite, üst akıştaki talebi uygulama emrine bağlar. | ||
| Neden önemli? Bu aktivite, uçtan uca bakım sürecinin başlangıcını belirler ve arıza tespiti ile emrin oluşturulması arasındaki tepki sürelerinin hesaplanmasını sağlar. Nereden alınır? QMEL tablosu, ERDAT alanı (Oluşturma Tarihi) ve MZEIT (Saat). QMEL-AUFNR üzerinden emre bağlanır. Yakalayın QMEL tablosunda kayıt oluşturulduğunda günlüğe alınır Olay türü explicit | |||
| Bakım Önceliği Değiştirildi | İş emrinin öncelik düzeyindeki güncellemeyi, örneğin Acil durum düzeyine yükseltilmesini kaydeder. Emir ana verileriyle ilişkili Değişiklik Belgelerinden türetilir. | ||
| Neden önemli? Öncelik değişikliklerini izlemek, süreç sapmalarını açıklamaya yardımcı olur ve tepkisel öncelik artışlarını belirleyerek Acil Durum İş Emri Etki İzleyicisini destekler. Nereden alınır? AUFTRAG nesne sınıfı ve PRIOK alanı için CDPOS/CDHDR tabloları. Yakalayın Değişiklik Belgelerinde (CDPOS) günlüğe alınır Olay türü explicit | |||
| Emir Maliyetleri Mahsup Edildi | Emirde toplanan maliyetlerin kontrol nesnesine, örneğin Maliyet Merkezine, aktarıldığını gösterir. Kontrol belgesinden alınır. | ||
| Neden önemli? Finansal kapanış aşamasını izler ve Finansal Mahsup Süresi KPI'ını destekler. Nereden alınır? COBK tablosu (CO Nesnesi: Belge Başlığı), Emre bağlanır. Yakalayın KO88 mahsup işlemi yürütüldüğünde günlüğe alınır Olay türü explicit | |||
| İş Emri Planlandı | Operasyonların belirli bir kapasiteye veya tarihe planlanmasını gösterir. Dispatch durumunun operasyonlara atanmasından çıkarılır. | ||
| Neden önemli? Kaynak tahsisinin verimliliğini ölçer ve kaynak kullanımı ve planlama Dashboardunu destekler. Nereden alınır? Operasyonlar için JCDS tablosu (Durum Değişikliği Belgeleri), ObjType OV, I0009 durumu (DSPT). Yakalayın Durum alanını önceki ve sonraki değerleriyle karşılaştırın Olay türü inferred | |||
| Malzeme Bileşeni Eklendi | Yedek parçaların veya malzemelerin iş emri bileşen listesine eklenmesini kaydeder. Rezervasyon kaleminin oluşturulmasından alınır. | ||
| Neden önemli? Gerekli parçalar için tedarik döngüsünün başlangıcını belirler ve yedek parça tedarik teslim süreleri Dashboardunu destekler. Nereden alınır? RESB tablosu, BDTER alanı (Gereksinim Tarihi) veya oluşturma zaman damgası. Yakalayın RESB'ye kalem eklendiğinde günlüğe alınır Olay türü explicit | |||
| Ölçüm Okuması Kaydedildi | Sayaç okuması veya durum değerlendirmesi gibi bir ölçüm belgesinin girilmesini kaydeder. Genellikle Teknik Denetim olayı olarak kullanılır. | ||
| Neden önemli? Duruma Dayalı Bakım ve Teknik Denetim Çevrim Sürelerinin izlenmesi için gereklidir. Nereden alınır? IMRG tablosu (Ölçüm Belgesi), Ekipman veya İşlevsel Konuma bağlanır. Yakalayın Ölçüm belgesi oluşturulduğunda günlüğe alınır Olay türü explicit | |||
| Satın Alma Talebi Oluşturuldu | Harici tedarik veya hizmet talebinin oluşturulduğunu gösterir. Bu, dahili bakım emrini harici tedarik zincirine bağlar. | ||
| Neden önemli? Harici tedarikçilerden veya stokta bulunmayan malzemelerin tedarikinden kaynaklanan gecikmeleri analiz etmek için önemlidir. Nereden alınır? AUFK-AUFNR'ye hesap tayini üzerinden bağlanan EBAN tablosu. Yakalayın EBAN kaydı oluşturulduğunda günlüğe alınır Olay türü explicit | |||
| Teknik Tamamlama Geri Alındı | Teknik Tamamlama durumunun geri alınmasını kaydeder ve emrin yeniden açıldığını gösterir. Bu işlem süreç modelinde bir tekrar işleme döngüsü oluşturur. | ||
| Neden önemli? Bakım Tekrar İşleme Oranı KPI'ının temel göstergesidir; erken kapanışları veya kalite sorunlarını ortaya çıkarır. Nereden alınır? JCDS tablosu, I0045 durumu (TECO) değişikliği Etkin Değil olarak işaretlenir. Yakalayın TECO durumu devre dışı bırakıldığında günlüğe alınır Olay türü explicit | |||
Veri çıkarma rehberleri
Adımlar
Veri kaynağı arayüzünü belirleyin: SAP S/4HANA SQL arayüzüne nasıl erişeceğinizi belirleyin. Bu işlem genellikle SAP HANA Studio, Eclipse içindeki ABAP Development Tools (ADT) veya HANA veritabanı analitik katmanınıza açıksa bir DBaaS bağlantı dizesi üzerinden yapılır.
CDS View kullanılabilirliğini doğrulayın: Standart Core Data Services (CDS) view'larının S/4HANA sisteminizde etkin olduğundan emin olun. Gerekli temel view'lar I_MaintenanceOrder, I_MaintenanceOrderOperation, I_MaintenanceNotification, I_MaintOrderConfirmation ve I_MeasurementDocument'tır. Tam olay geçmişini yeniden oluşturmak için sistem durum geçmişi tablosu JCDS'ye ve değişiklik belgesi tablolarına (CDHDR/CDPOS) da erişmeniz gerekir. Standart CDS view'ları çoğu zaman yalnızca mevcut durumu gösterir.
SQL ortamını hazırlayın: SQL düzenleyicinizi açın. Kullanıcınızın yukarıda listelenen artefaktlara ait DDL SQL view'larında, genellikle SAPABAP1 veya benzeri şemada, SELECT yetkisine sahip olduğundan emin olun.
Çıkarma sorgusunu çalıştırın: Sağlanan SQL betiğini düzenleyicinize kopyalayın. [Your Client Number] yer tutucusunu kendi SAP istemci kimliğinizle, örneğin 100, değiştirin. Belirli bir tarih aralığına göre filtreleme yapıyorsanız WHERE koşullarındaki EventTimestamp filtrelerini güncelleyin.
Veri dönüşümü: Sorgu, zaman damgalarını dönüştürme ve durum kodlarını okunabilir metinlere eşleme gibi dönüşümlerin çoğunu gerçekleştirir. Ancak hedef sisteminiz gerektiriyorsa dışa aktarma sırasında EventTimestamp sütununun ISO 8601 (YYYY-MM-DDTHH:MM:SS) biçiminde olduğundan emin olun.
Sonucu dışa aktarın: Sorguyu çalıştırın ve sonuçları CSV veya Parquet dosyasına aktarın. Kullanıcı adları ya da açıklamalardaki özel karakterlerin doğru işlenmesi için kodlamanın UTF-8 olarak ayarlandığından emin olun.
Sütun eşlemesini doğrulayın: Dışa aktarılan verilerin bir örneğini açın ve MaintenanceWorkOrder, Activity ve EventTimestamp sütunlarının tamamen doldurulduğundan emin olun. Activity sütununda gereksinimlerde belirtilen belirli dizelerin, örneğin Maintenance Order Created ve Goods Issue Posted, bulunduğunu kontrol edin.
ProcessMind'e yükleyin: Doğrulanmış düz dosyayı ProcessMind'e aktarın. Activity sütununu Activity ID alanıyla, MaintenanceWorkOrder sütununu Case ID alanıyla ve EventTimestamp sütununu Timestamp alanıyla eşleyin.
Yapılandırma
- İstemci filtresi: SAP sistemleri birden çok istemciyle çalışır. Yinelenen verileri veya istemciler arası veri sızıntısını önlemek için her zaman
MANDTya daClientalanına, örneğin '100', göre filtre uygulayın. - Tarih aralığı: Maintenance Order için
CreationDatealanının son 6 ila 12 ayla sınırlandırılması önerilir.JCDS(Status) veyaCDPOS(Change Documents) tablolarının tamamını tarih filtresi olmadan sorgulamak performans zaman aşımına neden olabilir. - Dil anahtarı: Sorgu varsayılan olarak İngilizceyi ('E') kullanır. Kuruluşunuz metin açıklamaları için farklı bir birincil dil kullanıyorsa dil filtresini ayarlayın.
- Sistem erişimi: ABAP Core Data Services şemasına veya temel HANA tablolarına erişim gerekir. Saf CDS view'ları çoğu zaman anlık görüntü tabanlı olduğundan, geçmiş durum analizi için JCDS ve CDHDR ham tablolarına erişim önemlidir.
- Sipariş türleri: Sorgu tüm sipariş türlerini çıkarır. Yalnızca belirli bakım senaryolarını analiz etmek istiyorsanız
MaintenanceOrderTypealanına, örneğin yalnızca PM01 ve PM02, göre filtre uygulayabilirsiniz.
a Örnek sorgu sql
/* Activity 1: Maintenance Notification Created */
SELECT
CAST(N.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Notification Created' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(N.CreationDate, ' '), N.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
N.MaintenanceOrderType,
N.MaintenancePriority,
N.Equipment AS EquipmentNumber,
N.FunctionalLocation,
N.MaintenancePlant,
N.MaintenancePlannerGroup AS ResponsiblePlannerGroup,
N.MainWorkCenter,
N.MaintenanceNotification AS NotificationNumber,
CAST(NULL AS DATE) AS TargetFinishDate,
N.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceNotification N
JOIN I_MaintenanceOrder O ON N.MaintenanceOrder = O.MaintenanceOrder
WHERE N.MaintenanceOrder IS NOT NULL AND N.MaintenanceOrder <> ''
UNION ALL
/* Activity 2: Maintenance Order Created */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Order Created' AS Activity,
O.CreationDate AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
O.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceOrder O
UNION ALL
/* Activity 3: Maintenance Priority Changed */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Priority Changed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(H.UDATE, ' '), H.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
H.USERNAME AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM CDHDR H
JOIN CDPOS P ON H.OBJECTCLAS = P.OBJECTCLAS AND H.OBJECTID = P.OBJECTID AND H.CHANGENR = P.CHANGENR
JOIN I_MaintenanceOrder O ON O.MaintenanceOrder = H.OBJECTID
WHERE H.OBJECTCLAS = 'ORDER'
AND P.TABNAME = 'AFKO'
AND P.FNAME = 'PRIOK'
UNION ALL
/* Activity 4: Maintenance Order Released */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Order Released' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0002' /* REL Status */
AND J.INACT = ' '
UNION ALL
/* Activity 5: Material Component Added */
SELECT
CAST(C.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Material Component Added' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(C.CreationDate, ' '), COALESCE(C.CreationTime, '000000')), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
O.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceOrderComponent C
JOIN I_MaintenanceOrder O ON C.MaintenanceOrder = O.MaintenanceOrder
UNION ALL
/* Activity 6: Purchase Requisition Created */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Purchase Requisition Created' AS Activity,
PR.CreationDate AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
PR.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_PurchasingDocumentItem PR
JOIN I_MaintenanceOrder O ON PR.ServiceMaintenanceOrder = O.MaintenanceOrder
WHERE PR.PurchasingDocumentCategory = 'B' /* Requisition */
UNION ALL
/* Activity 7: Goods Issue Posted */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Goods Issue Posted' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(MD.CreationDate, ' '), MD.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
MD.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaterialDocumentItem MD
JOIN I_MaintenanceOrder O ON MD.MaintenanceOrder = O.MaintenanceOrder
WHERE MD.GoodsMovementType = '261'
UNION ALL
/* Activity 8: Work Order Scheduled (Operation Dispatched) */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Work Order Scheduled' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrderOperation OP ON J.OBJNR = OP.MaintenanceOrderOperationInternalID
JOIN I_MaintenanceOrder O ON OP.MaintenanceOrder = O.MaintenanceOrder
WHERE J.STAT = 'I0019' /* DSP Dispatched Status */
AND J.INACT = ' '
UNION ALL
/* Activity 9: Order Operation Confirmed */
SELECT
CAST(CNF.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Order Operation Confirmed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(CNF.CreationDate, ' '), CNF.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
CNF.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintOrderConfirmation CNF
JOIN I_MaintenanceOrder O ON CNF.MaintenanceOrder = O.MaintenanceOrder
WHERE CNF.IsReversed = ' '
UNION ALL
/* Activity 10: Measurement Reading Recorded */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Measurement Reading Recorded' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(M.CreationDate, ' '), M.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
M.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MeasurementDocument M
JOIN I_MaintenanceOrder O ON M.MaintenanceOrder = O.MaintenanceOrder
UNION ALL
/* Activity 11: Technical Completion Set */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Technical Completion Set' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0045' /* TECO Status */
AND J.INACT = ' '
UNION ALL
/* Activity 12: Technical Completion Reversed */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Technical Completion Reversed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0045' /* TECO Status */
AND J.INACT = 'X' /* Inactive indicates it was removed/reversed */
AND J.CHIND = 'U' /* Update indicator */
UNION ALL
/* Activity 13: Order Cost Settled */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Order Cost Settled' AS Activity,
JE.CreationDateTime AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
JE.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_ActualPlanJrnlEntryItem JE
JOIN I_MaintenanceOrder O ON JE.OrderID = O.MaintenanceOrder
WHERE JE.BusinessTransactionType = 'KOAO' /* Settlement */
UNION ALL
/* Activity 14: Business Completion Set */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Business Completion Set' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0046' /* CLSD Status */
AND J.INACT = ' ' Adımlar
- AUFK, AFVC, JEST, QMEL, RESB, EBAN, MSEG, MKPF, AFRU, IMRG ve ilgili değişiklik belgesi ile controlling belgesi tabloları için doğrudan okuma erişiminin bulunduğunu doğrulayın. Alan kullanılabilirliği ve çoğaltılan tablo yapıları dağıtıma göre değiştiğinden, SAP veritabanınızdaki fiziksel adları ve alan eşlemelerini kesin olarak doğrulayın.
- Çıkarma bağlantısını, kimlik bilgilerini, çıkarma başlangıç tarihini, çıkarma bitiş tarihini ve kuruluşa özel filtreleri yapılandırın. İlk doğrulama için üç ila altı aylık hareketli bir dönem kullanın. Performans ve eksiksizlik kontrolleri başarılı olduktan sonra dönemi genişletin.
- AUFK'dan sipariş başlığı özniteliklerini, AFVC'den operasyon özniteliklerini ve JEST'ten durum kayıtlarını çıkarın. Siparişle ilgili kayıtları SAP şemanızda kullanılan sipariş numarası alanı üzerinden birleştirin. JEST, birçok SAP uygulamasında mevcut durum tablosudur. Bu nedenle geçmiş durum zaman damgaları için durum geçmişi veya değişiklik belgesi kaynağı gerekir. JEST durum değişikliği geçmişini saklamıyorsa [Your status history table] ve zaman damgası alanlarını yapılandırın.
- QMEL'den bildirim oluşturma, RESB'den bileşen oluşturma, EBAN'dan satın alma talebi oluşturma, MSEG ve MKPF'den mal çıkışı bilgilerini, AFRU'dan teyitleri, IMRG'den ölçüm okumalarını ve [Your controlling document table] tablosundan controlling mahsuplaşma kayıtlarını çıkarın. Öncelik değişikliklerini [Your order change document table] ve [Your change document item table] tablolarından çıkarın. Bu kaynaklar gereklidir, çünkü yalnızca AUFK, AFVC ve JEST istenen 14 etkinliğin tamamını sağlayamaz.
- Tüm kaynak zaman damgalarını tek bir saat dilimine ve tek bir zaman damgası veri türüne dönüştürün. SAP tarih ve saat alanlarını veya veritabanı zaman damgası alanlarını EventTimestamp alanına dönüştürün. Sistemde bulunan kaynak zaman damgası hassasiyetini koruyun. Yapılandırılan çıkarma penceresini yalnızca sipariş oluşturma tarihine değil, EventTimestamp alanına uygulayın.
- Her kaynak oluşumu için bir olay satırı oluşturun. Olayları çıkarsamak için ProcessMind'e güvenmeyin. Sorguda belirtilen kesin Activity değerini atayın, MaintenanceWorkOrder, EventTimestamp, SourceSystem, LastDataUpdate ve kullanılabilir önerilen öznitelikleri doldurun. Yinelenen kayıtları araştırırken yararlı olabilecek kaynak tanımlayıcılarını koruyun.
- Yalnızca kararlı kaynak anahtarlarını kullanarak aynı kaynak olaylarının yinelenenlerini kaldırın. Farklı zamanlarda gerçekleşen ayrı durum değişikliklerini, teyitleri, malzeme hareketlerini, ölçüm okumalarını veya mahsuplaşma belgelerini tek bir kayıtta birleştirmeyin. Birden çok kaynak kaydı tek bir iş olayını temsil ediyorsa seçilen kaynak önceliğini çıkarma spesifikasyonunda belgeleyin.
- 14 Activity değerinin tamamının açık satırlar olarak bulunduğunu, her satırda bir vaka tanımlayıcısı ve zaman damgası olduğunu ve zaman damgalarının istenen çıkarma dönemi içinde kaldığını doğrulayın. Aynı filtreler için sayımları SAP raporları veya kaynak tablo sayımlarıyla karşılaştırın.
- Sonucu UTF-8 CSV veya ProcessMind tarafından desteklenen başka bir Event Log biçiminde dışa aktarın. Her olay için bir satır kullanın, gerekli sütunları yapılandırılan kesin adlarıyla ekleyin, destekleniyorsa ISO 8601 zaman damgalarını koruyun ve dosyayı yükleyin ya da ProcessMind'de veritabanı bağlantısını yapılandırın. MaintenanceWorkOrder alanını vaka tanımlayıcısı, Activity alanını etkinlik sütunu ve EventTimestamp alanını zaman damgası sütunu olarak ayarlayın.
Yapılandırma
- Kaynak tablolar ve eşlemeler: AUFK sipariş başlığı verilerini, AFVC operasyon verilerini ve JEST sistem durumu verilerini sağlar. 14 etkinliğin tamamını üretmek için QMEL, RESB, EBAN, MSEG, MKPF, AFRU, IMRG, değişiklik belgesi kaynakları ve controlling belgesi kaynakları da gereklidir. Çalıştırmadan önce SAP veritabanınızdaki kesin alan adlarını doğrulayın.
- Gerekli çıktı sütunları: MaintenanceWorkOrder, Activity, EventTimestamp, SourceSystem ve LastDataUpdate her olay satırında bulunmalıdır.
- Önerilen çıktı sütunları: Kullanılabildiğinde MaintenanceOrderType, MaintenancePriority, EquipmentNumber, FunctionalLocation, MaintenancePlant, ResponsiblePlannerGroup, MainWorkCenter, NotificationNumber, TargetFinishDate, CreatedByUser ve SystemStatus doldurulmalıdır.
- Tarih aralığı: Üç ila altı ayla başlayın. Artımlı çalıştırmalar arasında yinelenen olayları önlemek için başlangıç sınırını dahil, bitiş sınırını hariç tutun. Geçmişe dönük veri doldurma işlemlerinde çıkarma işlemini aya veya veritabanının desteklediği başka bir döneme göre bölümlendirin.
- Filtreler: [Company Code filter], [Order Type filter], [Maintenance Plant filter], [Notification Type filter] ve [Document Type filter] alanlarını raporlama kapsamına göre yapılandırın. Bildirimleri, operasyonları, bileşenleri, talepleri, teyitleri, ölçümleri veya mahsuplaşma belgeleri olmayan siparişleri dışlayan filtreler uygulamayın.
- Durum geçmişi: JEST genellikle durum atamalarını temsil eder, ancak geçmiş durum değişiklikleri için [Your status history table] veya değişiklik belgeleri gerekebilir. Durum değişikliği zaman damgasını ve durum geçişi geçmişini içeren kaynağı yapılandırın.
- Öncelik geçmişi: Öncelik değişiklikleri için ilgili nesne tanımlayıcısı, alan adı, eski değer, yeni değer ve değişiklik zaman damgasıyla birlikte [Your order change document table] ve [Your change document item table] gerekir.
- Kaynak sistem değeri: [Your SAP system identifier] yerine kuruluşunuzun kullandığı kararlı kaynak sistem adını yazın.
- Son veri güncellemesi: [Your extraction timestamp] yerine çıkarma çalıştırmasının başlangıcında veya sonunda oluşturulan zaman damgasını yazın ve aynı çalıştırmadaki tüm satırlarda aynı değeri kullanın.
- Performans: İzin verilen durumlarda birleştirme ve filtre sütunlarını dizinleyin veya bölümlendirin, çıkarma penceresini sınırlandırın, yalnızca gerekli sütunları seçin, uzun dönemleri gruplar halinde işleyin ve doğrudan şemalar arası birleştirmeler yavaşsa ara kaynak çıktılarını kalıcı hale getirin.
- Ön koşullar: Veritabanı bağlantısı, yapılandırılan tüm kaynak tabloları için okuma yetkisi, ilgili Plant Maintenance, Materials Management, Controlling ve ölçüm verilerine erişim ve operasyonel verileri çıkarma onayı gerekir. Veritabanı platformuna ilişkin çoğaltma veya lisans kısıtlarını doğrulayın.
a Örnek sorgu sql
WITH
params AS (
SELECT
CAST('[Start date and time]' AS TIMESTAMP) AS start_ts,
CAST('[End date and time]' AS TIMESTAMP) AS end_ts,
CAST('[Your SAP system identifier]' AS VARCHAR(100)) AS source_system,
CAST('[Your extraction timestamp]' AS TIMESTAMP) AS last_data_update
),
order_base AS (
SELECT
a.[Order number field] AS MaintenanceWorkOrder,
a.[Order type field] AS MaintenanceOrderType,
a.[Priority field] AS MaintenancePriority,
a.[Equipment field] AS EquipmentNumber,
a.[Functional location field] AS FunctionalLocation,
a.[Maintenance plant field] AS MaintenancePlant,
a.[Planner group field] AS ResponsiblePlannerGroup,
a.[Main work center field] AS MainWorkCenter,
a.[Notification number field] AS NotificationNumber,
a.[Target finish date field] AS TargetFinishDate,
a.[Created by field] AS CreatedByUser,
a.[System status field] AS SystemStatus,
a.[Creation date field] AS OrderCreationDate,
a.[Creation time field] AS OrderCreationTime
FROM AUFK a
WHERE a.[Order number field] IS NOT NULL
AND a.[Company code field] = '[Your company code filter]'
),
base_events AS (
SELECT
o.MaintenanceWorkOrder,
'Maintenance Notification Created' AS Activity,
CAST(q.[Notification creation timestamp field] AS TIMESTAMP) AS EventTimestamp,
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN QMEL q ON q.[Notification number field] = o.NotificationNumber
CROSS JOIN params p
WHERE q.[Notification creation timestamp field] >= p.start_ts
AND q.[Notification creation timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Maintenance Order Created',
CAST(o.OrderCreationDate || ' ' || o.OrderCreationTime AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o CROSS JOIN params p
WHERE CAST(o.OrderCreationDate || ' ' || o.OrderCreationTime AS TIMESTAMP) >= p.start_ts
AND CAST(o.OrderCreationDate || ' ' || o.OrderCreationTime AS TIMESTAMP) < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Maintenance Priority Changed',
CAST(c.[Change timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, c.[New priority value field], o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN [Your order change document table] h ON h.[Order object identifier field] = o.MaintenanceWorkOrder
JOIN [Your change document item table] c ON c.[Change document number field] = h.[Change document number field]
CROSS JOIN params p
WHERE c.[Changed field name field] = '[Your priority field name]'
AND CAST(c.[Change timestamp field] AS TIMESTAMP) >= p.start_ts
AND CAST(c.[Change timestamp field] AS TIMESTAMP) < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Maintenance Order Released',
CAST(s.[Status change timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, 'REL'
FROM order_base o
JOIN [Your status history table] s ON s.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE s.[Status code field] = 'REL'
AND s.[Status change timestamp field] >= p.start_ts
AND s.[Status change timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Material Component Added',
CAST(r.[Reservation creation timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN RESB r ON r.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE r.[Reservation line creation timestamp field] >= p.start_ts
AND r.[Reservation line creation timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Purchase Requisition Created',
CAST(e.[Purchase requisition creation timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN EBAN e ON e.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE e.[Purchase requisition creation timestamp field] >= p.start_ts
AND e.[Purchase requisition creation timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Goods Issue Posted',
CAST(m.[Material document timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN MSEG m ON m.[Order number field] = o.MaintenanceWorkOrder
JOIN MKPF k ON k.[Material document number field] = m.[Material document number field]
AND k.[Material document year field] = m.[Material document year field]
CROSS JOIN params p
WHERE m.[Movement type field] IN ('201', '261')
AND k.[Material document timestamp field] >= p.start_ts
AND k.[Material document timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Work Order Scheduled',
CAST(v.[Dispatch status timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN AFVC v ON v.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE v.[Dispatch status field] = '[Your dispatch status value]'
AND v.[Dispatch status timestamp field] >= p.start_ts
AND v.[Dispatch status timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Order Operation Confirmed',
CAST(f.[Confirmation timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN AFRU f ON f.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE f.[Confirmation timestamp field] >= p.start_ts
AND f.[Confirmation timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Measurement Reading Recorded',
CAST(i.[Measurement document timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN IMRG i ON i.[Equipment field] = o.EquipmentNumber
CROSS JOIN params p
WHERE i.[Measurement document timestamp field] >= p.start_ts
AND i.[Measurement document timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Technical Completion Set',
CAST(s.[Status change timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, 'TECO'
FROM order_base o
JOIN [Your status history table] s ON s.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE s.[Status code field] = 'TECO'
AND s.[Status change timestamp field] >= p.start_ts
AND s.[Status change timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Technical Completion Reversed',
CAST(s.[Status change timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, s.[Resulting system status field]
FROM order_base o
JOIN [Your status history table] s ON s.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE s.[Previous status code field] = 'TECO'
AND s.[Status code field] <> 'TECO'
AND s.[Status change timestamp field] >= p.start_ts
AND s.[Status change timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Order Cost Settled',
CAST(c.[Controlling document timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, o.SystemStatus
FROM order_base o
JOIN [Your controlling document table] c ON c.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE c.[Controlling document timestamp field] >= p.start_ts
AND c.[Controlling document timestamp field] < p.end_ts
UNION ALL
SELECT o.MaintenanceWorkOrder, 'Business Completion Set',
CAST(s.[Status change timestamp field] AS TIMESTAMP),
o.MaintenanceOrderType, o.MaintenancePriority, o.EquipmentNumber,
o.FunctionalLocation, o.MaintenancePlant, o.ResponsiblePlannerGroup,
o.MainWorkCenter, o.NotificationNumber, o.TargetFinishDate,
o.CreatedByUser, 'CLSD'
FROM order_base o
JOIN [Your status history table] s ON s.[Order number field] = o.MaintenanceWorkOrder
CROSS JOIN params p
WHERE s.[Status code field] = 'CLSD'
AND s.[Status change timestamp field] >= p.start_ts
AND s.[Status change timestamp field] < p.end_ts
)
SELECT
e.MaintenanceWorkOrder,
e.Activity,
e.EventTimestamp,
p.source_system AS SourceSystem,
p.last_data_update AS LastDataUpdate,
e.MaintenanceOrderType,
e.MaintenancePriority,
e.EquipmentNumber,
e.FunctionalLocation,
e.MaintenancePlant,
e.ResponsiblePlannerGroup,
e.MainWorkCenter,
e.NotificationNumber,
e.TargetFinishDate,
e.CreatedByUser,
e.SystemStatus
FROM base_events e
CROSS JOIN params p
WHERE e.MaintenanceWorkOrder IS NOT NULL
AND e.EventTimestamp IS NOT NULL
AND e.EventTimestamp >= p.start_ts
AND e.EventTimestamp < p.end_ts
ORDER BY e.MaintenanceWorkOrder, e.EventTimestamp, e.Activity; Başlamaya hazır mısınız?
Bakım iş akışlarınızı haritalamaya ve maliyet tasarrufu fırsatlarını belirlemeye başlamak için bu kaynakları kullanın. Çerçevemiz, operasyonlarınızda tam şeffaflık sağlamak için doğru veri yapısına sahip olmanızı sağlar.
SAP'te varlık bakımındaki darboğazları bugün giderin
Bakım çevrim sürenizi hemen şimdi yüzde 30 azaltın
Kredi kartı gerekmez... 5 dakikada kurulumu tamamlayın