Üretim planlaması Veri Templateiniz
Üretim planlaması Veri Templateiniz
- Üretim planlaması analizi için önerilen öznitelikler
- İzlenecek temel üretim planlama etkinlikleri
- SAP S/4HANA’dan veri çıkarmaya yönelik ayrıntılı bilgiler
Üretim planlaması öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Aktivite Activity | Üretim planlama sürecinde belirli bir zamanda gerçekleşen olayın veya görevin adı. | ||
| Açıklama Bu öznitelik, üretim siparişinin yaşam döngüsündeki farklı adımları ve kilometre taşlarını kaydeder. Örnekler arasında 'Üretim siparişi oluşturuldu', 'Malzeme kullanılabilirliği kontrol edildi', 'Üretim başladı' ve 'Sipariş finansal olarak kapatıldı' yer alır. Her aktivite, sistemde kaydedilen belirli bir eylemi veya durum değişikliğini temsil eder. Bu aktivitelerin sırasını ve sıklığını analiz etmek, Process Mining çalışmalarının temelini oluşturur. Süreç akışını görselleştirmeye, standart prosedürden sapmaları belirlemeye ve gecikmelere yol açan ya da 'Üretim planı güncellendi' gibi sık sık yeniden çalışma gerektiren aktiviteleri saptamaya yardımcı olur. Neden önemli? Süreç adımlarını tanımlar; gerçek üretim iş akışını ve bu akıştaki farklılıkları keşfedip görselleştirmenizi sağlar. Nereden alınır? JEST ve JCDS gibi tablolardaki durum değişikliklerinden, kullanılan işlem kodlarından (ör. oluşturma için CO01) veya AFRU’daki belirli teyit kayıtlarından elde edilir. Örnekler Üretim emri oluşturulduÜretim emri serbest bırakıldıÜretim başladıSon teyit girildiMal girişi kaydedildi | |||
| Başlangıç zamanı StartTime | Belirli bir aktivitenin veya olayın ne zaman başladığını gösteren zaman damgası. | ||
| Açıklama Bu öznitelik, üretim sürecinde kaydedilen her olayın tarih ve saatini içerir. Zamana dayalı tüm süreç analizlerinin temelini oluşturur. Aktiviteler arasındaki süreleri ve üretim siparişinin toplam çevrim süresini hesaplamak, ayrıca olayların zamanlamasını anlamak için başlangıç zamanı gereklidir. Gerçek zaman damgalarını planlanan tarihlerle karşılaştırarak darboğazları, bekleme sürelerini ve programa uyumu analiz etmenizi sağlar. Neden önemli? Tüm olayların kronolojik bağlamını sunarak süreç performansını, süreleri ve darboğazları analiz etmenizi sağlar. Nereden alınır? Durum değişiklikleri için değişiklik belgesi tablolarında (CDHDR/CDPOS), yürütme adımları için teyit tablolarında (AFRU), oluşturma tarihleri içinse başlık tablolarında (AFKO) bulunur. Örnekler 2023-10-26T09:00:00Z2023-10-26T14:30:00Z2023-10-27T08:15:00Z | |||
| Üretim siparişi ProductionOrder | Üretim planlama sürecinde temel vaka kimliği olarak kullanılan, üretim siparişine ait benzersiz tanımlayıcı. | ||
| Açıklama Üretim siparişi numarası, belirli bir ürün miktarının üretimiyle ilgili tüm faaliyetleri yönetmek ve izlemek için SAP S/4HANA tarafından oluşturulan benzersiz bir anahtardır. Planlama ve serbest bırakmadan üretimin yürütülmesine ve nihai mahsuplaşmaya kadar ilgili tüm olayları birbirine bağlar. Process Mining çalışmalarında bu öznitelik, ilgili tüm olayları uçtan uca tek bir süreç örneğinde gruplandırmak için gereklidir. Üretim siparişi bazında yapılan analizler; çevrim süresi, programa uyum gibi temel performans göstergelerinin ölçülmesini ve belirli üretim partilerini etkileyen darboğazların belirlenmesini sağlar. Neden önemli? Tüm süreç adımlarını birbirine bağlayan temel özniteliktir. Üretim yaşam döngüsünü baştan sona vaka düzeyinde analiz etmenizi sağlar. Nereden alınır? Bu, genellikle AFKO (AUFNR alanı) ve AFPO gibi SAP tablolarında bulunan üretim siparişi numarasıdır. Örnekler 100056710008341001299 | |||
| Kaynak sistem SourceSystem | Üretim planlama verilerinin alındığı sistem. | ||
| Açıklama Bu öznitelik, verilerin kaynağını belirtir. Birden fazla entegre sistemin bulunduğu ortamlarda bu bilgi özellikle önemlidir. Bu süreçte kaynak genellikle belirli bir SAP S/4HANA örneğidir. Daha geniş kapsamlı veri analizlerinde kaynak sistemi bilmek, veri bütünlüğünü korumaya ve farklı kaynaklardan gelen verileri birleştirirken doğru bağlamı sağlamaya yardımcı olur. Veri yönetişimi ve izlenebilirlik için temel bir meta veri unsurudur. Neden önemli? Veri yönetişimi için gerekli meta verileri sunar ve süreç verilerinin kaynağını ve bağlamını netleştirir. Nereden alınır? Bu, genellikle veri çıkarma sırasında SAP S/4HANA istemcisini ve sistem kimliğini (SID) belirtmek için eklenen statik bir değerdir. Örnekler S4P_100S4H_PRD_200S4Q_300 | |||
| Son veri güncellemesi LastDataUpdate | Verilerin kaynak sistemden en son ne zaman yenilendiğini veya alındığını gösteren zaman damgası. | ||
| Açıklama Bu öznitelik, verilerin en son alındığı tarih ve saati kaydeder. Analiz edilen verilerin güncelliği hakkında bilgi veren önemli bir meta veridir. Analizi doğru yorumlamak için son güncelleme zamanını bilmek gerekir. Böylece kullanıcılar gerçek zamanlı bilgileri mi yoksa belirli bir andan alınmış verileri mi incelediklerini anlayabilir. Bu da bulguların ve verilere dayanarak alınan kararların geçerliliğini etkiler. Neden önemli? Verilerin ne kadar güncel olduğunu göstererek doğru ve yerinde iş kararları alınmasına yardımcı olur. Nereden alınır? Bu zaman damgası, veri çıkarma, dönüştürme ve yükleme (ETL) işlemi sırasında oluşturulup eklenir. Örnekler 2024-05-21T02:00:00Z2024-05-22T02:00:00Z2024-05-23T02:00:00Z | |||
| İş merkezi WorkCenter | Bir operasyondan sorumlu belirli bir makine, makine grubu veya montaj alanı. | ||
| Açıklama İş merkezi, üretim yerinde bir üretim adımının gerçekleştirildiği belirli bir operasyon birimidir. Tek bir makine, üretim hattı veya çalışan grubu olabilir. İş merkezine göre süreç verilerini analiz etmek, kapasite darboğazlarını belirlemek ve kaynak dağılımını iyileştirmek için önemlidir. Hangi iş merkezlerinin aşırı yüklendiğini, hangilerinin yeterince kullanılmadığını ve üretimin yürütülmesi sırasında gecikmelerin en sık nerede yaşandığını anlamanıza yardımcı olur. Bu bilgiler, Kapasite darboğazlarını belirleme Dashboardu için gereklidir. Neden önemli? Darboğaz oluşturan belirli makineleri veya üretim hatlarını saptamanıza, kapasiteyi ve kaynak kullanımını iyileştirmeye yönelik adımlar atmanıza yardımcı olur. Nereden alınır? Üretim siparişinin operasyon verilerinde, AFVC tablosunda (ARBPL alanı) bulunur. Örnekler WC-ASSEMBLY-01WC-MILLING-05WC-PACKING | |||
| Malzeme numarası MaterialNumber | Üretim siparişinde üretilecek ürüne ait benzersiz tanımlayıcı. | ||
| Açıklama Malzeme numarası, üretim siparişinde hangi ürünün üretileceğini belirtir. Üretim sürecini ürün ağacı (BOM) ve rota bilgileri dahil olmak üzere malzemenin ana verilerine bağlar. Malzeme numarasına göre yapılan analizler, belirli ürünlerde gecikme, yeniden çalışma veya malzeme eksikliği yaşanma olasılığının daha yüksek olup olmadığını gösterir. Böylece planlama parametrelerini ayarlamak veya belirli bileşenlerin tedarik zincirini iyileştirmek gibi ürüne özel süreç iyileştirmeleri yapabilirsiniz. Neden önemli? Üretimi yapılan ürüne göre filtreleme ve analiz yapmanızı, ürüne özgü verimsizlikleri ve darboğazları ortaya çıkarmanızı sağlar. Nereden alınır? Üretim siparişi kalem tablosu AFPO’da (MATNR alanı) bulunur. Örnekler RM-1001FG-2050SA-3100-B | |||
| Planlanan bitiş tarihi PlannedEndDate | İlk plana göre üretim siparişinin tamamlanmasının planlandığı tarih. | ||
| Açıklama Planlanan bitiş tarihi, siparişe ait tüm üretim faaliyetlerinin tamamlanmasının beklendiği hedef tarihtir. Bu tarih, üretim planlamasının çizelgeleme aşamasında belirlenir. Programa uyumu ölçmek için bu öznitelik gereklidir. Planlanan bitiş tarihiyle gerçek tamamlanma zaman damgasını karşılaştırarak Üretim programına uyum oranı KPI’ını hesaplayabilir ve geciken siparişleri belirleyebilirsiniz. Bu analiz, planlama doğruluğunu ve müşteri memnuniyetini artırmaya yardımcı olur. Neden önemli? Programa uyumu ölçmek için temel oluşturur; planlama doğruluğunu ve uygulama verimliliğini değerlendirmenizi sağlar. Nereden alınır? Üretim siparişi başlık tablosu AFKO’da (GLTRP alanı) bulunur. Örnekler 2023-11-152023-12-012024-01-20 | |||
| Sipariş durumu OrderStatus | Üretim siparişinin oluşturuldu, serbest bırakıldı veya teknik olarak tamamlandı gibi mevcut işlem durumu. | ||
| Açıklama Sipariş durumu, üretim siparişinin yaşam döngüsündeki genel aşamasını gösterir. Siparişe uygulanan çeşitli sistem ve kullanıcı durumlarının özetidir. Yaygın durumlar arasında CRTD (Oluşturuldu), REL (Serbest bırakıldı), CNF (Teyit edildi), TECO (Teknik olarak tamamlandı) ve CLSD (Kapandı) bulunur. Siparişlerin mevcut durumunu analiz etmek, devam eden işleri anlamaya yardımcı olur. Process Mining çalışmalarında bu durumlar arasındaki geçişleri zaman içinde izlemek, aktivite günlüğünü oluşturur ve süreç akışını ve her aşamada geçen süreyi ayrıntılı biçimde görmenizi sağlar. Neden önemli? Siparişin yaşam döngüsündeki aşamayı genel hatlarıyla gösterir ve Process Mining için aktivite sırasını belirlemenin temelini oluşturur. Nereden alınır? AFKO’daki nesne numarası (OBJNR alanı) üzerinden bağlanan JEST tablosunda kayıtlı sistem durumundan elde edilir. Örnekler CRTDRELTECOCLSD | |||
| Üretim yeri Plant | Üretim siparişinin yürütüldüğü tesis veya konum. | ||
| Açıklama Üretim yeri, SAP’de bir üretim tesisini veya sahasını temsil eden organizasyon birimidir. Her üretim siparişi, üretim faaliyetlerinin yürütüleceği belirli bir üretim yerine atanır. Bu öznitelik, farklı üretim yerlerini karşılaştırmalı analiz etmek için önemlidir. Kuruluşlar süreç verilerini üretim yerine göre ayırarak performansı kıyaslayabilir, tesise özgü sorunları veya iyi uygulamaları belirleyebilir ve verimlilik, kapasite ya da standartlara uyum konusundaki bölgesel farklılıkları anlayabilir. Neden önemli? Farklı üretim tesislerinin performansını karşılaştırmanızı, iyi uygulamaları belirleyip paylaşmanızı ve konuma özgü sorunları ele almanızı sağlar. Nereden alınır? Üretim siparişi başlık tablosu AFKO’da (DWERK alanı) bulunur. Örnekler 100017102000 | |||
| Bitiş zamanı EndTime | Belirli bir aktivitenin veya olayın ne zaman tamamlandığını gösteren zaman damgası. | ||
| Açıklama Bu öznitelik, kaydedilen her olayın tamamlanma tarihini ve saatini içerir. Aktivite sürelerini belirlemek için başlangıç zamanını tamamlar. Tek tek aktivitelerin işlem süresini doğru hesaplamak için bitiş zamanı gereklidir. Bu bilgi, kapasite ve kaynak kullanımını analiz etmenin temel girdilerindendir. Aktif çalışma süresini boşta veya beklemede geçen süreden ayırarak darboğazları daha doğru belirlemenizi sağlar. Neden önemli? Aktivite sürelerini doğru hesaplamanızı sağlar. Bu, kaynak verimliliğini analiz etmek ve süreç darboğazlarını belirlemek için gereklidir. Nereden alınır? Yürütme adımları için teyit tablolarında (AFRU) bulunur. Anlık gerçekleşen diğer olaylarda bitiş zamanı, başlangıç zamanıyla aynı olabilir. Örnekler 2023-10-26T09:45:00Z2023-10-26T15:00:00Z2023-10-27T10:30:00Z | |||
| Kullanıcı User | Üretim siparişine ait bir olayı oluşturan, değiştiren veya teyit eden kullanıcının sistem kimliği. | ||
| Açıklama Bu öznitelik, siparişin serbest bırakılması veya teyit girilmesi gibi belirli bir işlem ya da durum değişikliğiyle ilişkili SAP kullanıcı kimliğini kaydeder. Sistem içinde gerçekleştirilen işlemlerin izlenmesini sağlar. Aktiviteleri kullanıcıya göre analiz etmek; iş yükünün nasıl dağıldığını anlamaya, eğitim ihtiyaçlarını belirlemeye ve prosedürlere uyumu sağlamaya yardımcı olur. Örneğin, belirli kullanıcıların plan değişikliklerinde sık sık yer alıp almadığını veya gecikmelerin belirli ekiplerle ilişkili olup olmadığını gösterebilir. Neden önemli? Hesap verebilirliği sağlar; iş yükünü, kullanıcı davranışlarını ve olası eğitim ihtiyaçlarını analiz etmenize imkân verir. Nereden alınır? Genellikle değişiklik belgesi başlıklarında (CDHDR, UNAME alanı) veya teyit kayıtlarında (AFRU, personel numarası için PERNR alanı) bulunur. Örnekler CB9980000021JSMITHPLANNER01 | |||
| Malzeme kullanılabilirliği durumu MaterialAvailabilityStatus | Üretim siparişi için gereken tüm malzemelerin mevcut olup olmadığını gösterir. | ||
| Açıklama Bu durum, üretim siparişi için yapılan malzeme kullanılabilirliği kontrolünün sonucunu gösterir. Tüm malzemelerin mevcut olduğunu, bazılarının eksik olduğunu veya kontrolün henüz yapılmadığını belirtebilir. 'Eksik' durumu, olası gecikmelerin önemli bir göstergesidir. Bu öznitelik, Malzeme eksikliğinin etkisini analiz etme Dashboardu için gereklidir. Eksiklik durumunu siparişin serbest bırakılmasıyla üretimin başlaması arasındaki süreyle ilişkilendirerek malzeme bulunmamasından kaynaklanan gecikmeleri ölçmenize yardımcı olur. Bu metriği iyileştirmek, üretim akışını daha sorunsuz hale getirir. Neden önemli? Siparişin serbest bırakılmasıyla üretimin başlaması arasındaki gecikmeleri doğrudan açıklar ve tedarik zinciri sorunlarının üretime etkisini ölçmenize yardımcı olur. Nereden alınır? Bu bir durum bilgisidir ve genellikle malzeme bileşenlerinin toplu durumundan elde edilir. JEST sistem durumu tablosunda 'MSPT' (Malzeme eksikliği) gibi durumlarla bulunabilir. Örnekler MevcutEksikKontrol edilmedi | |||
| Planlanan başlangıç tarihi PlannedStartDate | İlk plana göre üretim siparişinin başlamasının planlandığı tarih. | ||
| Açıklama Planlanan başlangıç tarihi, siparişe ait üretim faaliyetlerinin başlamasının beklendiği hedef tarihtir. Çizelgeleme sürecinin temel çıktılarından biridir. Bu öznitelik, programa uyum analizinde başlangıç noktası oluşturur. Planlanan başlangıç tarihini gerçek başlangıç zamanıyla karşılaştırarak malzeme hazırlığı veya siparişin serbest bırakılması gibi üretim öncesi aşamalardaki gecikmeleri anlayabilirsiniz. Bu gecikmeler, tüm üretim takvimini etkileyebilir. Neden önemli? Başlangıç zamanına uyumu ölçmek için temel oluşturur; siparişin serbest bırakılması ve malzeme bulunabilirliği gibi üretim öncesi aşamalardaki gecikmeleri belirlemenizi sağlar. Nereden alınır? Üretim siparişi başlık tablosu AFKO’da (GSTRP alanı) bulunur. Örnekler 2023-11-102023-11-252024-01-15 | |||
| Sipariş türü OrderType | Üretim siparişinin amacını belirleyen ve nasıl işleneceğini kontrol eden sınıflandırma. | ||
| Açıklama Sipariş türü, SAP PP’de üretim siparişinin sistem tarafından nasıl işleneceğini belirleyen temel bir yapılandırma unsurudur. Numara aralıklarını, ana veri seçimini, maliyetlendirme parametrelerini ve mahsuplaşma kurallarını kontrol eder. Standart üretim siparişleri, yeniden çalışma siparişleri ve prototip siparişleri buna örnektir. Sipariş türüne göre yapılan analizler, farklı üretim süreçlerinin performansını ve akışını karşılaştırmanızı sağlar. Yeniden çalışma siparişlerinin çok daha uzun sürüp sürmediğini veya belirli sipariş türlerinde plan değişikliklerinin daha sık yaşanıp yaşanmadığını ortaya çıkararak hedefli süreç iyileştirmeleri için yararlı bilgiler sunar. Neden önemli? Analizi siparişin iş amacına göre ayırmanızı, standart üretim, yeniden çalışma ve diğer süreçleri karşılaştırmanızı sağlar. Nereden alınır? Üretim siparişi başlık tablosu AFKO’da (AUART alanı) bulunur. Örnekler PP01PP03ZP01 | |||
| Teyit edilen miktar TotalConfirmedQuantity | Sipariş kapsamında üretildiği teyit edilen toplam malzeme miktarı. | ||
| Açıklama Bu öznitelik, üretim teyitleriyle bildirilen mamul veya yarı mamul miktarlarının toplamını gösterir. Siparişin tamamlanma hedefine doğru ilerleyişini izler. Teyit edilen miktarı planlanan miktarla karşılaştırmak, üretim ilerlemesini izlemeye ve verim ya da miktar farklılıklarını belirlemeye yardımcı olur. Üretim çıktısını ölçmenin temel yollarından biridir ve hurda oranı ile verimlilik dahil çeşitli performans hesaplamalarında kullanılır. Neden önemli? Üretim siparişinin gerçek çıktısını izler; ilerlemeyi takip etmek, verimi hesaplamak ve farklılıkları belirlemek için gereklidir. Nereden alınır? AFRU’daki teyit kayıtlarından (verim miktarı için LMNGA alanı) toplanır. Örnekler 9801000501200 | |||
| Üretim önceliği ProductionPriority | Üretim siparişinin aciliyetini veya önemini belirtmek için atanan kod ya da değer. | ||
| Açıklama Planlamacılar, özellikle kaynakların kısıtlı olduğu durumlarda siparişlerin sırasını ve önceliğini belirlemek için üretim önceliğini kullanır. Önceliği yüksek siparişlerin, düşük öncelikli siparişlerden önce işlenmesi beklenir. Bu özniteliği analiz ederek atanan önceliklere üretim sahasında uyulup uyulmadığını değerlendirebilirsiniz. Üretim önceliklendirme tutarlılığı Dashboardu, tutarsızlıkları belirlemek için işlem sırasını atanan önceliklerle karşılaştırır. Böylece çizelgeleme disiplini ve planlama ile uygulama arasındaki uyum artırılabilir. Neden önemli? Üretim çizelgelemesinin iş önceliklerine uyup uymadığını belirlemenizi ve önemli siparişlerin gerektiği gibi öne alınmasını sağlar. Nereden alınır? Bu genellikle özel bir alandır veya diğer sipariş parametrelerine dayanır. Belirli konumu, yapılandırmaya bağlıdır. Örnekler YüksekOrtaDüşük15 | |||
| Yeniden çalışma yapıldı mı IsRework | Üretim siparişinde yeniden çalışma yapıldığını veya üretim başladıktan sonra önemli plan değişiklikleri gerçekleştiğini belirten işaret. | ||
| Açıklama Bu boole öznitelik, üretim başladıktan sonra düzeltici işlemlerden geçen veya planı değiştirilen üretim siparişlerini belirlemek için türetilir. Açık bir yeniden çalışma aktivitesiyle ya da 'Üretim başladı' olayından sonra gerçekleşen 'Üretim planı güncellendi' olayıyla tetiklenebilir. Bu işaret, Üretimde yeniden çalışma oranı KPI’ını hesaplamak ve Üretimde yeniden çalışma ve revizyonlar Dashboardu için gereklidir. Sorunlu vakaları kolayca filtreleyip analiz etmenizi, maliyetli yeniden çalışmaya yol açan kalite sorunlarının veya süreç sapmalarının temel nedenlerini bulmanızı sağlar. Neden önemli? Yeniden çalışma yapılan vakaları ayırarak kalite sorunlarını, süreç sapmalarını ve bunlarla ilişkili maliyetleri anlamaya ve azaltmaya yönelik hedefli analiz yapmanızı sağlar. Nereden alınır? Hesaplanan alan. Aynı vaka içinde 'Üretim başladı' aktivitesinden sonra 'Üretim planı güncellendi' aktivitesi gerçekleşirse veya belirli bir yeniden çalışma sipariş türü kullanılırsa true olarak ayarlanır. Örnekler truefalse | |||
| Zamanında tamamlandı mı IsOnTime | Üretim siparişinin planlanan bitiş tarihinde veya bu tarihten önce tamamlandığını belirten işaret. | ||
| Açıklama Hesaplanan bu boole öznitelik, gerçek tamamlanma tarihini planlanan bitiş tarihiyle karşılaştırarak programa uyumu doğrudan ölçer. Her üretim siparişinin zamanında tamamlanıp tamamlanmadığını açıkça gösterir. Bu öznitelik, Üretim programına uyum oranı KPI’ının temelini oluşturur. Siparişleri zamanında tamamlananlar ve gecikenler olarak kolayca ayırmanızı, gecikmelerle ilişkili ortak özellikleri veya süreç yollarını belirlemenizi sağlar. Neden önemli? Her sipariş için programa uyumu açık ve basit biçimde ölçer, gecikmelerin temel nedenlerini analiz etmenizi kolaylaştırır. Nereden alınır? Hesaplanan alan. 'Sipariş teknik olarak tamamlandı' aktivitesinin zaman damgası, 'Planlanan bitiş tarihi' özniteliğindeki tarihe eşit veya daha erkense true olarak ayarlanır. Örnekler truefalse | |||
Üretim planlaması etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Emir teknik olarak tamamlandı | Bu idari kapatma adımı, mal hareketleri veya teyitler gibi emre ilişkin başka lojistik değişiklikleri önler. Lojistik açıdan emir tamamlanmış kabul edilir. | ||
| Neden önemli? TECO, üretim sürecinin kesin bitiş noktasıdır ve toplam üretim emri çevrim süresini hesaplamak için önemlidir. Tüm lojistik faaliyetlerin tamamlandığını ve emrin finansal mahsuplaşmaya hazır olduğunu gösterir. Nereden alınır? Kullanıcı durumu TECO (Teknik olarak tamamlandı) olarak ayarladığında başlatılır. Olay, ilgili zaman damgasıyla birlikte JCDS tablosuna durum değişikliği olarak kaydedilir. Kaydedin JCDS tablosunda 'TECO' durumuna geçişin zaman damgası. Olay türü inferred | |||
| Mal girişi kaydedildi | Bu olay, tamamlanmış ürünün üretim hattından envantere alındığını kaydeder. Üretilen malzemenin stok miktarını resmen artırır. | ||
| Neden önemli? Bu önemli aşama, üretim çıktısının tamamlandığını gösterir. Zamanında teslimatı ve toplam çevrim süresini ölçerken genellikle üretim döngüsünün sonu olarak kabul edilir. Nereden alınır? Bu, genellikle 101 hareket türüyle MSEG (kalem düzeyi) ve MKPF (başlık düzeyi) malzeme belgesi tablolarına kaydedilen açık bir finansal kayıttır. Bu belgeler üretim emriyle bağlantılıdır. Kaydedin Emirle bağlantılı ve hareket türü 101 olan malzeme belgesini MSEG tablosunda bulun. Olay türü explicit | |||
| Son teyit girildi | Bu etkinlik, üretim emrinin rotasındaki son operasyonun teyit edilmesini gösterir. Planlanan tüm üretim adımlarının üretim sahasında tamamlandığı anlamına gelir. | ||
| Neden önemli? Son teyit, fiziksel üretim işinin bittiğini gösteren önemli bir aşamadır. Nihai mal girişi öncesinde üretim sahasındaki çevrim süresini daha doğru ölçmek için genellikle bitiş noktası olarak kullanılır. Nereden alınır? AFRU tablosundaki teyit verilerinden çıkarım yapılır. Son operasyon sırasına (AFVC-VPLNR) ait ve 'son teyit' göstergesi (AFRUD-AUERU) etkin olan teyit kaydı belirlenir. Kaydedin AFRU tablosunda son teyit göstergesi etkin olan son operasyon teyidini bulun. Olay türü inferred | |||
| Üretim başladı | Emir için fiziksel üretim faaliyetlerinin başladığını gösterir. Genellikle üretim sahasındaki ilk teyitten veya emre bağlı ilk bileşen malzeme çıkışından çıkarım yapılır. | ||
| Neden önemli? Bu etkinlik, planlamadan uygulamaya geçişi gösterir. Fiili başlangıç tarihini planlanan başlangıç tarihiyle karşılaştırarak planlara uyumu izlemek için gereklidir. Nereden alınır? Bu olay sistemde doğrudan kaydedilmez, çıkarımla belirlenir. Genellikle emirle ilişkili malzeme hareketi kaydının (MSEG tablosu, hareket türü 261) veya zaman teyidi kaydının (AFRU tablosu) en erken zaman damgasından elde edilir. Kaydedin Emir için AFRU (teyitler) veya MSEG (malzeme hareketleri) tablolarındaki en erken zaman damgası. Olay türü inferred | |||
| Üretim emri oluşturuldu | Bu, sistemde üretim emrinin ilk kez oluşturulmasıdır. Emir, belirli miktarda ürün üretmek için verilen resmi talep niteliğindedir. Kullanıcı yeni bir emri kaydedip ilk durumunu CRTD (Oluşturuldu) olarak belirlediğinde bu olay açıkça kaydedilir. | ||
| Neden önemli? Üretim emrinin yaşam döngüsünün başlangıcını gösterir. Oluşturulma ile serbest bırakılma arasındaki süreyi analiz etmek, üretim resmen planlanmadan önceki idari veya planlama gecikmelerini belirlemeye yardımcı olur. Nereden alınır? Bu olay, oluşturulma tarihi (ERDAT) ile AUFK tablosuna (Emir ana verileri) kaydedilir. Oluşturulma durumu (CRTD), emrin nesne numarası (OBJNR) üzerinden bağlantılı JEST ve JCDS tablolarında tutulur. Kaydedin AUFK-ERDAT alanındaki zaman damgası veya JCDS tablosunda 'CRTD' durumuna geçiş kaydı. Olay türü explicit | |||
| Üretim emri serbest bırakıldı | Bu önemli aşamada üretim emri onaylanır ve üretim sahasında yürütülmeye hazır hale gelir. Serbest bırakma işlemiyle malzeme çıkışları, teyitler ve diğer uygulama adımları başlatılabilir. | ||
| Neden önemli? Bu olay, üretimin resmen yürütülmeye başladığını gösterir ve çevrim sürelerini ölçmek için önemli bir noktadır. Oluşturulma ile serbest bırakılma arasındaki süre, üretim öncesi verimliliğin temel KPI’larından biridir. Nereden alınır? Kullanıcı veya sistem işi serbest bırakma işlemini başlatır ve REL durumu atanır. Bu durum değişikliği, zaman damgasıyla birlikte JCDS tablosuna kaydedilir. Serbest bırakma tarihi çoğunlukla AFKO-FTRMI alanında da tutulur. Kaydedin JCDS tablosunda 'REL' durumuna geçişin zaman damgası. Olay türü inferred | |||
| Üretim planı güncellendi | Üretim emri serbest bırakıldıktan sonra miktar, tarihler veya malzeme listesi gibi alanlarda yapılan önemli bir değişikliği ifade eder. Bu değişiklik, değişiklik belgeleri analiz edilerek belirlenir. | ||
| Neden önemli? Sık yapılan değişiklikler, planlama istikrarsızlığına veya talepteki dalgalanmalara işaret edebilir. Bu etkinlik, Üretim Planı Değişiklik Oranı KPI’ının temelini oluşturur ve süreç değişkenliğinin kaynaklarını belirlemeye yardımcı olur. Nereden alınır? Üretim emri nesnesi (AUFK veya AFPO) için CDHDR (Değişiklik belgesi başlığı) ve CDPOS (Değişiklik belgesi kalemleri) tablolarına kaydedilen değişiklik günlüklerinden çıkarım yapılır. Serbest bırakma tarihinden sonra yapılan değişiklikler güncelleme olarak değerlendirilir. Kaydedin Serbest bırakma olayından sonra CDHDR/CDPOS tablolarında temel alanlardaki (ör. miktar, tarihler) değişiklikleri belirleyin. Olay türü inferred | |||
| Emir finansal olarak kapatıldı | Emrin mahsuplaştırıldığı ve başka finansal kayıtların yapılamadığı son kapatma adımıdır. Kontrol ve muhasebe açısından emrin yaşam döngüsünün sona erdiğini gösterir. | ||
| Neden önemli? Bu etkinlik, yalnızca üretim analizinin kapsamı dışında kalsa da süreci baştan sona görmenizi sağlar. Lojistik tamamlanma (TECO) ile finansal kapanış arasındaki süreyi analiz etmeye yardımcı olabilir. Nereden alınır? Kullanıcı durumu CLSD (Kapalı) olarak ayarladığında başlatılır. Olay, ilgili zaman damgasıyla birlikte JCDS tablosuna durum değişikliği olarak kaydedilir. Kaydedin JCDS tablosunda 'CLSD' durumuna geçişin zaman damgası. Olay türü inferred | |||
| Kapasite gereksinimleri planlandı | Bu etkinlikte üretim emrinin operasyonları planlanır ve gerekli iş merkezlerinde kapasite bulunup bulunmadığı kontrol edilir. Sistem, iş merkezlerinin kapasite yüklerini değerlendirir ve yapılandırılmışsa yükleri dengeler; böylece üretim tarihlerini belirler. | ||
| Neden önemli? Bu adım, uygulanabilir bir üretim planı oluşturmak için önemlidir. Süresini ve sonuçlarını analiz etmek, kapasite darboğazlarını belirlemeye ve kaynak planlamasının doğruluğunu artırmaya yardımcı olur. Nereden alınır? Genellikle emrin planlandığını gösteren SETC (Planlama yapıldı) gibi bir sistem durumundan çıkarım yapılır. Planlanan başlangıç ve bitiş tarihlerinin (AUFK-GSTRP, AUFK-GLTRP) doldurulmuş olması da bu etkinliğin tamamlandığını gösterir. Kaydedin AUFK/AFKO tablolarındaki planlanan tarihlerin doldurulmasından veya JEST tablosundaki planlamayla ilgili bir durumdan çıkarım yapılır. Olay türü inferred | |||
| Malzeme bulunabilirliği kontrol edildi | Bu etkinlik, üretim emri için gereken tüm bileşenlerin gerekli miktarda ve zamanında bulunup bulunmadığının sistem veya kullanıcı tarafından kontrol edilmesini ifade eder. Genellikle emir oluşturulduğunda ya da serbest bırakıldığında otomatik olarak veya elle yapılan bu kontrol, emir durumunu günceller. | ||
| Neden önemli? Malzeme eksikliklerini erkenden belirlemek, proaktif planlama için önemlidir. Bu etkinliği izlemek, malzeme bulunabilirliğinin emirleri serbest bırakma ve üretime zamanında başlama olanağını nasıl etkilediğini anlamaya yardımcı olur. Nereden alınır? Emir durumundan çıkarım yapılır. MACM (Malzeme tahsis edildi) gibi bir durum veya malzeme bulunabilirliği tarihindeki (AFKO-MSERF) değişiklik, kontrolün yapıldığını gösterir. Malzeme eksikliği durumunun (MSPT) bulunmaması da malzemenin mevcut olduğu anlamına gelebilir. Kaydedin Malzeme tahsisiyle ilgili durum değişikliklerinden veya COMAC işleminin yürütülmesinden çıkarım yapılır. Olay türü inferred | |||
| Malzeme eksikliği yaşandı | Bu olay, gerekli bileşenlerden birinin veya birkaçının bulunmaması nedeniyle üretim sürecinin etkilendiğini ya da durduğunu gösterir. Sistem, bunu belirtmek için emre özel bir durum atar. | ||
| Neden önemli? Malzeme eksikliklerini izlemek, Malzeme Eksikliğinin Etki Analizi için önemlidir. Tedarik zinciri sorunlarının yol açtığı gecikmeleri ölçmeye ve malzeme planlamasını iyileştirmeye yardımcı olur. Nereden alınır? Üretim emri için 'MSPT' (Malzeme eksikliği) durumunun etkinleştirilmesinden çıkarım yapılır. Bu durum değişikliğinin zaman damgası JCDS tablosunda bulunabilir. Kaydedin JCDS tablosunda 'MSPT' durumuna geçişin zaman damgası. Olay türü inferred | |||
| Plansız duruş yaşandı | Bu hesaplanan olay, üretimin yürütüldüğü aşamada yaşanan önemli bir atıl süreyi ifade eder. Sistemde doğrudan kaydedilen bir olay değildir; art arda gelen üretim teyitleri arasındaki uzun zaman aralıkları belirlenerek hesaplanır. | ||
| Neden önemli? Makine arızası veya kalite sorunu gibi plansız kesintileri izlemeye yardımcı olur. Sık veya uzun duruşları belirlemek, üretim sahasının istikrarını ve üretim hacmini artırmak için önemlidir. Nereden alınır? AFRU tablosundaki art arda gelen 'Üretim teyidi girildi' etkinliklerinin zaman damgaları analiz edilerek hesaplanır. Önceden belirlenen eşiği aşan bir aralık, plansız duruş olarak işaretlenir. Kaydedin Ardışık teyitlerin zaman damgaları (AFRU-BUDAT/UZEIT) arasındaki süre farkını hesaplayın. Olay türü calculated | |||
| Üretim emri iptal edildi | Üretim emrinin tamamlanmadan önce iptal edilmesini ifade eder. Bu, sürecin alternatif ve başarısız bitiş durumudur. | ||
| Neden önemli? İptal edilen emirleri analiz etmek; talep planlaması, ana veriler veya satış sürecindeki sorunları ortaya çıkarabilir. İptal oranlarının yüksek olması, ele alınması gereken sistemik sorunlara işaret edebilir. Nereden alınır? JCDS tablosunda CACL (İptal) sistem durumunun atanmasından çıkarım yapılır. Alternatif olarak silme göstergesi (AUFK-LOEKZ) de iptali belirtebilir. Kaydedin JCDS tablosunda 'CACL' durumuna geçişin veya AUFK tablosunda silme göstergesinin atanmasının zaman damgası. Olay türü inferred | |||
| Üretim teyidi girildi | Üretim emrindeki belirli bir operasyonun ilerleme durumunun kaydedilmesini ifade eder. Bu kayıt; üretilen miktarı, hurdayı ve iş merkezinde harcanan süreyi içerir. | ||
| Neden önemli? Teyitler, üretim sahasındaki ilerlemeyi anlık olarak görmenizi sağlar ve üretim durumunu izlemek için önemlidir. Teyitlerin sıklığını ve zamanlamasını analiz etmek, akışı izlemeye ve operasyonlar arasındaki gecikmeleri belirlemeye yardımcı olur. Nereden alınır? Her teyit, zaman damgası (BUDAT, UZEIT) ve operasyona ilişkin ayrıntılarla AFRU (Emir tamamlama teyitleri) tablosuna ayrı bir kayıt olarak açıkça yazılır. Kaydedin AFRU tablosunda belge olarak kaydedilir. Olay türü explicit | |||
Veri çıkarma rehberleri
Adımlar
- Ön koşulları doğrulayın: Gerekli Core Data Services (CDS) görünümlerine erişmek için SAP S/4HANA’da uygun yetkilere sahip bir kullanıcınız olduğundan emin olun. Gerekli görünümler şunlardır:
I_ProductionOrder,I_ProdOrdConfirmation,I_MaterialDocumentItem,I_ObjectStatusveI_ChangeDocument. Ayrıca SAP HANA veritabanına bağlı bir SQL çalıştırma ortamına da ihtiyacınız vardır. SAP HANA Studio, DBeaver veya harici bir ETL aracı kullanabilirsiniz. - Sistem bilgilerini belirleyin:
SourceSystemözniteliği için kullanacağınız kaynak sistem tanımlayıcısını not edin. Bu, verinin kaynağını belirtmek üzere tanımladığınız mantıksal bir addır; örneğinS4H_PROD. - Veri çıkarma parametrelerini belirleyin: Sorguyu çalıştırmadan önce temel parametreleri tanımlayın. Bunlar, veri çıkarma döneminin başlangıç ve bitiş tarihlerini ve veri kapsamını sınırlamak için
PlantveyaProductionOrderTypegibi filtreleri içerir. - SQL sorgusunu hazırlayın:
querybölümünde verilen SQL sorgusunun tamamını seçtiğiniz SQL istemcisine veya veri çıkarma aracına kopyalayın. - Yer tutucuları yapılandırın: Sorgudaki yer tutucu değerleri kendi parametrelerinizle değiştirin. Bunlar arasında
_StartDate,_EndDateve kaynak sistem tanımlayıcısı bulunur.Unplanned Halt Occurredetkinliği için eşiği (örneğin,'24:00:00') iş süreçlerinize göre ayarlayın. - Veri çıkarma sorgusunu çalıştırın: Yapılandırdığınız SQL betiğini SAP S/4HANA sisteminin veritabanında çalıştırın. Uzun bir dönemi kapsayan büyük veri setlerinde performans sorunlarını önlemek için verileri ay ay gibi daha küçük parçalar halinde çıkarmayı değerlendirin.
- Verileri ilk kez gözden geçirin: Sorgu tamamlandığında çıktıyı kısaca inceleyin. Satır sayısını kontrol edin, tüm sütunların bulunduğundan emin olun ve
Aktivitesütununda beklenen çeşitli etkinliklerin yer aldığını doğrulayın. - Verileri doğrulayın: Daha ayrıntılı doğrulama için
validationStepsbölümündeki adımları izleyin. Çıkarılan olay günlüğünün doğruluğunu teyit etmek üzere birkaç üretim siparişini SAP sistemindeki ayrıntılarıylaCO03işlemi üzerinden karşılaştırın. - CSV olarak dışa aktarın: Sonuç kümesini CSV dosyasına aktarın. Karakter sorunlarını önlemek için dosya kodlamasının UTF-8 olduğundan emin olun.
- Yüklemeye hazırlanın: CSV sütun başlıklarının gerekli öznitelik adlarıyla eşleştiğini doğrulayın:
ProductionOrder,Activity,StartTime,SourceSystemveLastDataUpdate. Süreç analizi aracına yüklemeden önceStartTimesütununun ISO 8601 (YYYY-MM-DDTHH:MM:SS) gibi standart bir zaman damgası biçiminde olduğundan emin olun.
Yapılandırma
- Temel CDS görünümleri: Veri çıkarma işlemi, temel SAP tablolarının iş süreçlerine göre düzenlenmiş görünümünü sunan standart CDS görünümlerinden yararlanır. Önemli görünümler şunlardır:
I_ProductionOrder: Üst bilgi düzeyindeki veriler ve oluşturma etkinlikleri için.I_ProdOrdConfirmation: Tüm operasyon onayları için.I_MaterialDocumentItem: Mal çıkışı ve mal girişi gibi mal hareketleri için.I_ObjectStatus: Üretim siparişinin durum değişikliklerini okumak için.I_ChangeDocumentve ilişkili görünümler: Önemli sipariş alanlarındaki değişiklikleri yakalamak için.
- Tarih aralığı filtresi: Veri hacmini yönetmek için tarih aralığı filtresi uygulamak büyük önem taşır. Verilen sorgu, üretim siparişinin
CreationDatealanını kullanır. İlk analiz için genellikle 3 ila 6 aylık veri aralığı uygundur. - Temel iş filtreleri: Veri setini daha da daraltmak için temel organizasyon veya ana veri özniteliklerine göre filtre uygulayın. Sık kullanılan filtreler şunlardır:
Plant: Belirli bir üretim tesisini analiz etmek için.ProductionOrderType: Standart üretim, yeniden çalışma veya diğer sipariş türlerine odaklanmak için.CompanyCode: Verileri belirli bir tüzel kişilikle sınırlamak için.
- Plansız duruş eşiği: Sorgu,
Unplanned Halt Occurredetkinliklerini belirlemek için mantık içerir. Bu mantık, operasyonlar arasındaki önemli sayılacak zaman aralığını tanımlayan bir eşik gerektirir. Bu değeri tipik üretim çevrim sürelerine ve iş kurallarınıza göre yapılandırın. - Yetkilendirme ön koşulları: Sorguyu çalıştıran SAP kullanıcısının tüm CDS görünümlerini ve bunların temel tablolarını görüntüleme yetkisi olmalıdır. Yetkiler eksikse sonuç kümesi boş veya eksik olur.
a Örnek sorgu sql
WITH BaseOrders AS (
SELECT
ProductionOrder,
Material AS MaterialNumber,
ProductionPlant AS Plant,
CreationDate,
CreationTime,
BasicEndDate AS PlannedEndDate,
TechnicalCompletionDate,
LastChangeDateTime
FROM I_ProductionOrder
-- P_CreationDateFrom and P_CreationDateTo are placeholders for your date range
WHERE CreationDate BETWEEN '[_StartDate]' AND '[_EndDate]'
-- Add other filters as needed, for example:
-- AND ProductionPlant IN ('[Your_Plant_1]', '[Your_Plant_2]')
-- AND ProductionOrderType = '[Your_Order_Type]'
)
SELECT
bo.ProductionOrder,
'Production Order Created' AS Activity,
TO_TIMESTAMP(bo.CreationDate || ' ' || LPAD(bo.CreationTime, 6, '0'), 'YYYYMMDD HH24MISS') AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
'CRTD' AS OrderStatus
FROM BaseOrders bo
UNION ALL
-- System status changes like Released, Technically Completed, Closed, Cancelled, Material Shortage
SELECT
os.ObjectInternalID AS ProductionOrder,
CASE os.SystemStatus
WHEN 'I0002' THEN 'Production Order Released'
WHEN 'I0043' THEN 'Material Availability Checked' -- Status: MACM (Material committed)
WHEN 'I0045' THEN 'Order Technically Completed'
WHEN 'I0046' THEN 'Order Financially Closed'
WHEN 'I0047' THEN 'Production Order Cancelled'
WHEN 'I0010' THEN 'Material Shortage Occurred' -- Status: MSPT (Material shortage)
END AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus IN ('I0002', 'I0043', 'I0045', 'I0046', 'I0047', 'I0010') AND os.StatusIsInactive = ''
UNION ALL
-- Production Started, inferred from the first goods issue or first confirmation
SELECT
s.ProductionOrder,
'Production Started' AS Activity,
s.StartEventTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
s.MaterialNumber,
s.Plant,
NULL AS WorkCenter,
s.PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
bo.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime)) AS StartEventTime,
ROW_NUMBER() OVER(PARTITION BY bo.ProductionOrder ORDER BY MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime))) as rn
FROM BaseOrders bo
LEFT JOIN I_MaterialDocumentItem gm ON bo.ProductionOrder = gm.ProductionOrder AND gm.GoodsMovementType IN ('261', '262') -- Goods Issue
LEFT JOIN I_ProdOrdConfirmation cf ON bo.ProductionOrder = cf.ProductionOrder
WHERE gm.ProductionOrder IS NOT NULL OR cf.ProductionOrder IS NOT NULL
GROUP BY bo.ProductionOrder, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate
) s
WHERE s.rn = 1
UNION ALL
-- Production Confirmation Entered (for each confirmation)
SELECT
cf.ProductionOrder,
'Production Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
UNION ALL
-- Final Confirmation Entered
SELECT
cf.ProductionOrder,
'Final Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
WHERE cf.IsFinalConfirmation = 'X'
UNION ALL
-- Unplanned Halt Occurred (derived from gaps between confirmations)
SELECT
ProductionOrder,
'Unplanned Halt Occurred' AS Activity,
PreviousConfirmationTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
MaterialNumber,
Plant,
WorkCenter,
PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
cf.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
cf.WorkCenter,
cf.ConfirmationDateTime,
LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime) AS PreviousConfirmationTime,
(SECONDS_BETWEEN(LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime), cf.ConfirmationDateTime) / 3600.0) as HoursDiff
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
) AS gaps
WHERE gaps.HoursDiff > 24 -- Configurable threshold in hours, e.g. 24 hours
UNION ALL
-- Goods Receipt Posted
SELECT
gm.ProductionOrder,
'Goods Receipt Posted' AS Activity,
gm.PostingTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_MaterialDocumentItem gm
JOIN BaseOrders bo ON gm.ProductionOrder = bo.ProductionOrder
WHERE gm.GoodsMovementType = '101'
UNION ALL
-- Capacity Requirements Planned (using Release event as a proxy)
SELECT
os.ObjectInternalID AS ProductionOrder,
'Capacity Requirements Planned' AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus = 'I0002' AND os.StatusIsInactive = '' -- Status 'REL' (Released)
UNION ALL
-- Production Plan Adjusted
SELECT
ch.ObjectValue AS ProductionOrder,
'Production Plan Adjusted' AS Activity,
ch.CreationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL as WorkCenter,
bo.PlannedEndDate,
NULL as OrderStatus
FROM I_ChangeDocument AS ch
JOIN BaseOrders bo ON ch.ObjectValue = bo.ProductionOrder
WHERE ch.ChangeDocumentObject = 'PRODORDER'
-- Monitoring changes in key fields like Total Quantity (GAMNG) or Basic Finish Date (GLTRP)
AND ch.FieldName IN ('GAMNG', 'GLTRP')
GROUP BY ch.ObjectValue, ch.CreationDateTime, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate Adımlar
- Üretim siparişi verilerini içeren SAP HANA şemasına doğrudan okuma erişiminiz olduğunu doğrulayın. Şema sahibini, istemci kullanımını, zaman damgası kurallarını ve yetkilendirme modelini belirleyin. SAP HANA Database Explorer’ı veya onaylı bir SQL istemcisini kullanın. Sorguyu kesinleştirmeden önce ilgili SAP S/4HANA sürümünü ve etkinleştirilmiş üretim planlama kapsamını doğrulayın.
- Bağlantı dizesini, kimlik bilgilerini, şema adını, istemci değerini, veri çıkarma başlangıç ve bitiş tarihlerini ve şirkete özel filtreleri yapılandırın. Aşağıdaki sorgu AUFK, AFPO, JEST ve JCDS tablolarını kullanır; ayrıca AFKO, AFVC, AFRU, RESB, MSEG, CDHDR ve CDPOS tablolarına başvurur. Uzantılar, uyumluluk görünümleri ve sürüme bağlı farklılıklar olabileceğinden, çalıştırmadan önce sisteminizde bu nesnelerin ve alan tanımlarının kullanılabilir olduğunu doğrulayın.
- Sorguyu SAP HANA Database Explorer’da veya onaylı SQL çalıştırma aracınızda çalıştırın. Sorgu, açıkça çıkarılan her etkinlik için bir satır oluşturur ve etkinlik satırlarını UNION ALL ile birleştirir. Etkinlikleri çıkarsamak için ProcessMind’e dayanmaz.
- Kaynak verileri inceleyin ve gerektiğinde işaretlenmiş, sisteme özel ifadeleri uyarlayın. Özellikle malzeme kullanılabilirliği, kapasite planlaması, teknik tamamlama, mali kapanış ve iptal için kullanılan durum kodlarını doğrulayın. Üretim planı ayarlamalarını belirlemek için kullanılan değişiklik belgesi nesnesini ve alan adlarını da kontrol edin.
- Zaman damgası dönüşümünü ve istemci filtrelemesini doğrulayın. SAP sistemlerinde tarih ve saat ayrı alanlarda saklanabilir; bazı kurulumlarda UTC, bazılarında ise yerel tesis veya sistem saati kullanılır. Sonuçtaki
StartTimedeğerlerinin tek bir saat dilimini kullandığından ve geçersiz ya da başlangıç niteliğindeki SAP tarihlerinin dışarıda bırakıldığından emin olun. - Sonucu ProcessMind’in desteklediği düz dosya biçiminde, tercihen CSV veya UTF-8 ayrılmış metin olarak dışa aktarın.
ProductionOrder,Activity,StartTime,SourceSystem,LastDataUpdate,MaterialNumber,Plant,WorkCenter,PlannedEndDateveOrderStatusçıktı sütun adlarını aynen koruyun. - Dışa aktarılan satırları
ProductionOrderveStartTimealanlarına göre sıralayın. Yükleme süreciniz destekliyorsa aynı zaman damgalarına sahip satırlar için belirleyici bir ikincil sıralama da kullanın. Ayrı kaynak kayıtlarını temsil eden yinelenen onaylar ve durum değişiklikleri de dahil olmak üzere her olay için bir satır bulundurun. - Dosyayı ProcessMind’e yükleyin ve
ProductionOrderalanını vaka tanımlayıcısı,Activityalanını etkinlik,StartTimealanını ise olay zaman damgası olarak eşleyin. Kalan sütunları ProcessMind içe aktarma yapılandırmasına göre olay veya vaka öznitelikleri olarak eşleyin. Sorgunun oluşturduğu 14 etkinlik etiketinin tamamının aynen korunduğunu doğrulayın.
Yapılandırma
- Tarih aralığı: Son üç ila altı aylık dönemi kullanarak başlayın. İlk testler için daha kısa bir dönem seçin; satır sayılarını ve sorgu performansını doğruladıktan sonra kapsamı genişletin.
- Veri çıkarma parametreleri:
[Your schema name],[Your client],[Extraction start date],[Extraction end date]ve[Your source system name]değerlerini kendi ortamınızdaki değerlerle değiştirin. Şirkete özel filtreleri yalnızca ilgili organizasyon alanlarını ve değerlerini doğruladıktan sonra uygulayın. - Durum yapılandırması: Sisteminizde CRTD, serbest bırakma, malzeme kullanılabilirliği, kapasite planlaması, teknik tamamlama, mali kapanış ve iptal için kullanılan SAP durum kodlarını ve durum nesnesi tanımlayıcılarını doğrulayın. Durum profilleri ve özel geliştirmeler kullanılabilir kodları değiştirebilir.
- Değişiklik belgeleri: Miktar, tarihler, ürün ağacı ve yönlendirme değişiklikleri için kullanılan üretim siparişi değişiklik belgesi nesnesini, tablo adlarını, alan adlarını ve değer biçimlerini doğrulayın. Sorgu, eşleşen CDHDR ve CDPOS kayıtlarını plan ayarlaması kanıtı olarak değerlendirir.
- Zaman damgası işlemleri: Tüm kaynak zaman damgalarını tek bir saat dilimine göre standartlaştırın. Tarih ve saat alanlarının ayrı saklanıp saklanmadığını, zaman damgalarının yerel saatle mi UTC ile mi tutulduğunu ve başlangıç tarihlerinin nasıl gösterildiğini doğrulayın.
- Performans: Veri çıkarmayı sipariş oluşturma tarihine veya dizinlenmiş başka bir üretim siparişi tarihine göre sınırlayın, istemci filtresi uygulayın, yalnızca gerekli sütunları seçin ve işlemi uygun bir raporlama zamanında çalıştırın. Büyük veri setlerini ay veya üretim siparişi aralığı bazında çıkarın ve sonuçları aşamalı olarak kaydedin.
- Veritabanı nesneleri: Seçilen şemada AUFK, AFPO, JEST, JCDS, AFKO, AFVC, AFRU, RESB, MSEG, CDHDR ve CDPOS nesnelerinin kullanılabilir ve okunabilir olduğunu doğrulayın. Sürümünüzde bir görünüm veya alan farklıysa bunun yerine ilgili, yayımlanmış ya da onaylanmış nesneyi kullanın.
- Yetkilendirmeler: Seçilen SAP HANA şemasına ve nesnelerine okuma erişiminin yanı sıra SQL çalıştırma izni de gerekir. Kurumunuzun yönetişim süreçlerine göre SAP uygulama yetkileri de gerekebilir.
- İşlevsel kapsam: Seçilen dönem için üretim planlama ve yürütme verileri, envanter hareketi verileri, durum geçmişi ve değişiklik belgeleri saklanmış olmalıdır. Arşivlenmiş veya silinmiş kayıtlar sonuçlara dahil edilmez.
- ProcessMind eşlemesi:
ProductionOrderalanını vaka tanımlayıcısı,Activityalanını etkinlik,StartTimealanını ise olay zaman damgası olarak yapılandırın. ProcessMind’in eksik etkinlikleri özniteliklerden çıkarmasını beklemeyin.
a Örnek sorgu sql
WITH
params AS (
SELECT
'[Your client]' AS mandt,
TO_DATE('[Extraction start date]', 'YYYY-MM-DD') AS date_from,
TO_DATE('[Extraction end date]', 'YYYY-MM-DD') AS date_to,
'[Your source system name]' AS source_system,
CURRENT_UTCTIMESTAMP AS last_data_update
FROM DUMMY
),
orders AS (
SELECT
a.mandt,
LTRIM(a.aufnr, '0') AS production_order,
a.aufnr AS production_order_raw,
a.erdat AS order_created_date,
a.erfzeit AS order_created_time,
a.auart AS order_type,
a.werks AS plant,
a.objnr AS object_number,
a.ktext AS order_text,
p.matnr AS material_number,
p.psmng AS planned_quantity,
p.wemng AS delivered_quantity,
k.gstrp AS planned_start_date,
k.gltrp AS planned_end_date,
k.ftrmi AS release_date,
k.ftrmp AS release_time,
k.gamng AS total_order_quantity,
k.plnbez AS header_material_number,
k.plnty AS task_list_type,
k.plnnr AS task_list_group,
k.plnal AS task_list_group_counter
FROM [Your schema name].AUFK a
LEFT JOIN [Your schema name].AFPO p
ON p.mandt = a.mandt
AND p.aufnr = a.aufnr
LEFT JOIN [Your schema name].AFKO k
ON k.mandt = a.mandt
AND k.aufnr = a.aufnr
CROSS JOIN params x
WHERE a.mandt = x.mandt
AND a.erdat >= x.date_from
AND a.erdat < ADD_DAYS(x.date_to, 1)
),
status_history AS (
SELECT
o.*,
j.stat,
j.inact,
j.chgnr,
j.udate AS status_date,
j.utime AS status_time,
c.usnam AS status_user,
c.chind AS status_change_indicator
FROM orders o
INNER JOIN [Your schema name].JEST j
ON j.mandt = o.mandt
AND j.objnr = o.object_number
LEFT JOIN [Your schema name].JCDS c
ON c.mandt = j.mandt
AND c.objnr = j.objnr
AND c.stat = j.stat
AND c.chgnr = j.chgnr
WHERE COALESCE(j.inact, '') <> 'X'
),
operations AS (
SELECT
o.production_order,
o.mandt,
v.vornr,
v.arbid,
v.steus,
v.ltxa1,
v.aufpl,
v.aplzl,
cr.name1 AS work_center
FROM orders o
LEFT JOIN [Your schema name].AFVC v
ON v.mandt = o.mandt
AND v.aufpl = (SELECT MAX(k2.aufpl) FROM [Your schema name].AFKO k2 WHERE k2.mandt = o.mandt AND k2.aufnr = o.production_order_raw)
LEFT JOIN [Your schema name].CRHD cr
ON cr.mandt = v.mandt
AND cr.objty = 'A'
AND cr.objid = v.arbid
),
confirmations AS (
SELECT
o.production_order,
o.mandt,
r.rmzhl,
r.vornr,
r.budat AS confirmation_date,
r.ersda AS entry_date,
r.erzet AS entry_time,
r.ism01,
r.ism02,
r.ism03,
r.ism04,
r.ism05,
r.ism06,
r.xmnga,
r.stzhl,
r.stzhl AS reversal_counter,
r.lmnga AS confirmed_quantity,
r.xmnge AS scrap_quantity,
r.aufpl,
r.aplzl,
op.work_center
FROM orders o
INNER JOIN [Your schema name].AFRU r
ON r.mandt = o.mandt
AND r.aufnr = o.production_order_raw
LEFT JOIN operations op
ON op.production_order = o.production_order
AND op.mandt = r.mandt
AND op.vornr = r.vornr
),
first_confirmation AS (
SELECT production_order, MIN(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time
FROM confirmations
GROUP BY production_order
),
last_confirmation AS (
SELECT production_order, MAX(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS final_time
FROM confirmations
GROUP BY production_order
),
first_goods_issue AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(m.budat_mkpf, 'YYYYMMDD') || LPAD(TO_VARCHAR(m.cputm_mkpf), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time
FROM orders o
INNER JOIN [Your schema name].MSEG m
ON m.mandt = o.mandt
AND m.aufnr = o.production_order_raw
AND m.bwart IN ('261', '262')
GROUP BY o.production_order
),
first_receipt AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(m.budat_mkpf, 'YYYYMMDD') || LPAD(TO_VARCHAR(m.cputm_mkpf), 6, '0'), 'YYYYMMDDHH24MISS')) AS receipt_time
FROM orders o
INNER JOIN [Your schema name].MSEG m
ON m.mandt = o.mandt
AND m.aufnr = o.production_order_raw
AND m.bwart IN ('101', '102')
GROUP BY o.production_order
),
plan_changes AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(h.udate, 'YYYYMMDD') || LPAD(TO_VARCHAR(h.utime), 6, '0'), 'YYYYMMDDHH24MISS')) AS adjustment_time
FROM orders o
INNER JOIN [Your schema name].CDHDR h
ON h.mandant = o.mandt
AND h.objectid = o.production_order_raw
INNER JOIN [Your schema name].CDPOS p
ON p.mandant = h.mandant
AND p.objectclas = h.objectclas
AND p.objectid = h.objectid
AND p.changenr = h.changenr
WHERE h.objectclas IN ('ORDER', 'PP_ORDER')
AND p.tabname IN ('AFKO', 'AFPO', 'AFVC', 'RESB')
AND p.fname IN ('GAMNG', 'PSMNG', 'GSTRP', 'GLTRP', 'MATNR', 'BDMNG', 'VORNR')
GROUP BY o.production_order
),
status_times AS (
SELECT
production_order,
MIN(CASE WHEN stat IN ('I0001', 'CRTD') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS created_status_time,
MIN(CASE WHEN stat IN ('I0002', 'REL') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS released_time,
MIN(CASE WHEN stat IN ('I0003', 'MATC', 'MANC') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS material_available_time,
MIN(CASE WHEN stat IN ('I0004', 'CAPC', 'CAPA') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS capacity_planned_time,
MIN(CASE WHEN stat IN ('I0045', 'TECO') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS technically_completed_time,
MIN(CASE WHEN stat IN ('I0046', 'CLSD') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS financially_closed_time,
MIN(CASE WHEN stat IN ('I0076', 'DLFL', 'CANC') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS cancelled_time
FROM status_history
GROUP BY production_order
),
material_shortages AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(j.status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(j.status_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS shortage_time
FROM status_history j
INNER JOIN orders o
ON o.production_order = j.production_order
WHERE j.stat IN ('I0042', 'MANC', 'MSHT')
GROUP BY o.production_order
),
capacity_times AS (
SELECT
production_order,
MIN(COALESCE(released_time, created_status_time)) AS capacity_time
FROM status_times
GROUP BY production_order
),
base_attributes AS (
SELECT
o.production_order,
o.material_number,
o.plant,
COALESCE(op.work_center, '') AS work_center,
o.planned_end_date,
COALESCE(st.stat, '') AS current_status
FROM orders o
LEFT JOIN status_history st
ON st.production_order = o.production_order
AND st.inact = ''
LEFT JOIN operations op
ON op.production_order = o.production_order
AND op.vornr = (SELECT MIN(op2.vornr) FROM operations op2 WHERE op2.production_order = o.production_order)
),
events AS (
SELECT o.production_order, 'Production Order Created' AS activity, COALESCE(st.created_status_time, TO_TIMESTAMP(TO_VARCHAR(o.order_created_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(o.order_created_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time FROM orders o LEFT JOIN status_times st ON st.production_order = o.production_order
UNION ALL
SELECT production_order, 'Material Availability Checked', material_available_time FROM status_times WHERE material_available_time IS NOT NULL
UNION ALL
SELECT production_order, 'Capacity Requirements Planned', capacity_time FROM capacity_times WHERE capacity_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Order Released', released_time FROM status_times WHERE released_time IS NOT NULL
UNION ALL
SELECT o.production_order, 'Production Started', LEAST(COALESCE(fc.start_time, TO_TIMESTAMP('99991231235959', 'YYYYMMDDHH24MISS')), COALESCE(fg.start_time, TO_TIMESTAMP('99991231235959', 'YYYYMMDDHH24MISS'))) FROM orders o LEFT JOIN first_confirmation fc ON fc.production_order = o.production_order LEFT JOIN first_goods_issue fg ON fg.production_order = o.production_order WHERE fc.start_time IS NOT NULL OR fg.start_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Confirmation Entered', TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS') FROM confirmations
UNION ALL
SELECT production_order, 'Material Shortage Occurred', shortage_time FROM material_shortages WHERE shortage_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Plan Adjusted', adjustment_time FROM plan_changes WHERE adjustment_time IS NOT NULL
UNION ALL
SELECT c.production_order, 'Unplanned Halt Occurred', ADD_SECONDS(c.confirmation_time, 1) FROM (SELECT production_order, TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS') AS confirmation_time, LEAD(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) OVER (PARTITION BY production_order ORDER BY entry_date, entry_time, rmzhl) AS next_confirmation_time FROM confirmations) c WHERE c.next_confirmation_time IS NOT NULL AND SECONDS_BETWEEN(c.confirmation_time, c.next_confirmation_time) >= 86400
UNION ALL
SELECT production_order, 'Final Confirmation Entered', final_time FROM last_confirmation WHERE final_time IS NOT NULL
UNION ALL
SELECT production_order, 'Goods Receipt Posted', receipt_time FROM first_receipt WHERE receipt_time IS NOT NULL
UNION ALL
SELECT production_order, 'Order Technically Completed', technically_completed_time FROM status_times WHERE technically_completed_time IS NOT NULL
UNION ALL
SELECT production_order, 'Order Financially Closed', financially_closed_time FROM status_times WHERE financially_closed_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Order Cancelled', cancelled_time FROM status_times WHERE cancelled_time IS NOT NULL
)
SELECT
e.production_order AS "ProductionOrder",
e.activity AS "Activity",
e.start_time AS "StartTime",
p.source_system AS "SourceSystem",
p.last_data_update AS "LastDataUpdate",
b.material_number AS "MaterialNumber",
b.plant AS "Plant",
NULLIF(b.work_center, '') AS "WorkCenter",
b.planned_end_date AS "PlannedEndDate",
b.current_status AS "OrderStatus"
FROM events e
INNER JOIN base_attributes b
ON b.production_order = e.production_order
CROSS JOIN params p
WHERE e.start_time IS NOT NULL
ORDER BY e.production_order, e.start_time, e.activity; Başlamaya hazır mısınız?
Üretim planlamanızın verimliliğini artırmak için ilk adımı atın. Verilerinizi bu Template ile hazırlayın ve iyileştirme fırsatlarını ortaya çıkarın.
Üretim planlamanızı bugün iyileştirmeye başlayın
Darboğazları belirleyip ortadan kaldırın, üretim çevrim süresini %30 azaltın.
Kredi kartı gerekmez