Satın Almadan Ödemeye - Talep Veri Şablonunuz
Satın Almadan Ödemeye - Talep Veri Şablonunuz
- Ayrıntılı analiz için toplanması önerilen nitelikler
- Süreç keşfi için izlenecek temel faaliyetler
- SAP S/4HANA'dan `veri` çıkarma rehberliği
Satın Alma Talebi Süreci Nitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Faaliyet Adı ActivityName | Talep sürecinde belirli bir noktada gerçekleşen iş activity'sinin adı. | ||
| Açıklama Activity Adı, bir satın alma talebinin yaşam döngüsü içinde gerçekleşen belirli bir event veya görevi tanımlar. Bu activity'ler, değişim dokümanları ve workflow geçmişleri gibi sistem log'larından türetilir ve 'Satın Alma Talebi Oluşturuldu', 'Onay Adımı Başlatıldı' veya 'Satın Alma Siparişi Oluşturuldu' gibi önemli süreç kilometre taşlarını temsil eder. Bu activity'leri analiz etmek, süreç akışının görselleştirilmesine, darboğazların belirlenmesine ve farklı aşamalarda harcanan zamanın ölçülmesine olanak tanır. 'Satın Alma Talebi Değiştirildi' veya 'Satın Alma Talebi Reddedildi' gibi activity'lerin sırasını ve sıklığını anlamak, süreç verimsizliklerini ve iyileştirme alanlarını belirlemek için kritik öneme sahiptir. Neden önemli Süreçteki adımları tanımlar, süreç haritasının omurgasını oluşturur ve süreç akışının, varyasyonların ve Nereden alınır Bu, genellikle değişim dokümanı tablolarından (CDHDR, CDPOS) ve workflow log'larından (örn. SWWLOGHIST) veri yorumlayarak oluşturulan türetilmiş bir niteliktir. Örnekler Talep OluşturulduOnay Adımı TamamlandıTalep OnaylandıSatın Alma Siparişi Oluşturuldu | |||
| Olay Zamanı EventTime | Belirli bir etkinliğin meydana geldiği kesin tarih ve saat. | ||
| Açıklama Event Time (Olay Zamanı), bir faaliyetin ne zaman gerçekleştiğini kaydeden zaman damgasıdır. Bu Doğru zaman damgaları, süreç performansını analiz etmek, gecikmeleri belirlemek ve hizmet seviyesi anlaşmalarına uyumu izlemek için hayati öneme sahiptir. Bu nitelik, döngü sürelerini görselleştiren, bekleyen talepleri izleyen ve farklı zaman dilimlerindeki performansı karşılaştıran Neden önemli Bu timestamp, event'leri sıralamak, çevrim sürelerini hesaplamak ve süreç performansını ve bottleneck'leri analiz etmek için hayati öneme sahiptir. Nereden alınır Timestamp'lar genellikle değişim dokümanı başlıklarından (CDHDR-UDATE, CDHDR-UTIME) veya workflow event log'larından alınır. Örnekler 2023-04-15T10:05:30Z2023-04-15T14:22:01Z2023-04-16T09:00:15Z | |||
| Satın Alma İsteği Kimliği PurchaseRequisitionId | Bir satın alma talebi belgesi için benzersiz tanımlayıcı. | ||
| Açıklama Satın Alma Talebi Kimliği, SAP S/4HANA içinde her mal veya hizmet talebini benzersiz şekilde tanımlayan birincil key'dir. Oluşturulmasından onay, ret veya satın alma siparişine dönüştürülmesi gibi nihai durumuna kadar belirli bir taleple ilgili tüm activity'leri ve değişiklikleri birbirine bağlayan merkezi case tanımlayıcısı olarak hizmet eder. Process Mining'de bu nitelik, her talebin uçtan uca yaşam döngüsünü yeniden yapılandırmak için temeldir. Tüm ilgili event'leri tek bir Satın Alma Talebi Kimliği altında gruplayarak, analistler döngü sürelerini doğru bir şekilde ölçebilir, durum değişikliklerini izleyebilir ve bir talebin onay sürecinde izleyebileceği farklı yolları analiz edebilirler. Neden önemli Bu, tüm ilgili süreç adımlarını bağlayan, talep yaşam döngüsünün eksiksiz ve tutarlı bir görünümünü sağlayan temel case tanımlayıcısıdır. Nereden alınır Bu nitelik, EBAN tablosunda, BANFN alanında bulunan Satın Alma Talebi Numarasıdır. Örnekler 100178901001789110017892 | |||
| Bölüm Department | Talebin maliyetlerinin yüklendiği departman veya maliyet merkezi. | ||
| Açıklama Departman niteliği, SAP'de genellikle Maliyet Merkezi ile temsil edilir, istenen satın almadan sorumlu iş birimini tanımlar. Bu, bir talebin kalem seviyesinde atanan kritik bir finansal ve organizasyonel bilgidir. Process Mining'de bu nitelik, departman performansı analizi için hayati öneme sahiptir. Farklı departmanlar arasında döngü süresi, düzeltme oranları ve ret oranları gibi temel metrikleri karşılaştıran dashboard'lar sağlar. Bu, uygulamaları başka yerlerde benimsenebilecek yüksek performanslı departmanları ve ek eğitime veya süreç desteğine ihtiyaç duyabilecek departmanları belirlemeye yardımcı olur. Neden önemli İş birimleri arasında performans karşılaştırmasını sağlar, döngü sürelerindeki veya ret oranlarındaki varyasyonları vurgulayarak en iyi uygulamaları ve iyileştirme alanlarını belirlemeye yardımcı olur. Nereden alınır Bu, genellikle hesap atama tablosu EBKN'de, KOSTL alanında bulunan Maliyet Merkezi'dir. Örnekler FIN-1001IT-2005MKT-3010 | |||
| Onaylayan `ID` ApproverId | Onay veya ret adımını gerçekleştiren kullanıcının tanımlayıcısı. | ||
| Açıklama Onaylayan Kimliği, bir onay veya reddetme activity'sini tamamlayan kullanıcıyı özel olarak tanımlar. Bu, onay workflow'undaki yalnızca karar vericilere odaklandığı için genel Kullanıcı Kimliği'nden farklıdır. Bu bilgiyi yakalamak, onay sürecini ayrıntılı olarak analiz etmek için hayati öneme sahiptir. Bu nitelik, uzun onay sürelerine sahip yöneticileri veya talepleri sıkça reddedenleri belirlemek gibi onay davranışlarının analizine olanak tanır. Onay adımı döngü sürelerine ve workflow darboğaz analiz dashboard'larına odaklanan dashboard'lar için temel olup, gecikmelere neden olabilecek belirli kişileri veya rolleri belirlemeye yardımcı olur. Neden önemli Bir onay adımındaki belirli karar vericiyi belirler, birey veya role göre onay döngü sürelerinin ve Nereden alınır Bu bilgi genellikle iş öğelerini tamamlayan kullanıcıya bağlayan SWW_WI2OBJ ve SWWLOGHIST gibi SAP Business Workflow tablolarından çıkarılır. Örnekler MJOHNSONCWILLIAMSLBLACK | |||
| Satın Alma Talebi Durumu RequisitionStatus | Satın alma talebinin mevcut işleme veya onay durumu. | ||
| Açıklama Talep Durumu, talebin yaşam döngüsü içindeki mevcut durumunu gösterir. SAP'de bu, genellikle bir talebin bloke edilip edilmediğini, onayda olup olmadığını, kısmen onaylanıp onaylanmadığını veya tamamen onaylanıp onaylanmadığını gösteren Serbest Bırakma Göstergesi ile temsil edilir. Bu durum, talep workflow'da ilerledikçe değişir. Durumu zaman içinde izlemek, süreç akışını anlamak için temeldir. Taleplerin nerede ve ne kadar süreyle takılı kaldığını belirlemeye yardımcı olur. Durumlar arasındaki geçişleri analiz etmek, onay sürecinin ve varyantlarının ayrıntılı bir görünümünü sağlar. Neden önemli Bir talebin mevcut durumunu gösterir; bu, ilerlemeyi izlemek, Nereden alınır Serbest bırakma durumu genellikle EBAN tablosunda, FRGZU alanında bulunan Serbest Bırakma Göstergesi ile belirlenir. Örnekler B1S | |||
| Satın Alma Talebi Tutarı RequisitionAmount | Satın alma talebinin toplam parasal değeri. | ||
| Açıklama Satın Alma Talebi Tutarı, istenen mal veya hizmetlerin toplam tahmini maliyetini temsil eder. Bu değer, genellikle onay workflow'unun karmaşıklığını ve uzunluğunu belirlemede önemli bir faktördür; daha yüksek değerli talepler genellikle daha fazla onay seviyesi gerektirir. Bu niteliği analiz etmek, süreci değere göre bölümlere ayırmayı sağlar. 'Yüksek değerli taleplerin onaylanması daha mı uzun sürüyor?' veya 'Sıkça reddedilen taleplerin değeri nedir?' gibi sorulara yanıt bulmaya yardımcı olabilir. Süreç verimsizliklerinin finansal etkisini anlamak için kritik bir boyuttur. Neden önemli Süreci finansal etkiye göre bölümlere ayırmaya yardımcı olur, genellikle onay karmaşıklığı ve döngü süresiyle ilişkilidir. Değer tabanlı süreç analizi için hayati öneme sahiptir. Nereden alınır Toplam değer EBAN tablosunda, GFWERT alanında bulunabilir. Kalem seviyesi değeri EBAN-PREIS'tedir. Örnekler 1500.0075000.50250.75 | |||
| Talep Türü RequisitionType | Satın alma talebini, örneğin standart kalemler, hizmetler veya sermaye harcamaları için sınıflandıran bir kod. | ||
| Açıklama Talep Tipi, SAP'de Belge Tipi olarak da bilinir, satın alma taleplerini kategorize eden önemli bir yapılandırma alanıdır. Farklı tipler farklı onay workflow'larını tetikleyebilir, farklı alan ayarlarına sahip olabilir ve standart stok kalemleri, dış hizmetler veya varlık alımları gibi farklı iş amaçları için kullanılabilir. Süreci Talep Tipine göre analiz ederek, kuruluşlar farklı istek türlerinin nasıl ele alındığını anlayabilir. Bu, performans, döngü süreleri ve onay yollarını kategoriler arasında karşılaştırmaya olanak tanır; bu da belirli talep tiplerinin daha verimli olup olmadığını ortaya çıkarabilir ve süreç iyileştirmelerini kişiselleştirmeye yardımcı olabilir. Neden önemli Talepleri karşılaştırmalı analize olanak tanıyacak şekilde kategorize eder, farklı talep türlerinin farklı süreç akışlarına, Nereden alınır Bu, EBAN tablosunda, BSART alanında bulunan Belge Tipi alanıdır. Örnekler NBFORV | |||
| User ID UserId | Talebi oluşturan veya belirli bir activity'yi gerçekleştiren kullanıcının tanımlayıcısı. | ||
| Açıklama Kullanıcı Kimliği, talebin yaşam döngüsündeki belirli bir event'ten sorumlu çalışanı veya sistem kullanıcısını tanımlar. Bu, talebi oluşturan kişi, onu onaylayan yönetici veya düzelten aracı olabilir. Otomatik adımlarda bu, bir sistem veya batch kullanıcı kimliği olabilir. Kullanıcı Kimliği'ne göre analiz yapmak, kullanıcıya özgü davranışları, iş yükü dağılımını ve performansı anlamaya yardımcı olur. Eğitim ihtiyaçlarını belirlemek, yüksek performanslı bireyleri tanımak ve süreç içinde hesap verebilirliği sağlamak için anahtardır. Ayrıca kullanıcı ana verileriyle birleştirildiğinde departman performans analizini de destekler. Neden önemli Kullanıcı performansı, iş yükü dağıtımı ve süreç Nereden alınır Oluşturan için EBAN-ERNAM'da bulunur. Sonraki değişiklikler için CDHDR-USERNAME'dedir. Onaylar için Örnekler JSMITHRROEWF-BATCH | |||
| `Teslim Edilmesi Gereken Tarih` RequiredByDate | Talep edenin istenen mal veya hizmetlere ihtiyaç duyduğu tarih. | ||
| Açıklama İstenen Teslim Tarihi veya SAP'deki Teslim Tarihi, talep kalemindeki mal veya hizmetlere ne zaman ihtiyaç duyulduğunu belirtir. Bu tarih talep eden tarafından belirlenir ve tüm tedarik süreci için bir hedef görevi görür. Bu nitelik, 'Zamanında Talep Tamamlama Oranı' KPI'ını hesaplamak için hayati öneme sahiptir. İstenen Teslim Tarihi'ni nihai onay veya Satın Alma Siparişi oluşturma tarihiyle karşılaştırarak, kuruluş iç hizmet seviyelerini ve iş ihtiyaçlarını karşılama yeteneğini ölçebilir. Bu tarihi kaçıran talepleri analiz etmek, tedarik sürecindeki sistemik gecikmeleri vurgulayabilir. Neden önemli Bir talep için hedef tamamlama tarihini tanımlayarak, zamanında teslimatın ve dahili hizmet seviyelerine uyumun ölçülmesine olanak tanır. Nereden alınır Bu, EBAN tablosunda, kalem seviyesinde bulunan Teslim Tarihi'dir, LFDAT alanı. Örnekler 2023-11-152023-12-012024-01-20 | |||
| Aciliyet Seviyesi UrgencyLevel | Talebin aciliyetinin bir sınıflandırmasıdır; bu, işleme önceliğini etkileyebilir. | ||
| Açıklama Aciliyet Seviyesi, satın alma isteğinin önceliğini gösterir. Standart özel bir alan olmamakla birlikte, bazı kuruluşlar bu bilgiyi yakalamak için Talep Takip Numarası gibi alanları kullanır. Bu, talep edenlerin hızlandırılmış işlem gerektirebilecek kritik ihtiyaçları işaretlemesine olanak tanır. Aciliyetin etkisini analiz etmek, sürecin kritik istekleri etkili bir şekilde önceliklendirip önceliklendirmediğini değerlendirmek için önemlidir. Aciliyet Seviyesi Etki Analizi dashboard'u, bu niteliği kullanarak acil ve standart talepler için döngü sürelerini ve onay oranlarını karşılaştırır ve önceliklendirmenin amaçlandığı gibi çalışıp çalışmadığını belirlemeye yardımcı olur. Neden önemli Yüksek öncelikli talepler için süreç performansının nasıl farklılaştığını analiz etmeye olanak tanır, acil kalemlerin gerçekten hızlandırılıp hızlandırılmadığını doğrulamaya yardımcı olur. Nereden alınır Standart bir aciliyet alanı yoktur. Bazı şirketler bu amaçla Talep Takip Numarasını (EBAN-BEDAR) kullanır. Ayrıca özel bir alan da olabilir. Örnekler YüksekOrtaDüşük | |||
| Bitiş Saati EndTime | Belirli bir activity'nin tamamlandığı kesin tarih ve saat. | ||
| Açıklama EndTime, bir faaliyetin ne zaman tamamlandığını kaydeden zaman damgasıdır. Birçok sistem tarafından oluşturulan olay anlık olsa da (StartTime'ın EndTime'a eşit olması), onaylar gibi insan görevlerinin ayrı bir başlangıcı ve sonu olabilir. Bu zaman damgası, o işin tamamlandığını işaretler. Ayrı bir EndTime'a sahip olmak, aktif işlem süresini boşta bekleme süresine göre daha doğru ölçmeye olanak tanır. İşlem Süresi (ProcessingTime) metriğini hesaplamak için StartTime ile birlikte kullanılır. Bu ayrıntı seviyesi, manuel görevler için kaynak kullanımının ve verimliliğinin analizini geliştirir. Neden önemli Bir faaliyetin tamamlanmasını işaretler, aktif işlem süresinin hesaplanmasına ve görev süresinin daha ayrıntılı bir görünümünü sağlamasına olanak tanır. Nereden alınır Bu, bir iş öğesinin ne zaman oluşturulduğunu (Başlangıç Zamanı) ve ne zaman tamamlandığını (Bitiş Zamanı) yakalayabilen workflow log'larından türetilmiştir. Örnekler 2023-04-15T10:20:30Z2023-04-15T14:25:01Z2023-04-16T11:00:45Z | |||
| İşlem Süresi ProcessingTime | Belirli bir activity üzerinde harcanan sürenin uzunluğu. | ||
| Açıklama
Bu hesaplanmış metrik, farklı süreç adımlarında yer alan çabayı anlamak için faydalıdır. Bir Neden önemli Bir faaliyet için aktif çalışma süresini ölçer, çalışma için harcanan zaman ile bekleme için harcanan zamanı ayırt etmeye yardımcı olur; bu, kaynak analizi için anahtardır. Nereden alınır Bu, event log'undaki her event için genellikle Bitiş Zamanı eksi Başlangıç Zamanı olarak türetilen hesaplanmış bir niteliktir. Örnekler PT15MPT2H30MP1D | |||
| Kaynak Sistem SourceSystem | `Veri`lerin çıkarıldığı belirli SAP S/4HANA örneğini tanımlar. | ||
| Açıklama Kaynak Sistem niteliği, süreç verisinin oluşturulduğu kaynak sistemi belirtir. Geliştirme, kalite güvencesi ve üretim için farklı sistemler veya farklı bölgeler için ayrı sistemler gibi birden fazla SAP örneğine sahip kuruluşlarda, bu alan veri yönetimi ve bağlam için kritik öneme sahiptir. Farklı kaynaklardan gelen verilerin ayırt edilmesini sağlayarak yanlış toplulaştırmayı önler ve sisteme özgü analizi mümkün kılar. Veri soyunu korumak ve süreç verisinin izlenebilirliğini sağlamak için zorunlu bir niteliktir. Neden önemli Özellikle birden fazla sistemin bulunduğu ortamlarda Nereden alınır Bu, genellikle sistem değişkenlerinden veya yapılandırma tablolarından alınabilen SAP Sistem Kimliği (SID)'dir. Örnekler S4PECCS4H_PROD_01 | |||
| Onay Adımı Adı ApprovalStepName | Workflow'daki bir onay adımının belirli adı veya açıklaması. | ||
| Açıklama Onay Adımı Adı, 'Yönetici Onayı' veya 'Finans Başkan Yardımcısı Onayı' gibi onay workflow'undaki belirli bir aşamanın insan tarafından okunabilir bir açıklamasını sağlar. Bu, genel bir 'Onay Adımı Tamamlandı' activity'sinden daha açıklayıcıdır. Bu nitelik, Onay Adımı Döngü Süresi ve Workflow Darboğaz Analizi dashboard'ları için kritik öneme sahiptir. Onay sürecinin ayrıntılı bir görünümünü sağlayarak, hangi onay aşamalarının en önemli gecikmelere neden olduğunu ve işin nerede biriktiğini tam olarak belirlemeyi mümkün kılar. Bu detay seviyesi, onay zincirini düzene sokmak için hedefe yönelik müdahaleler için gereklidir. Neden önemli Onay aşamaları hakkında ayrıntılı bilgi sağlayarak, çok seviyeli onay Nereden alınır Bu bilgi, workflow log'unun T528T gibi görev tanımı tablolarına bağlanmasıyla bulunabilen workflow görev açıklamasından türetilmiştir. Örnekler Yönetici OnayıDirektör OnayıFinans Başkan Yardımcısı Onayı | |||
| Otomatikleştirildi mi? IsAutomated | Bir etkinliğin bir sistem kullanıcısı tarafından mı yoksa insan tarafından mı gerçekleştirildiğini gösteren bir bayrak. | ||
| Açıklama Otomatikleştirildi niteliği, bir activity'nin 'WF-BATCH' gibi bir sistem veya batch kullanıcısı tarafından yürütülüp yürütülmediğini gösteren bir boolean flag'idir. Bu, süreçteki manuel ve otomatik adımları ayırt etmeye yardımcı olur. Bu nitelik, talep sürecindeki otomasyon seviyesini ölçmek ve 'Otomatik Onay Oranı' KPI'ını hesaplamak için hayati öneme sahiptir. Otomatik veya manuel adımları filtreleyerek analistler verimliliklerini karşılaştırabilir ve işlem sürelerini ve manuel çabayı azaltmak için daha fazla otomasyon fırsatları belirleyebilirler. Neden önemli İnsan ve sistem tarafından yürütülen faaliyetler arasında ayrım yapar; bu, otomasyon oranlarını ölçmek ve manuel görevleri otomatikleştirmek için anahtardır. Nereden alınır Bu, genellikle bir event için Kullanıcı Kimliğinin bilinen sistem veya batch kullanıcıları listesine ait olup olmadığını kontrol eden bir kurala dayanan türetilmiş bir niteliktir. Örnekler truefalse | |||
| Para Birimi Currency | Satın alma talebi tutarı için para birimi kodu. | ||
| Açıklama Bu nitelik, talep tutarının ifade edildiği para birimini (örneğin USD, EUR veya JPY) belirtir. Özellikle birden fazla para birimiyle çalışan çok uluslu kuruluşlarda, Talep Tutarı niteliği için gerekli bağlamı sağlar. Doğru finansal analiz ve raporlama için para birimini dikkate almak hayati öneme sahiptir. Talep değerlerini toplarken veya karşılaştırırken, anlamlı sonuçlar elde etmek için tüm tutarlar ortak bir para birimine dönüştürülmelidir. Bu nitelik, bu tür dönüşümler için bir ön koşuldur. Neden önemli Talep Tutarı için temel bağlam sağlar, çoklu para birimi ortamlarında doğru finansal analiz ve karşılaştırmalara olanak tanır. Nereden alınır Bu, EBAN tablosunda, WAERS alanında bulunur. Örnekler USDEURGBP | |||
| Purchase Order Number PurchaseOrderNumber | Talepten oluşturulan satın alma siparişinin numarası. | ||
| Açıklama Satın Alma Sipariş Numarası, onaylanmış bir talepten oluşturulan resmi satın alma belgesinin tanımlayıcısıdır. Bir satın alma siparişinin oluşturulması genellikle bir talep için nihai, başarılı bir sonuçtur ve isteğin bir tedarikçi ile resmi bir siparişe dönüştürüldüğünü gösterir. Bu nitelik, Talepten Satın Alma Siparişi Teslim Süresi KPI'ını ve genel dönüşüm oranını ölçmek için kritik öneme sahiptir. Talep sürecini aşağı akış tedarik süreciyle ilişkilendirerek, tüm Satın Alma'dan Ödemeye döngüsünün daha geniş, uçtan uca bir görünümünü sağlar. Neden önemli Talebi sonraki tedarik belgesine bağlar, talepten Satın Alma Siparişine dönüşüm oranının ve teslim süresinin ölçülmesini sağlar. Nereden alınır Bir Satın Alma Siparişi (PO) talep kaleminden oluşturulduktan sonra EBAN tablosunda, EBELN alanında bulunur. Örnekler 450001789045000178914500017892 | |||
| Ret Nedeni RejectionReason | Bir satın alma talebi reddedildiğinde belirtilen neden. | ||
| Açıklama Ret Nedeni, bir onaylayıcının neden bir satın alma talebini reddettiğini açıklar. Nedenler arasında bütçe aşımı, yanlış bilgi, politikaya uyumsuzluk veya başka bir talebin tekrarlanması yer alabilir. Bu bilgi, süreç hatalarını anlamak için kritik bir bağlam sağlar. Ret nedenlerini analiz etmek, süreç verimsizliklerinin ve yeniden işleme ihtiyacının temel nedenlerini belirlemeye yardımcı olur. Örneğin, 'Yanlış Maliyet Merkezi' yaygın bir neden ise, bu durum daha iyi kullanıcı eğitimi veya sistem doğrulaması ihtiyacına işaret eder. Bu nitelik, Talep Ret Analizi dashboard'unun anahtarıdır ve hedefe yönelik süreç iyileştirmesi için hayati öneme sahiptir. Neden önemli Süreç hatalarının temel nedenini sağlar, yeniden işlemeyi azaltmak ve taleplerin ilk seferde doğru oranını artırmak için hedeflenmiş iyileştirmelere olanak tanır. Nereden alınır Bu genellikle standart bir alan değildir. Workflow container öğelerinde, taleple ilişkili uzun metinde veya özel alanlarda yakalanabilir. Örnekler Bütçeyi aşıyorYanlış tedarikçiYinelenen talep | |||
| Son Veri Güncellemesi LastDataUpdate | Bu kayda ait verilerin kaynak sistemden en son ne zaman güncellendiğini gösteren zaman damgası. | ||
| Açıklama Bu nitelik, kaynak sistemden yapılan en son veri çıkarma veya güncelleme tarih ve saatini kaydeder. Analiz edilen verinin güncelliğini anlamak için kritik bir meta veri parçasıdır. Analistler ve iş kullanıcıları, süreç verisinin operasyonların en güncel durumunu yansıtıp yansıtmadığını bilmek için bu timestamp'e güvenirler. Herhangi bir süreç analizinde, verinin güncelliğini bilmek bilinçli kararlar almak için temeldir. Bu nitelik, kullanıcı beklentilerini yönetmeye yardımcı olur ve sonuçların belirli analiz için gerektiği kadar güncel verilerden elde edilmesini sağlar. Neden önemli Verilerin güncelliğini gösterir; bu, analize güvenmek ve zamanında iş kararları almak için çok önemlidir. Nereden alınır Bu Örnekler 2023-10-27T02:00:00Z2023-10-28T02:00:00Z | |||
| Yeniden İşleme mi? IsRework | Bir etkinliğin, gönderildikten sonraki bir düzeltme gibi, yeniden işleme (rework) teşkil edip etmediğini gösteren bir bayrak. | ||
| Açıklama
Bu nitelik, süreçteki yeniden işleme miktarını ve bunun genel döngü süreleri üzerindeki etkisini ölçmek için çok önemlidir. Talep Düzeltme ve Yeniden İşleme Oranı Neden önemli Boşa harcanan çaba veya tekrarı temsil eden faaliyetleri işaretler, yeniden işleme miktarının ve bunun süreç verimliliği üzerindeki etkisinin doğrudan ölçülmesini sağlar. Nereden alınır Bu hesaplanmış bir niteliktir. Mantık, ilk 'Onay İçin Gönderilen Talep' activity'sinden sonra gerçekleşen herhangi bir 'Değiştirilen Talep' activity'sini yeniden işleme olarak işaretleyecektir. Örnekler truefalse | |||
Satın Alma Talebi Süreci Aktiviteleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Onay Adımı Tamamlandı | Bir onaylayıcının bir talep üzerinde olumlu bir işlem yapması, çok seviyeli onay `iş akışı`ndaki bir adımı tamamlamasıyla meydana gelir. Bu, talebin serbest bırakma durumundaki bir değişiklikten çıkarılır. | ||
| Neden önemli Bu activity, onay workflow'unun ayrıntılı analizine olanak tanır ve her bir adımda harcanan süreyi ölçer. Süreçteki verimli onaylayıcıları darboğazlardan ayırmaya yardımcı olur. Nereden alınır EBAN tablosu için değişiklik belgelerinden (CDHDR/CDPOS) çıkarılır. Belirli bir kod için serbest bırakma kodu durumundaki (örn. FRGZU alanında) serbest bırakılmamış durumdan serbest bırakılmış duruma bir değişiklik bu Yakala EBAN'daki serbest bırakma durumu alanlarındaki değişiklikleri, stratejide tanımlanan her serbest bırakma kodu için izleyin. Event tipi inferred | |||
| Satın Alma Siparişi Oluşturuldu | Talep kalemine atıfta bulunarak bir satın alma siparişinin oluşturulduğunu gösterir. Bu, talebi sonraki bir tedarik belgesine bağlayan açık bir sistem `event`'idir. | ||
| Neden önemli Bu, talep süreci için önemli bir kilometre taşı ve başarılı bir sonuçtur. Talep onayı ile Satın Alma Siparişi oluşturma arasındaki süre, tedarik verimliliğini ölçmek için kritik bir KPI'dır. Nereden alınır Bir satın alma siparişi kalemi oluşturulduğunda açıkça kaydedilir. Bağlantı, kaynak talep numarasını (BANFN) ve kalem numarasını (BNFPO) içeren EKPO tablosunda (Satın Alma Siparişi Kalemi) saklanır. Yakala EKPO tablosunu talep numarası ve kalemi üzerinden EBAN'a geri birleştirin. Satın Alma Siparişi (PO) kaleminin oluşturulma tarihi Event tipi explicit | |||
| Satın Alma Talebi Kapatıldı | Talep kaleminin tamamen işlenmiş olduğunu ve ondan başka satın alma siparişinin oluşturulamayacağını gösterir. Bu durum genellikle tam miktar sipariş edildiğinde otomatik olarak ayarlanır. | ||
| Neden önemli Bu activity, talep kaleminin yaşam döngüsünün nihai, başarılı tamamlanmasını temsil eder. İş ihtiyacının tamamen bir tedarik siparişine dönüştürüldüğünü doğrular. Nereden alınır EBAN tablosundan çıkarılır. Bu, 'Kapalı' göstergesi (EBAKZ) ayarlandığında meydana gelir, bu da genellikle Satın Alma Siparişlerindeki (PO) sipariş edilen miktarın talep miktarına eşit olmasıyla olur. Yakala EBAN tablosunda 'Kapalı' göstergesinin (EBAKZ) değişiklik belgeleri aracılığıyla ayarlandığı Event tipi inferred | |||
| Satın Alma Talebi Reddedildi | Bir onaylayıcı tarafından satın alma talebinin nihai reddini temsil eder, süreci durdurur. Bu, reddi gösteren belirli bir durum güncellemesiyle yakalanır. | ||
| Neden önemli Bu activity, kritik bir hata bitiş noktasıdır. Ret sıklığını, nedenlerini ve süreçteki noktalarını analiz etmek, politika uyumluluğu, bütçe veya talep kalitesiyle ilgili sorunları belirlemeye yardımcı olur. Nereden alınır EBAN tablosundaki bir durum değişikliğinden çıkarılır. İşleme durumu (PROCSTAT) veya bir serbest bırakma göstergesi, açıkça 'Reddedildi' anlamına gelen bir değere ayarlanır. Yakala EBAN'daki genel durumun değişiklik belgeleri aracılığıyla 'Reddedildi' durumuna güncellendiği Event tipi inferred | |||
| Talep Oluşturuldu | Sistemde satın alma talebi belgesinin ilk oluşturulmasını işaretler. Bu `event`, bir kullanıcı yeni bir talebi ilk kez kaydettiğinde, oluşturma `timestamp`ini kaydederek açıkça yakalanır. | ||
| Neden önemli Bu activity, talep yaşam döngüsü analizinin birincil başlangıç noktası olarak hizmet eder. İlk ihtiyaç belirlemeden nihai onaya veya satın alma siparişine dönüştürmeye kadar uçtan uca döngü süresini ölçmek için hayati öneme sahiptir. Nereden alınır Bu, EBAN tablosundan, belirli satın alma talebi numarası (BANFN) için oluşturma tarihi (ERDAT) ve oluşturma saati (ERZEIT) alanları kullanılarak yakalanan açık bir event'tir. Yakala Her talep (BANFN) için EBAN tablosundan oluşturma timestamp alanlarını (ERDAT, ERZEIT) kullanın. Event tipi explicit | |||
| Talep Onaylandı | Satın alma talebinin nihai ve tam onayını işaretler, onu bir satın alma siparişine dönüştürmeye uygun hale getirir. Bu dönüm noktası, genel serbest bırakma durumu nihai onaylanmış durumuna ulaştığında çıkarılır. | ||
| Neden önemli Bu, kritik bir başarı kilometre taşı ve döngü süresi analizi için yaygın bir bitiş noktasıdır. Talebin tüm kontrolleri geçtiğini ve tedarik departmanının harekete geçmeye hazır olduğunu gösterir. Nereden alınır EBAN tablosundaki bir durum değişikliğinden, özellikle genel serbest bırakma göstergesinin (FRGZU) veya işleme durumunun (PROCSTAT) nihai 'Onaylandı' değerine güncellenmesinden çıkarılır. Yakala Nihai serbest bırakma kodunun uygulandığı veya genel talep durumunun 'Onaylandı' olarak değiştiği Event tipi inferred | |||
| Onay Adımı Başlatıldı | Bir talebin belirli bir onaylayıcıdan veya onay grubundan işlem beklediğini gösterir. Bu, talebin durumunun belirli bir serbest bırakma kodunu beklediğini gösterdiğinde çıkarılır. | ||
| Neden önemli Bu activity, onay zincirindeki darboğazları belirlemek için hayati öneme sahiptir. Bu durumun süresini analiz etmek, takılı kalmış talepleri ve aşırı yüklenmiş onaylayıcıları belirlemeye yardımcı olur. Nereden alınır EBAN tablosunun serbest bırakma durum alanlarından (örn. FRGZU) ve temel serbest bırakma stratejisi yapılandırmasından çıkarılır. Yakala Bir talebin, Event tipi inferred | |||
| Onay Sıfırlama | Talebe yapılan önemli bir düzeltme nedeniyle tüm onay `iş akışı`nın sıfırlandığı bir `event`i temsil eder. Bu, onay sürecinin ilk seviyeden yeniden başlamasına neden olur. | ||
| Neden önemli Bu activity, döngü süresini ciddi şekilde etkileyen önemli yeniden işleme ihtiyacını vurgular. Onay sıfırlamalarının nedenlerini belirlemek, süreci düzene sokmak ve gecikmeleri azaltmak için anahtardır. Nereden alınır EBAN tablosundaki değişiklik belgelerinden (CDHDR/CDPOS) çıkarılır. Bu Yakala Değişiklik günlüklerinde serbest bırakma durumunda serbest bırakılmış bir durumdan tekrar serbest bırakılmamış bir duruma bir değişiklik arayın. Event tipi inferred | |||
| Satın Alma Talebi Değiştirildi | Bir kullanıcı, talebin ilk oluşturulmasından sonra miktar, fiyat veya malzeme gibi temel bir alanı değiştirdiğinde meydana gelir. Bu eylem, SAP'nin değişiklik belgesi sistemine açıkça kaydedilir. | ||
| Neden önemli Düzeltmeleri izlemek, yeniden işleme döngülerini ve bunların döngü süreleri üzerindeki etkilerini belirlemek için kritik öneme sahiptir. Yüksek düzeltme sıklığı, veri kalitesi veya değişen gereksinimlerle ilgili sorunlara işaret eder ki bunlar süreç iyileştirmesi için temel alanlardır. Nereden alınır EBAN tablosunda yapılan değişiklikler için SAP değişiklik belgesi tablolarına (CDHDR ve CDPOS) açıkça kaydedilir. Takip edilen bir alandaki her değişiklik bir giriş oluşturur. Yakala Nesne sınıfı satın alma talepleri için BANF olan CDHDR/CDPOS'tan değişiklik Event tipi explicit | |||
| Satın Alma Talebi Geri Çekildi | Orijinal talep sahibinin talebi tam olarak işlenmeden önce iptal etmesi veya silmesiyle meydana gelir. Bu genellikle, talep kaleminde bir silme işareti ayarlayan açık bir eylemdir. | ||
| Neden önemli Geri çekmeleri izlemek, talep oynaklığını ve iptal nedenlerini anlamaya yardımcı olur. Bu, talep için nihai bir durumu temsil eder ve daha fazla işlemenin önüne geçer. Nereden alınır EBAN tablosundaki silme göstergesi (LOEKZ) alanı bir talep kalemi için ayarlandığında açıkça yakalanır. Değişiklik CDHDR/CDPOS'a kaydedilir. Yakala EBAN tablosundaki silme göstergesinin (LOEKZ) 'L' olarak ayarlandığı Event tipi explicit | |||
| Satın Alma Talebi Onay İçin Gönderildi | Talep sahibinin talebi resmi olarak gönderdiği anı temsil eder ve onay `iş akışı`nı tetikler. Bu, genellikle talebin serbest bırakma stratejisi belirlendiğinde ve durum 'Onay Sürecinde' olarak değiştiğinde çıkarılır. | ||
| Neden önemli Bu, onay döngü süresi KPI'ları için saati başlatan kritik bir kilometre taşıdır. Oluşturma ve gönderme arasındaki süreyi analiz etmek, talep hazırlık aşamasındaki gecikmeleri ortaya çıkarabilir. Nereden alınır EBAN tablosu için değişiklik belgelerinden (CDHDR/CDPOS), özellikle serbest bırakma stratejisi alanları (örn. FRGST) doldurulduğunda veya genel durum (PROCSTAT) bir onay sürecinde olduğunu yansıtacak şekilde değiştiğinde çıkarılır. Yakala Onay Event tipi inferred | |||
| Tedarik Kaynağı Atandı | Bir alıcının onaylanmış bir talep kalemine belirli bir tedarikçi, sözleşme veya bilgi kaydı atama eylemini temsil eder. Bu, talebi satın alma siparişi oluşturmaya hazırlamada önemli bir adımdır. | ||
| Neden önemli Bu activity, onay ile sipariş arasındaki boşluğu kapatır. Bir kaynak atama süresini ölçmek, alıcının iş yükündeki ve kaynak bulma verimliliğindeki gecikmeleri belirlemeye yardımcı olur. Nereden alınır EBAN tablosundaki sabit tedarikçi (LIFNR), bilgi kaydı (INFNR) veya sözleşme (KONNR) gibi tedarik kaynağıyla ilgili alanlara bir değer girilmesinden çıkarılır. Yakala EBAN tablosundaki LIFNR, INFNR veya KONNR gibi alanların değişim dokümanları aracılığıyla doldurulmasını izleyin. Event tipi inferred | |||
Veri Çekim Kılavuzları
Adımlar
- Ön Koşullar: Gerekli 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. Bu genellikle S_TABU_NAM gibi nesneler için izinleri ve veri görüntüleme araçlarına erişimi içerir.
- Sistem Erişim Yöntemini Belirleyin: SQL sorgularını yürütmek için SAP S/4HANA veritabanına nasıl bağlanacağınızı belirleyin. Yaygın araçlar arasında SAP HANA Studio, ADT (ABAP Development Tools) ile Eclipse IDE veya SAP HANA veritabanı istemcisi aracılığıyla bağlanabilen DBeaver gibi üçüncü taraf SQL istemcileri bulunur.
- SQL Sorgusunu İnceleyin: Sağlanan SQL betiğine aşina olun. Farklı faaliyetler için
veritoplamak üzere Ortak Tablo İfadeleri (CTE'ler) kullanır ve birleşik bir olay günlüğü oluşturmak için bunları birleştirir. - Yer Tutucuları Özelleştirin: Sorgudaki yer tutucuları bulun ve değiştirin. Veri çıkarma dönemi için tarih aralığını (
[YYYY-MM-DD]formatında) ayarlamanız ve kuruluşunuz için ilgili şirket kodlarını ([Your Company Code]) belirtmeniz gerekecektir. - Sorguyu Yürütün: Tam, özelleştirilmiş SQL sorgusunu SAP S/4HANA veritabanına karşı çalıştırın. Veri hacmine ve seçilen tarih aralığına bağlı olarak, bu sorgunun yürütülmesi biraz zaman alabilir.
- İlk Veri İncelemesi: Sorgu tamamlandığında, çıktının ilk birkaç satırını inceleyin. PurchaseRequisitionId, ActivityName ve EventTime gibi tüm sütunların beklendiği gibi doldurulduğunu ve veri formatlarının doğru olduğunu kontrol edin.
- Veri Dönüşümünü Ele Alın: Sağlanan sorgu,
process miningiçin hazır bir formattaveriçıkarmak üzere tasarlanmıştır.CASTveCONCATfonksiyonları,veritürlerinin tutarlı olmasını sağlamak için kullanılır. Büyük bir yürütme sonrası dönüşüm gerekli olmamalıdır. - Olay Günlüğünü Dışa Aktarın: SQL istemcinizden tüm sonuç kümesini bir CSV dosyasına dışa aktarın. Karakter sorunlarını önlemek için dosya kodlamasının UTF-8 olarak ayarlandığından emin olun.
- Yüklemeye Hazırlanın: Bir
process miningaracına yüklemeden önce, CSV dosyasının doğru başlıklara (PurchaseRequisitionId,ActivityName,EventTimevb.) sahip olduğunu veEventTimeiçin tarih ve saat formatının hedef platform tarafından tutarlı ve desteklendiğini doğrulayın. - ProcessMind'e Yükleyin: Nihai CSV dosyasını ProcessMind projenize yükleyin.
PurchaseRequisitionId'ı Vaka Kimliği,ActivityName'i Aktivite veEventTime'ı Zaman Damgası olarak eşleştirerek projeyi yapılandırın.
Konfigürasyon
- Temel CDS Görünümleri: Veri çıkarma işlemi, ana talep verileri için öncelikli olarak
I_PurchaseRequisitionAPI01'i, değişiklikleri ve durum güncellemelerini takip etmek içinI_ChangeDocumentveI_ChangeDocumentItem'ı ve satın alma siparişlerine bağlantı içinI_PurchaseOrderItemAPI01'i kullanır. - Yetkilendirme: Sorguyu çalıştıran kullanıcının yukarıda bahsedilen CDS görünümlerine okuma erişimi olması gerekir. Gerekli roller ve yetkilendirmeler için SAP güvenlik ekibinizle iletişime geçin.
- Tarih Aralığı Filtrelemesi: Veri hacmini sınırlamak için talep oluşturma tarihi (
CreationDate) üzerinde bir tarih aralığı filtresi uygulamak kritik öneme sahiptir. İlk analiz için 3 ila 6 aylık bir veri aralığı önerilir. - Organizasyonel Filtreleme: Doğru iş birimi için süreci analiz ettiğinizden emin olmak için verileri
CompanyCode'a göre filtreleyin. Ayrıca, belirli tedarik süreçlerine (örneğin, standart mallar veya hizmetler) odaklanmak içinPurchaseRequisitionType'a göre filtreleme yapmayı da düşünebilirsiniz. - Değişiklik Belgesi Yapılandırması: 'Talep Düzeltildi' gibi faaliyetlerin ve çeşitli onay adımlarının yakalanması, SAP sisteminizdeki ilgili alanlar için değişiklik belgesi kaydının etkin olmasına bağlıdır. Bu olaylar eksikse, EBAN tablosu için sistem yapılandırmasını kontrol edin.
- Performans: Milyonlarca talebi olan çok büyük sistemler için, bu sorguyu uzun bir süre boyunca çalıştırmak sistem performansını etkileyebilir. Sorguyu yoğun olmayan saatlerde veya yakın zamanda yenilenmiş verilere sahip bir üretim dışı ortamda çalıştırmayı düşünün.
a Örnek Sorgu sql
WITH REQUISITIONS AS (
SELECT
PurchaseRequisition,
PurchaseRequisitionType,
PurReqnDescription,
CreatedByUser,
CreationDate,
CAST(CONCAT(CreationDate, 'T', LPAD(CreationTime, 6, '0')) AS TIMESTAMP) AS CreationTimestamp,
SourceOfSupplyIsAssigned
FROM I_PurchaseRequisitionAPI01
WHERE CreationDate BETWEEN '[YYYY-MM-DD]' AND '[YYYY-MM-DD]'
AND CompanyCode IN ('[Your Company Code]')
),
CHANGE_DOCS AS (
SELECT
ObjectValue AS PurchaseRequisition,
UserName,
CAST(CONCAT(CreationDate, 'T', LPAD(CreationTime, 6, '0')) AS TIMESTAMP) AS ChangeTimestamp,
FieldName,
ValueNew,
ValueOld
FROM I_ChangeDocument AS H
JOIN I_ChangeDocumentItem AS I
ON H.ChangeDocument = I.ChangeDocument
WHERE H.Objectclass = 'EINKBELEG'
AND H.CreationDate BETWEEN '[YYYY-MM-DD]' AND '[YYYY-MM-DD]'
)
-- 1. Requisition Created
SELECT
R.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Created' AS "ActivityName",
R.CreationTimestamp AS "EventTime",
R.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM REQUISITIONS AS R
JOIN I_PurchaseRequisitionItemAPI01 AS I
ON R.PurchaseRequisition = I.PurchaseRequisition
UNION ALL
-- 2. Requisition Submitted For Approval & 5. Approval Step Started
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
CASE
WHEN C.ValueOld = ''
THEN 'Requisition Submitted For Approval'
ELSE 'Approval Step Started'
END AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
R.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R
ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I
ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew != ''
UNION ALL
-- 3. Requisition Amended
SELECT DISTINCT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Amended' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName IN ('MENGE', 'PREIS', 'MATNR', 'LIFNR', 'INFNR')
AND C.ChangeTimestamp > R.CreationTimestamp
UNION ALL
-- 4. Approval Reset
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Approval Reset' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueOld != '' AND C.ValueNew = ''
UNION ALL
-- 6. Approval Step Completed
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Approval Step Completed' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew IN ('1', '2', '3', '4', '5', '6', '7') -- Adjust release codes as per your config
UNION ALL
-- 7. Requisition Approved
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Approved' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGKE' AND C.ValueNew = '2' -- Final release indicator '2' is common for approved
UNION ALL
-- 8. Requisition Rejected
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Rejected' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew = 'B' -- 'B' for Blocked/Rejected is a common setting
UNION ALL
-- 9. Requisition Withdrawn
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Withdrawn' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'LOEKZ' AND C.ValueNew = 'X'
UNION ALL
-- 10. Source of Supply Assigned
SELECT DISTINCT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Source of Supply Assigned' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName IN ('LIFNR', 'INFNR') AND C.ValueNew != ''
AND C.ChangeTimestamp > R.CreationTimestamp
UNION ALL
-- 11. Purchase Order Created
SELECT DISTINCT
I.PurchaseRequisition AS "PurchaseRequisitionId",
'Purchase Order Created' AS "ActivityName",
CAST(CONCAT(H.PurchaseOrderDate, 'T', LPAD(H.CreationTime, 6, '0')) AS TIMESTAMP) AS "EventTime",
H.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.OrderPriceUnit * I.OrderQuantity AS "RequisitionAmount",
'PO Created' AS "RequisitionStatus"
FROM I_PurchaseOrderItemAPI01 AS I
JOIN I_PurchaseOrderAPI01 AS H
ON I.PurchaseOrder = H.PurchaseOrder
JOIN REQUISITIONS AS R
ON I.PurchaseRequisition = R.PurchaseRequisition
WHERE I.PurchaseRequisition IS NOT NULL AND I.PurchaseRequisition != ''
UNION ALL
-- 12. Requisition Closed
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Closed' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'EBAKZ' AND C.ValueNew = 'X' Adımlar
- Ön Koşullar: Gerekli 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. Bu genellikle S_TABU_NAM gibi nesneler için izinleri ve veri görüntüleme araçlarına erişimi içerir.
- Sistem Erişim Yöntemini Belirleyin: SQL sorgularını yürütmek için SAP S/4HANA veritabanına nasıl bağlanacağınızı belirleyin. Yaygın araçlar arasında SAP HANA Studio, ADT (ABAP Development Tools) ile Eclipse IDE veya SAP HANA veritabanı istemcisi aracılığıyla bağlanabilen DBeaver gibi üçüncü taraf SQL istemcileri bulunur.
- SQL Sorgusunu İnceleyin: Sağlanan SQL betiğine aşina olun. Farklı faaliyetler için
veritoplamak üzere Ortak Tablo İfadeleri (CTE'ler) kullanır ve birleşik bir olay günlüğü oluşturmak için bunları birleştirir. - Yer Tutucuları Özelleştirin: Sorgudaki yer tutucuları bulun ve değiştirin. Veri çıkarma dönemi için tarih aralığını (
[YYYY-MM-DD]formatında) ayarlamanız ve kuruluşunuz için ilgili şirket kodlarını ([Your Company Code]) belirtmeniz gerekecektir. - Sorguyu Yürütün: Tam, özelleştirilmiş SQL sorgusunu SAP S/4HANA veritabanına karşı çalıştırın. Veri hacmine ve seçilen tarih aralığına bağlı olarak, bu sorgunun yürütülmesi biraz zaman alabilir.
- İlk Veri İncelemesi: Sorgu tamamlandığında, çıktının ilk birkaç satırını inceleyin. PurchaseRequisitionId, ActivityName ve EventTime gibi tüm sütunların beklendiği gibi doldurulduğunu ve veri formatlarının doğru olduğunu kontrol edin.
- Veri Dönüşümünü Ele Alın: Sağlanan sorgu,
process miningiçin hazır bir formattaveriçıkarmak üzere tasarlanmıştır.CASTveCONCATfonksiyonları,veritürlerinin tutarlı olmasını sağlamak için kullanılır. Büyük bir yürütme sonrası dönüşüm gerekli olmamalıdır. - Olay Günlüğünü Dışa Aktarın: SQL istemcinizden tüm sonuç kümesini bir CSV dosyasına dışa aktarın. Karakter sorunlarını önlemek için dosya kodlamasının UTF-8 olarak ayarlandığından emin olun.
- Yüklemeye Hazırlanın: Bir
process miningaracına yüklemeden önce, CSV dosyasının doğru başlıklara (PurchaseRequisitionId,ActivityName,EventTimevb.) sahip olduğunu veEventTimeiçin tarih ve saat formatının hedef platform tarafından tutarlı ve desteklendiğini doğrulayın. - ProcessMind'e Yükleyin: Nihai CSV dosyasını ProcessMind projenize yükleyin.
PurchaseRequisitionId'ı Vaka Kimliği,ActivityName'i Aktivite veEventTime'ı Zaman Damgası olarak eşleştirerek projeyi yapılandırın.
Konfigürasyon
- Temel CDS Görünümleri: Veri çıkarma işlemi, ana talep verileri için öncelikli olarak
I_PurchaseRequisitionAPI01'i, değişiklikleri ve durum güncellemelerini takip etmek içinI_ChangeDocumentveI_ChangeDocumentItem'ı ve satın alma siparişlerine bağlantı içinI_PurchaseOrderItemAPI01'i kullanır. - Yetkilendirme: Sorguyu çalıştıran kullanıcının yukarıda bahsedilen CDS görünümlerine okuma erişimi olması gerekir. Gerekli roller ve yetkilendirmeler için SAP güvenlik ekibinizle iletişime geçin.
- Tarih Aralığı Filtrelemesi: Veri hacmini sınırlamak için talep oluşturma tarihi (
CreationDate) üzerinde bir tarih aralığı filtresi uygulamak kritik öneme sahiptir. İlk analiz için 3 ila 6 aylık bir veri aralığı önerilir. - Organizasyonel Filtreleme: Doğru iş birimi için süreci analiz ettiğinizden emin olmak için verileri
CompanyCode'a göre filtreleyin. Ayrıca, belirli tedarik süreçlerine (örneğin, standart mallar veya hizmetler) odaklanmak içinPurchaseRequisitionType'a göre filtreleme yapmayı da düşünebilirsiniz. - Değişiklik Belgesi Yapılandırması: 'Talep Düzeltildi' gibi faaliyetlerin ve çeşitli onay adımlarının yakalanması, SAP sisteminizdeki ilgili alanlar için değişiklik belgesi kaydının etkin olmasına bağlıdır. Bu olaylar eksikse, EBAN tablosu için sistem yapılandırmasını kontrol edin.
- Performans: Milyonlarca talebi olan çok büyük sistemler için, bu sorguyu uzun bir süre boyunca çalıştırmak sistem performansını etkileyebilir. Sorguyu yoğun olmayan saatlerde veya yakın zamanda yenilenmiş verilere sahip bir üretim dışı ortamda çalıştırmayı düşünün.
a Örnek Sorgu sql
WITH REQUISITIONS AS (
SELECT
PurchaseRequisition,
PurchaseRequisitionType,
PurReqnDescription,
CreatedByUser,
CreationDate,
CAST(CONCAT(CreationDate, 'T', LPAD(CreationTime, 6, '0')) AS TIMESTAMP) AS CreationTimestamp,
SourceOfSupplyIsAssigned
FROM I_PurchaseRequisitionAPI01
WHERE CreationDate BETWEEN '[YYYY-MM-DD]' AND '[YYYY-MM-DD]'
AND CompanyCode IN ('[Your Company Code]')
),
CHANGE_DOCS AS (
SELECT
ObjectValue AS PurchaseRequisition,
UserName,
CAST(CONCAT(CreationDate, 'T', LPAD(CreationTime, 6, '0')) AS TIMESTAMP) AS ChangeTimestamp,
FieldName,
ValueNew,
ValueOld
FROM I_ChangeDocument AS H
JOIN I_ChangeDocumentItem AS I
ON H.ChangeDocument = I.ChangeDocument
WHERE H.Objectclass = 'EINKBELEG'
AND H.CreationDate BETWEEN '[YYYY-MM-DD]' AND '[YYYY-MM-DD]'
)
-- 1. Requisition Created
SELECT
R.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Created' AS "ActivityName",
R.CreationTimestamp AS "EventTime",
R.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM REQUISITIONS AS R
JOIN I_PurchaseRequisitionItemAPI01 AS I
ON R.PurchaseRequisition = I.PurchaseRequisition
UNION ALL
-- 2. Requisition Submitted For Approval & 5. Approval Step Started
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
CASE
WHEN C.ValueOld = ''
THEN 'Requisition Submitted For Approval'
ELSE 'Approval Step Started'
END AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
R.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R
ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I
ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew != ''
UNION ALL
-- 3. Requisition Amended
SELECT DISTINCT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Amended' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName IN ('MENGE', 'PREIS', 'MATNR', 'LIFNR', 'INFNR')
AND C.ChangeTimestamp > R.CreationTimestamp
UNION ALL
-- 4. Approval Reset
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Approval Reset' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueOld != '' AND C.ValueNew = ''
UNION ALL
-- 6. Approval Step Completed
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Approval Step Completed' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew IN ('1', '2', '3', '4', '5', '6', '7') -- Adjust release codes as per your config
UNION ALL
-- 7. Requisition Approved
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Approved' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGKE' AND C.ValueNew = '2' -- Final release indicator '2' is common for approved
UNION ALL
-- 8. Requisition Rejected
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Rejected' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew = 'B' -- 'B' for Blocked/Rejected is a common setting
UNION ALL
-- 9. Requisition Withdrawn
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Withdrawn' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'LOEKZ' AND C.ValueNew = 'X'
UNION ALL
-- 10. Source of Supply Assigned
SELECT DISTINCT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Source of Supply Assigned' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName IN ('LIFNR', 'INFNR') AND C.ValueNew != ''
AND C.ChangeTimestamp > R.CreationTimestamp
UNION ALL
-- 11. Purchase Order Created
SELECT DISTINCT
I.PurchaseRequisition AS "PurchaseRequisitionId",
'Purchase Order Created' AS "ActivityName",
CAST(CONCAT(H.PurchaseOrderDate, 'T', LPAD(H.CreationTime, 6, '0')) AS TIMESTAMP) AS "EventTime",
H.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.OrderPriceUnit * I.OrderQuantity AS "RequisitionAmount",
'PO Created' AS "RequisitionStatus"
FROM I_PurchaseOrderItemAPI01 AS I
JOIN I_PurchaseOrderAPI01 AS H
ON I.PurchaseOrder = H.PurchaseOrder
JOIN REQUISITIONS AS R
ON I.PurchaseRequisition = R.PurchaseRequisition
WHERE I.PurchaseRequisition IS NOT NULL AND I.PurchaseRequisition != ''
UNION ALL
-- 12. Requisition Closed
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Closed' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'EBAKZ' AND C.ValueNew = 'X'