SAP Business Objects’te zamanlanan (schedule) raporların ilgili işler bittikten sonra çalışmasını sağlamak amacıyla kullanılırlar. Flag (bayrak, 1 ve 0) mantığı ile çalışırlar. İş zekası (veri mabarı) alanında çoğunlukla ilgili raporun ilgili etl’den sonra çalışmasını sağlamak amacıyla kullanılırlar. SAP BO 4.0 ve üzeri versiyonlarında 3 event (olay) çeşidi vardır.
1) Custom Event: Event’in tetiklenmesi elle sağlanır. Sağ tık trigger event.
2) File Event: Bir dosyanın ilgi klasörde olup olmamasına göre (dosya lgili klasörde varsa 1 yoksa 0) tetiklenir. Raporların çalışması için gerekli etl işleri bittiğinde etl makinesi ilgili klasörde bir dosya oluşturabilir.
3) Schedule event: raporların sırayla çalıştırılması için de kullanılabilir, etl işlerinin bitip bitmediğini veritabanından kontrol etmek içinde kullanılabilir. Bir rapor çalışıp bittiğinde tetiklenir. Event’in tanımına göre raporun başarılı, başarısız ya da her iki durumda da tetiklenecek şekilde çalışabilir.
Schedule event kullanarak etl loglarını veritabanından kontrol ederek ilgili raporları tetiklemek için aşağıdaki yol izlenebilir. Her 15 dakikada bir çalışmaya zamanlanmış ve sorgusu aşağıdaki gibi olan bir rapor hazırlanır. Rapor başarılı bittiğinde (schedule event property: success) ilgili event tetiklenir. Aşağıdaki sorgu eğer o gün için etl kaydı atılmamışsa başarısız olur (hata alır) atılmışsa da başarılı olur (hata almadan çalışır) ve ilgili olay (event) maksimum 15 dakika içinde tetiklenmiş olur. (Sorgu bugünün etl kaydı atılmadan başarısız, atıldıktan sonra başarılı olması şartıyla istenildiği gibi düzenlenebilir.)
select case when cnt >= 1 then 1 else 'FAILURE' end success_or_failure -- hesaplanan bu alan için rapor objesinin veri tipi sayıdır (number) from ( select count(etl_name, log_date) cnt from etl.etl_log where trunc(log_date) = trunc(sysdate) )
Kaynaklar:
sap bo blog yazısı
sap bo forum sorusu